在自定义 iso 中更改内核时出现问题

在自定义 iso 中更改内核时出现问题

我正在尝试更改最初针对 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 也需要修改,但我对此不确定。

有什么可用的指导吗?

相关内容