busybox inittabでコンソール自動ログインを設定するには?

busybox inittabでコンソール自動ログインを設定するには?

私は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はコンソールをどのように設定/使用し、ユーザースペースでコンソールを動的に設定できますか?」への答えを見つける必要があります。

関連情報