TL;DR:
Sử dụng xorriso -indev ubuntu.iso -report_el_torito as_mkisofs
để tìm ra các tùy chọn bạn cần để xây dựng lại ISO sau khi vá nó.
Các bước đầy đủ:
Điều này giả định rằng bạn có một "ubuntu.iso
" và sẽ tạo một "mới"ubuntu-autoinstall.iso
".
Giải nén ISO bằng:
mkdir mới && bsdtar -C mới -xf ubuntu.iso
(Tải về công cụ libarchive
để có được bsdtar
)
Vá mới/boot/grub/grub.cfg
như sau:
Biến đổi đặt thời gian chờ = 30
đến đặt thời gian chờ = 1
Thêm một cái mới thực đơn
trên đầu trang của tất cả những người khác như sau:
mục nhập "tự động cài đặt" {
đặt gfxpayload=giữ
linux /casper/vmlinuz tự động cài đặt yên tĩnh ds=nocloud\;s=/cdrom/server/ ---
initrd/casper/initrd
}
Thêm các tệp khởi tạo đám mây như sau (mật khẩu được mã hóa là "Ubuntu
"):
mkdir mới/máy chủ
chạm mới/máy chủ/siêu dữ liệu
con mèo << _EOF_ > mới/máy chủ/dữ liệu người dùng
#cloud-config
tự động cài đặt:
phiên bản 1
xác thực:
tên máy chủ: ubuntu-server
mật khẩu: "$6$exDY1mhS4KUYCE/2$zmn9ToZwTKLhCw.b4/b.ZRTIZM30JZ4QrOQ2aOXJ8yk96xpcCof0kxKwuX1kqLG/ygbJ1f8wxED22bTL4F46P0"
tên người dùng: ubuntu
Tạo một ISO mới (đầu ra của -report_el_torito
đối với ISO của bạn có thể khác; chỉnh sửa cho phù hợp)
xorriso -as mkisofs --modification-date='2021101314195100' --grub2-mbr --interval:local_fs:0s-15s:zero_mbrpt,zero_gpt:'ubuntu.iso' --protective-msdos-label -partition_cyl_align off -partition_offset 16 --mbr-force-bootable -append_partition 2 28732ac11ff8d211ba4b00a0c93ec93b --interval:local_fs:2470124d-2478587d::'ubuntu.iso' -part_like_isohybrid -iso_mbr_part_type a2a0d0ebe5b9334487c068b6b72699c7 -c '/boot.catalog' -b '/boot/grub/i386- pc/eltorito.img' -no-emul-boot -boot-load-size 4 -boot-info-table --grub2-boot-info -eltorito-alt-boot -e '--interval:appended_partition_2_start_617531s_size_8464d:all :: ' -no-emul-boot -boot-load-size 8464 -isohybrid-gpt-basdat -o ubuntu-autoinstall.iso -V 'Ubuntu autoinstall' new/
Phiên bản dài:
tôi bắt đầu tìm kiếm về tính phổ biến, trình cài đặt mới của Ubuntu. Tôi đặc biệt quan tâm đến việc tìm hiểu cách họ xây dựng ISO, bởi vì tôi cũng gặp phải vấn đề giống như bạn! Trong mã nguồn của nó, tôi đã xem qua make-edge-iso.sh trong đó sử dụng một cái gì đó đầy hứa hẹn gọi là livefs-editor. (Tôi không thể sử dụng nó trực tiếp cho những gì tôi muốn, nhưng bạn sẽ thấy nó cung cấp một --add-autoinstall-config tùy chọn có thể thực hiện chính xác những gì chúng tôi đang theo đuổi.) Tìm hiểu kỹ mã của nó, tôi bắt gặp tùy chọn xorriso kỳ diệu "-report_el_torito as_mkisofs" đã trả lời các câu hỏi của chúng tôi! Nó cố gắng cho bạn biết chính xác ISO được xây dựng như thế nào.