用qemu模拟启动过程中遇到这样的提示信息,
[ TIME ] Timed out waiting for device dev-ttyS1.device.
[DEPEND] Dependency failed for Serial Getty on ttyS1.
[ TIME ] Timed out waiting for device dev-ttyAMA0.device.
[DEPEND] Dependency failed for Serial Getty on ttyAMA0.
[ TIME ] Timed out waiting for device dev-ttyS0.device.
[DEPEND] Dependency failed for Serial Getty on ttyS0.
具体应该是卡在 内核启动的第一个init进程在按照/etc/inittab配置文件执行这三行时
ttyS0::respawn:/sbin/getty 115200 ttyS0
ttyS1::respawn:/sbin/getty 115200 ttyS1
ttyAMA0::respawn:/sbin/getty 115200 ttyAMA0
执行失败,借此机会也理清了,/dev/ttyn、/dev/ttySn、/dev/condole
网上搜索了一番,是下面这样解决的
参考:ubuntu15.04根文件系统进不了串口控制台 - Firefly-RK3288 - Firefly开源社区ubuntu15.04根文件系统进不了串口控制台 (t-firefly.com)
cp /lib/systemd/system/serial-getty@.service /lib/systemd/system/serial-getty@ttyS2.service
ln -s /lib/systemd/system/serial-getty@ttyS2.service /etc/systemd/system/getty.target.wants/
再修改/lib/systemd/system/serial-getty@ttyS2.service把里面的“%i.device”改为“%i”
但我所使用的根文件系统下面并没目录/etc/systemd/system/getty.target.wants/
就尝试了修改文件 /lib/systemd/system/serial-getty@.service
把文件里面的“%i.device”改为“%i”,结果误打误撞的就可以了,虽说错误解决了,但改的不明所以,看看以后能知其然不能。
-----------------
找到了这相关介绍,属于udev规则+Systemd服务这方面的内容,上面的内容属于两者结合起来的应用范畴,
在udev的规则里加上这样的 TAG+="systemd"配置,作用是表明该规则触发的动作由systemd管理,即触发的动作是systemd服务,在ENV{SYSTEMD_WANTS}="xxx.service"指定运行的systemed服务。设备若在udev规则里加了TAG+="systemd"配置,就会有一个xxx.device与之对应。
参考: