원래 5.3.0-26 커널에 대해 빌드된 사용자 정의 Ubuntu 18.04 기반 iso를 변경하려고 하는데 4.15.0-74 커널에 대해 빌드해야 합니다. Ubuntu 16.04를 설치하고 initrd 및 vmlinux를 빌드에 필요한 isolinux 파일과 함께 사용자 정의 iso의 4.15 빌드 폴더에 복사했습니다. 다음 xorriso 스크립트는 버전 5.3에서는 잘 작동하지만 버전 4.15에서는 실패합니다. 빌드 스크립트는 다음과 같습니다.
#! /bin/sh
############################
# Create the new ISO image #
############################
# The example names get mapped to their roles here
orig_iso="$HOME"/foxclone/foxclone025-01.iso
new_iso="$HOME"/foxclone/foxclone025-02-4.15.iso
new_files="$PWD"
mbr_template=isolinux/isohdpfx.bin
# Extract MBR template file to disk
dd if="$orig_iso" bs=1 count=432 of="$mbr_template"
xorriso -as mkisofs "$new_files" \
-o foxclone025-02-4.15.iso \
-isohybrid-mbr "$mbr_template"
-c isolinux/boot.cat \
-b isolinux/isolinux.bin \
-no-emul-boot -boot-load-size 4 -boot-info-table \
-eltorito-alt-boot \
-e boot/grub/efi.img \
-no-emul-boot \
-isohybrid-gpt-basdat \
-m grub.cfg
"$new_files"
Ubuntu 16.04 iso에는 isohdpfx.bin이 없어서 18.04의 ISO를 사용했습니다. 16.04 iso가 무엇을 가리키는지 모르겠습니다.
이는 4.15 파일에 대해 스크립트를 실행한 결과입니다.
larry@larry-Satellite-C55-A:~/foxclone/415iso$ sudo bash uefi.sh
[sudo] password for larry:
432+0 records in
432+0 records out
432 bytes copied, 0.00285789 s, 151 kB/s
xorriso 1.4.8 : RockRidge filesystem manipulator, libburnia project.
Drive current: -outdev 'stdio:foxclone025-02-4.15.iso'
Media current: stdio file, overwriteable
Media status : is blank
Media summary: 0 sessions, 0 data blocks, 0 data, 277g free
Added to ISO image: directory '/'='/home/larry/foxclone/415iso'
xorriso : UPDATE : 325 files added in 1 seconds
xorriso : UPDATE : 325 files added in 1 seconds
xorriso : NOTE : Copying to System Area: 432 bytes from file '/home/larry/foxclone/415iso/isolinux/isohdpfx.bin'
libisofs: MISHAP : Cannot patch isolinux boot image
xorriso : FAILURE : Failed to prepare session write run
xorriso : NOTE : -return_with SORRY 32 triggered by problem severity FAILURE
uefi.sh: line 19: -c: command not found
uefi.sh: line 27: /home/larry/foxclone/415iso: Is a directory
larry@larry-Satellite-C55-A:~/foxclone/415iso$
누구든지 이 작업을 수행하는 방법을 제안할 수 있습니까?
티아 래리
편집: 스크립트 문제가 수정되었습니다. ISO가 시작되지 않습니다. 나는 내부 커널에 대한 이번 변경이 내가 이미 변경한 것보다 더 많은 것을 포함하고 있다고 생각합니다. /casper/filesystem.squashfs도 수정해야 할 것 같지만 확실하지 않습니다.
안내가 가능한가요?