ubuntu-base-16.04-core-armhf enable systemctl/systemd/dev-ttyAMA0

论坛 期权论坛 脚本     
匿名技术用户   2021-1-5 00:46   11   0

####### Note Ubuntu18-ARM default systemd already has serial-getty, so no need to do a customized getty@ttyAMA0 like Ubuntu16.

For ubuntu-base-16.04-core-armhf enable systemctl/systemd/dev-ttyAMA0

1. buildroot/lfs 可以不使用systemd,

2. Ubuntu/Debian 依赖systemd . 内核编译需要CONFIG_FHANDLE

Refer to https://github.com/systemd/systemd/blob/master/README

REQUIREMENTS:
Linux kernel >= 3.13
Linux kernel >= 4.2 for unified cgroup hierarchy support

Kernel Config Options:
CONFIG_DEVTMPFS
CONFIG_CGROUPS (it is OK to disable all controllers)
CONFIG_INOTIFY_USER
CONFIG_SIGNALFD
CONFIG_TIMERFD
CONFIG_EPOLL
CONFIG_NET
CONFIG_SYSFS
CONFIG_PROC_FS
CONFIG_FHANDLE (libudev, mount and bind mount handling)

Kernel crypto/hash API
CONFIG_CRYPTO_USER_API_HASH
CONFIG_CRYPTO_HMAC
CONFIG_CRYPTO_SHA256

udev will fail to work with the legacy sysfs layout:
CONFIG_SYSFS_DEPRECATED=n

3. 默认Ubuntu 启动 tty1/console

4. ARM 默认 ttyAMA0串口需要

[ TIME ] Timed out waiting for device dev-ttyAMA0.device.
[DEPEND] Dependency failed for Serial Getty on ttyAMA0.

lake@localhost:~/local/lfs/ubuntu-base-16.04-core-armhf$ ls -l etc/systemd/system/getty.target.wants/
total 0
lrwxrwxrwx 1 root root 34 Apr 21 2016 getty@tty1.service -> /lib/systemd/system/getty@.service
lake@localhost:~/local/lfs/ubuntu-base-16.04-core-armhf$ cd etc/systemd/system/getty.target.wants/
lake@localhost:~/local/lfs/ubuntu-base-16.04-core-armhf/etc/systemd/system/getty.target.wants$ ls
getty@tty1.service
lake@localhost:~/local/lfs/ubuntu-base-16.04-core-armhf/etc/systemd/system/getty.target.wants$ ls -l
total 0
lrwxrwxrwx 1 root root 34 Apr 21 2016 getty@tty1.service -> /lib/systemd/system/getty@.service

lake@localhost:~/local/lfs/ubuntu-base-16.04-core-armhf/etc/systemd/system/getty.target.wants$ sudo mv getty@tty1.service getty@ttyAMA0.service
lake@localhost:~/local/lfs/ubuntu-base-16.04-core-armhf/etc/systemd/system/getty.target.wants$

~/local/lfs/ubuntu-base-16.04-core-armhf$ ls -l etc/systemd/system/getty.target.wants
total 0
lrwxrwxrwx 1 root root 34 Apr 21 2016 getty@ttyAMA0.service -> /lib/systemd/system/getty@.service

## Enable both ttyAMA0 and default tty1

$ubuntu-base-16.04-core-armhf/etc/systemd/system/getty.target.wants$ sudo ln -s /lib/systemd/system/getty@.service getty@tty1.service

ln -s lib/systemd/system/getty@.service etc/systemd/system/getty.target.wants/getty@ttyAMA0.service

ubuntu-base-16.04-core-armhf/etc/systemd/system/getty.target.wants$ ls -l
total 0
lrwxrwxrwx 1 root root 34 Apr 21 2016 getty@tty1.service -> /lib/systemd/system/getty@.service
lrwxrwxrwx 1 root root 34 Dec 31 01:03 getty@ttyAMA0.service -> /lib/systemd/system/getty@.service

[ OK ] Started /etc/rc.local Compatibility.
[ OK ] Started Permit User Sessions.
[ OK ] Started LSB: Set the CPU Frequency Scaling governor to "ondemand".
[ OK ] Started Getty on tty5.
[ OK ] Started Getty on tty4.
[ OK ] Started Getty on tty3.
[ OK ] Started Getty on tty2.
[ OK ] Started Getty on ttyAMA0.
[ OK ] Started Getty on tty6.
[ OK ] Started getty on tty2-tty6 if dbus and logind are not available.

Ubuntu 16.04 LTS localhost.localdomain ttyAMA0

localhost login: root
Password:

root@armUbuntu16:/# apt list --installed |grep systemd

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

libsystemd0/xenial,now 229-4ubuntu4 armhf [installed]
systemd/xenial,now 229-4ubuntu4 armhf [installed]
systemd-sysv/xenial,now 229-4ubuntu4 armhf [installed]
root@armUbuntu16:$

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:7942463
帖子:1588486
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP