Linux 부팅 디스크를 만들려고 하는데(크기가 작고 터미널 인터페이스만 있기 때문에 Fennix를 선택했습니다) 이제 부팅 디스크가 제대로 작동하고 Linux에 로드되고 내부 HDD 등을 마운트할 수 있습니다. 모든 것이 괜찮지만 내 메뉴는 ISOLINUX.CFG를 통해 작동하지만 라이브 디스크에서 HDD로 2개의 파일을 복사하는 스크립트를 각 메뉴 옵션에 첨부하고 싶습니다. 메뉴를 가져오는 데 어려움을 겪고 있습니다. 스크립트 시작 init= 디스크에서 스크립트 파일을 찾지 못하는 것 같습니다(액세스하기 위해 어디에 넣어야 할지 모르겠고 여러 디렉터리를 시도했습니다).
아래 메뉴 옵션의 예
피닉스 태그
메뉴 라벨 설치 업데이트
텍스트 도움말
2개의 ini 파일을 하드 드라이브에 복사하세요.
끝 텍스트
커널 시작/x86/linux init=copy1.bs
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/arch/x86/root.img
Finnix 루트 파일 시스템은 이 파일 내에 있는 것으로 보입니다 . 지금은 완전히 분석할 시간은 없지만, Finnix를 사용할 때 CD를 꺼낼 수 있도록 initrd.xz
RAM 디스크를 설정하고 내용을 로드하는 것으로 추측됩니다.root.img
스크립트를 root.img
파일에 넣으려면 이미지 파일(squashfs 파일 시스템 이미지)을 마운트하고 내용을 다른 디렉토리에 복사하고 여기에 파일을 추가한 다음 ( 패키지 mksquashfs
에서 ) 명령을 사용하여 새 파일을 생성해야 합니다. squashfs-tools
이미지 파일.