私はbusyboxを使って組み込みLinuxシステム(kernel-5.10.24)を開発していますinit
。
カーネルロギングはシリアルコンソールで無効になり、console=
カーネルコマンドラインで設定する必要はありません。 initスクリプトによって開始されたログも同様です/etc/init.d/rcS
。
これで/etc/inittab
設定は次のようになります。システムへの自動ルートログインを有効にしたいと思います。
# /etc/inittab
#
# Copyright (C) 2001 Erik Andersen <[email protected]>
#
# Note: BusyBox init doesn't support runlevels. The runlevels field is
# completely ignored by BusyBox init. If you want runlevels, use
# sysvinit.
#
# Format for each entry: <id>:<runlevels>:<action>:<process>
#
# id == tty to run on, or empty for /dev/console
# runlevels == ignored
# action == one of sysinit, respawn, askfirst, wait, and once
# process == program to run
# now run any rc scripts
::sysinit:/etc/init.d/rcS
# Put a getty on the serial port
##OK##::respawn:/sbin/getty -L ttyS0 115200 vt100
ttyS0::respawn:-/bin/login -f root
#no login
#::respawn:-/bin/sh
# Stuff to do for the 3-finger salute
::ctrlaltdel:/sbin/reboot
# Stuff to do before rebooting
null::shutdown:/etc/init.d/rcK
null::shutdown:/bin/umount -a -r
null::shutdown:/sbin/swapoff -a
ttyS0::respawn:-/bin/login -f root
行を設定しましたが、/etc/inittab
シリアルコンソールにログインプロンプトが表示されません。
それでは、カーネルコマンドラインで有効なコンソールを設定せずに正しいシリアルコンソールからシステムに自動的にログインするにはどうすればよいですか?
または、ユーザースペースでシステムコンソールを使用せずに動的に設定する方法はありますかgetty -L
?
答え1
Googleが何度も検索してテストしたところ、ついにこのリンクで最初の質問に対する答えが見つかりました。https://www.vjiot.net/typecho/index.php/archives/50/、それは来る。
では、/etc/inittab
次の行を使用してください。
ttyS0::respawn:/sbin/getty -L ttyS0 115200 -n -l /bin/autologin
/bin/autologin
以下のように生成し、
#!/bin/sh
/bin/login -f root
このように変更すると、ルート自動ログインが完了します!
2番目の質問「Busyboxのinitはコンソールをどのように設定/使用し、ユーザースペースでコンソールを動的に設定できますか?」への答えを見つける必要があります。