저는 임베디드 Linux를 사용하고 있으며 initramfs 없이 커널을 컴파일했는데 커널이 제대로 부팅되었습니다. 그런데 rcS
내가 넣은 파일을 찾을 수 없다고 하는데 /etc/init.d/rcS
내 rcS
파일이 다음과 같습니다
#!/bin/sh
echo "Hello world"
파일 시스템이 커널에 의해 마운트된 후 Hello world
.
이 파일이 필요한 이유와 이러한 시작 스크립트를 특정 순서로 시작하는 방법을 알려주거나 설명할 수 있는 사람이 있습니까?
비지박스가 포함된 Raspberry Pi를 사용하고 있는데 잘 작동하지만 시작 단계에서 멈춰 있습니다.
답변1
/etc/init.d/rcS
시작 시 다른 프로그램을 실행할 수 있습니다. 일반적인 용도는 추가 파일 시스템을 마운트하고(현재 루트 파일 시스템만 마운트됨) 일부 데몬을 시작하는 것입니다.
일반적으로 rcS
즉석에서 쉽게 사용자 정의할 수 있는 쉘 스크립트입니다. 일반적인 배포판 rcS
에서는 추가 스크립트가 실행되는 간단한 스크립트를 생성합니다 /etc/rcS.d
(정확한 위치는 배포판에 따라 다름). 이를 통해 각 데몬을 자체 init 스크립트로 패키징할 수 있습니다. 이 파일은 시스템 관리자가 작성한 명령용으로 존재하는 경우 /etc/rc.local
에도 실행됩니다 .rcS
( 설정) /etc/init.d/rcS
에 나열된 init의 전통적인 SysVinit 구현과 함께 . BusyBox를 사용하면 하나를 제공할 수도 있지만 (함수가 컴파일된 경우), 무엇보다도 이를 읽을 수 있도록 하는 기본 제공 기본값이 있습니다 ./etc/inittab
sysinit
inittab
/etc/init.d/rcS
답변2
/etc/init.d/rcS 일반적으로 /etc/rcS.d/에서 스크립트를 시작합니다.
이 내 꺼야:
$ cat /etc/init.d/rcS
#! /bin/sh
#
# rcS
#
# Call all S??* scripts in /etc/rcS.d/ in numerical/alphabetical order
#
exec /etc/init.d/rc S
$ ls /etc/rcS.d/
README S25brltty S37apparmor S55urandom S70x11-common