저는 Linux 4.1을 실행 중이고 간단한 비지박스 환경으로 부팅했습니다. Busybox 및 Shadow 패키지는 정적으로 구축되어 내 rootFS에 설치됩니다. /sbin/init에는 Busybox가 사용되고, /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