我正在尝试更改最初针对 5.3.0-26 内核构建的基于 Ubuntu 18.04 的自定义 iso,但我需要针对 4.15.0-74 内核构建。我安装了 Ubuntu 16.04,并将 initrd 和 vmlinux 从中复制到自定义 iso 的 4.15 构建文件夹以及构建所需的 isolinux 文件。以下 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 中的一个。我不知道 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 也需要修改,但我对此不确定。
有什么可用的指导吗?