我正在运行 Linux 4.1 并启动到一个简单的 busybox 环境。 Busybox 和 Shadow 软件包已构建为静态并安装在我的 rootFS 中。 Busybox 用于/sbin/init,shadow 的登录用于/bin/login。我使用makedevs创建/dev,并创建/etc/{group,shadow,passwd,inittab,rc}。
我将其安装在我的主板上,它启动后看起来一切正常,直到我按 Enter 登录。我发现文件 /bin/login 未找到。添加到我的 /etc/rc 脚本中,我可以看到 /bin/login 存在并且可执行。那么为什么系统找不到呢?
[ 3.875852] devtmpfs: mounted
[ 3.880023] Freeing unused kernel memory: 464K (c0994000 - c0a08000)
init started: BusyBox v1.26.2 (2018-08-16 15:09:07 EDT)
Got the init message
-rwxr-xr-x 1 0 0 43752 Nov 2 2018 /bin/login
Please press Enter to activate this console.
can't run '/bin/login': No such file or directory
Please press Enter to activate this console.
这是我的 /etc/inittab 的样子:
::sysinit:/etc/rc init
::askfirst:/bin/login
还有我的 /etc/rc 脚本:
#!/bin/sh
export PATH=/usr/sbin:/usr/bin:/sbin:/bin
echo "Got the init message"
mount -n -t proc proc /proc 2>/dev/null
mount -n -t sysfs sysfs /sys 2>/dev/null
mount -o remount,rw,sync /
ls -l /bin/login