내가 사용하는 PXE 이미지를 구성하는 사용자 정의 파일이 있습니다 vmlinuz
. initrd
이 initram 이미지가 주어지면 ISO에 해당하는 이미지를 만들 수 있는 방법이 있습니까?
genisoimage
나는 도구에서 명백한 것을 볼 수 없습니다 mkisofs
. 제가 뭔가를 놓치고 있는 걸까요? 아니면 제가 성취하려는 것이 말이 되지 않는 걸까요?
답변1
첫 번째 질문은 UEFI 또는 기존 BIOS 시스템을 부팅합니까?입니다. 아니면 둘 다일까요?
기존 BIOS 시스템의 경우 ISO9660 파일 시스템 부팅 사양(El Torito)을 충족하고 Linux를 부팅할 수 있는 부트 로더가 필요합니다.운영 체제.
부트로더에 대한 구성 파일을 작성하고 및 필요한 커널 부팅 옵션을 제공하도록 지시한 다음 vmlinuz
부트 initrd
로더에서 해당 구성 파일 vmlinuz
및 initrd
. ISO 이미지를 빌드하기 위한 El Torito 확장이 포함되어 있습니다.genisoimage
mkisofs
이렇게 하면 실제 또는 가상 CD/DVD로만 부팅할 수 있는 ISO 이미지가 제공됩니다.
ISO 이미지가 USB 스틱이나 기타 HDD 유사 미디어에 기록될 때 제대로 작동하려면 이미지 파일에 다른 구조 세트를 추가하여 유효한 부팅 가능한 HDD 이미지로도 해석될 수 있도록 해야 합니다. 이 프로세스는 isohybrid
이를 가능하게 한 도구의 이름을 따서 프로세스라고 부를 수 있습니다 . 현재와 같은 최신 ISO 이미지 생성 도구에는 xorriso
이 기능이 내장되어 있습니다.
UEFI의 경우 많은 일반적인 UEFI 펌웨어 구현이 ISO9660 파일 시스템을 처리하므로 Linux vmlinuz
및 파일을 로드할 수 initrd
있는 모든 UEFI 부트로더가 작동해야 합니다. 부트로더 파일을 찾을 수 있도록 부트로더를 ISO 파일 시스템에 넣기만 하면 됩니다 <ISO mountpoint>/EFI/boot/bootx64.efi
(64비트 x86 시스템을 부팅한다고 가정하고 UEFI는 다른 아키텍처에 대해 다른 부트로더 파일 이름을 갖습니다).
FAT32 파일 시스템 유형만 지원하지만 ISO9660/El Torito UEFI 구현에서 로드할 수 있는 부팅 가능 CD를 제공하기 위해 UEFI 부팅 파일이 포함된 FAT32 파일 시스템 이미지를 ISO 이미지에 포함할 수도 있습니다. 마찬가지로 ISO 이미지 생성 도구에는 이 작업을 수행하도록 지정하는 몇 가지 옵션이 필요하며 FAT32 파일 시스템 이미지도 제공해야 합니다.