나는 커널 (기본 옵션으로 컴파일 됨)과 BusyBox (기본 옵션 + 정적으로 컴파일 됨, 포함하여 모든 애플릿 포함 /sbin/init
)가 포함 된 작고 완벽하게 작동하는 라이브 Linux CD를 만들었습니다 . 내가 만들 수있는 어떤 문제도 없었다 initrd
채울를 /dev
, /proc
그리고 /sys
또한 내에 전혀 문제가 없었다 /init
쉘 스크립트.
최근에 BusyBox가 /etc/inittab
구성을 (적어도 어느 정도까지) 지원한다는 것을 읽었 으며 다음 중 하나를 수행하고 싶습니다.
- 내
/init
쉘 스크립트를 잊어 버리고/etc/inittab
구성 에 전적으로 의존하십시오 . /init
쉘 스크립트와/etc/inittab
구성을 모두 사용하십시오 .
이제 실제 문제- /etc/inittab
내 배포판이 부팅 될 때 완전히 무시되는 것 같습니다 . 증상은 다음과 같습니다.
- 내가 제거
/init
하고 떠날 때 나는/etc/inittab
커널 패닉으로 끝납니다. 내 가정은 커널이 실행되지 않는다는 것입니다/sbin/init
전혀, 또는 그/sbin/init
발견 (또는 읽기)하지 않습니다/etc/inittab
. - BusyBox 없이도 제대로 작동한다는 것을 읽었습니다
/etc/inittab
. 그래서 나는 둘 다 제거/init
하고/etc/inittab
커널 패닉을 다시 추측합니다. - 나는 실행하려고
/sbin/init
내 껍질로부터 포함 여러 추측 후exec /sbin/init
,setsid /sbin/init
그리고exec setsid /sbin/init
나는 커널 패닉으로 돌아가 셨습니다. / etc / inittab의 유무에 관계없이 파일 시스템에 존재합니다.
내 /init
쉘 스크립트 의 내용은 다음과 같습니다 .
#!/bin/sh
dmesg -n 1
mount -t devtmpfs none /dev
mount -t proc none /proc
mount -t sysfs none /sys
setsid cttyhack /bin/sh
이 시점 /etc/inittab
에서 구성이 실제로 작동하는지 알 수 있는 한 내용이 무엇인지 신경 쓰지 않습니다 . 나는 여기/etc/inittab
에서 찾은 정보를 기반으로 여러 구성을 시도했습니다 .
최소한 내 / etc / inittab에는 다음 한 줄만 포함되어 있습니다.
::sysinit:/bin/sh
다시-나는 커널 패닉으로 끝났고 /etc/inittab
무시 된 것 같습니다 .
내 작은 라이브 배포판을 BusyBox와 잘 작동시키는 방법에 대한 제안 /etc/inittab
은 높이 평가됩니다!
최신 정보:
- 그냥 명확하게하기 - 내가 하지 않는 나의 현재와 문제를 당황 커널이
/init
와없이 모두 쉘 스크립트/etc/inittab
. 모든 것이 잘 작동하고/bin/ash
콘솔이 잘 작동하며 예기치 않은 문제가 발생하지 않습니다. 유일한 문제는/etc/inittab
위에서 설명한 것처럼 완전히 무시 된다는 것 입니다. - Slax, Finnix 및 SysResCD의 세 가지 라이브 Linux 배포판을 조사했습니다. 그들 모두는 가지고
/init
있고 아무도 가지고 있지 않습니다/etc/inittab
. 또한 이 Wiki 기사/sbin/init
는 전혀 호출되지 않은 의심을 결론 짓 습니다.