사용자 정의 ISO에서 커널을 변경하는 중 문제 발생

사용자 정의 ISO에서 커널을 변경하는 중 문제 발생

원래 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도 수정해야 할 것 같지만 확실하지 않습니다.

안내가 가능한가요?

관련 정보