ISOLINUX 라이브 부팅 디스크 - 메뉴에서 스크립트 실행

ISOLINUX 라이브 부팅 디스크 - 메뉴에서 스크립트 실행

Linux 부팅 디스크를 만들려고 합니다(작은 크기와 터미널 전용 인터페이스 때문에 Fennix를 선택했습니다). 이제 부팅 디스크가 작동하고 Linux에 로드되며 내부 HDD 등을 마운트할 수 있으므로 모두 좋습니다. 그러나 ISOLINUX.CFG를 통해 작업하는 메뉴가 있지만 각 메뉴 선택에 스크립트를 첨부하고 싶습니다. 스크립트는 라이브 디스크에서 HDD로 2개의 파일을 복사합니다. 메뉴를 사용하여 스크립트를 실행하는 데 어려움을 겪고 있습니다. init= 디스크에서 스크립트 파일을 찾지 못하는 것 같습니다(액세스하려면 스크립트 파일을 어디에 배치해야 할지 모르겠고 여러 디렉터리를 시도했습니다).

아래 메뉴 옵션 예

라벨 핀닉스

메뉴 라벨 설치 업데이트

텍스트 도움말

2개의 ini 파일을 하드 드라이브에 복사합니다.

끝부분

커널 boot/x86/linux init=copy1.bs

APPEND initrd=boot/x86/initrd.xz vga=791 nomodeset Quiet

누구든지 부팅한 후 LiveCD에서 파일에 액세스하는 방법과 선택 시 이러한 스크립트 파일에 액세스하기 위해 메뉴를 업데이트할 수 있는 방법에 대해 올바른 방향을 알려줄 수 있습니까?

위의 내용이 의미가 있기를 바랍니다.

감사해요!

답변1

에서 isolinux.cfg부팅 옵션은 KERNEL 라인이 아닌 APPEND 라인으로 이동합니다. 따라서 init=copy1.bs대신 APPEND 라인으로 이동해야 합니다.

그리고 옵션을 사용하는 경우 init=이는 쉘 스크립트를 프로세스 #1로 실행하는 것을 의미합니다. 예를 들어 여러 가상 콘솔로 일반 환경을 설정하는 대신 해당 스크립트 하나만 실행하고 해당 스크립트가 종료되면 커널은 프로세스 #1이 종료되면서 패닉(=충돌)이 발생합니다.

Finnix initrd 파일이 얼마나 정확하게 구성되었는지에 따라 init=옵션을 사용하면 실제로 유용한 작업을 수행하기 전에 Finnix 시작 스크립트의 일부 또는 전체 기능을 복제해야 하는 상황에서 스크립트가 시작될 수도 있습니다.

대신 자신만의 사용자 정의 부팅 매개변수를 만들고 싶을 수도 있습니다. 부팅 매개변수는 /proc/cmdline커널에 알려지지 않은 경우에도 표시되며, 를 읽고 /proc/cmdline거기에서 사용자 정의 매개변수 값을 선택한 다음 이를 사용하여 선택한 위치에서 다른 스크립트를 실행할 수 있습니다. . 이 접근 방식은 표준 init=매개변수를 사용하는 것보다 디버그하기가 더 쉬울 수 있습니다.

Finnix 루트 파일 시스템이 finnix/arch/x86/root.img파일 내부에 있는 것으로 보입니다. 지금은 완전히 분석할 시간이 없지만 initrd.xzRAM 디스크를 설정하고 거기에 있는 내용을 로드하여 root.imgFinnix를 사용하는 동안 CD를 꺼낼 수 있다고 추측합니다.

파일 내부에 스크립트를 가져오려면 root.img이미지 파일(squashfs 파일 시스템 이미지)을 마운트하고 내용을 다른 디렉터리에 복사한 다음 해당 파일에 파일을 추가한 다음 mksquashfs(패키지에서 squashfs-tools) 명령을 사용하여 새 이미지를 만듭니다. 파일.

관련 정보