Следуя этой теме Я пытаюсь создать индивидуальный Ubuntu ISO на основе Ubuntu Bionic Beaver:
129292a182136a35e1f89c586dbac2e2 ubuntu-18.04-desktop-amd64.iso
Я следовал этому уроку: https://help.ubuntu.com/community/LiveCDCustomization
Я привязан к извлеченным squashfs и установил некоторые нужные мне пакеты Debian, скачал новое ядро из http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.15.3/
, запустил команду mkinitramfs -o /initrd.gz 4.15.3-041503-generic
.
Затем я использовал следующие команды для восстановления iso:
sudo rm -f iso/casper/vmlinuz iso/casper/initrd.lz
sudo cp squashfs/boot/vmlinuz-4.15.3-041503-generic iso/casper/vmlinuz
sudo cp squashfs/initrd.gz iso/casper/initrd.lz
sudo chmod a+w iso/casper/filesystem.manifest
sudo chroot squashfs dpkg-query -W --showformat='${Package} ${Version}\n' > iso/casper/filesystem.manifest
sudo chmod go-w iso/casper/filesystem.manifest
sudo rm iso/casper/filesystem.squashfs
cd squashfs
sudo mksquashfs . ../iso/casper/filesystem.squashfs -info
cd ..
cd iso
sudo bash -c "find . -path ./isolinux -prune -o -type f -not -name md5sum.txt -print0 | xargs -0 md5sum | tee md5sum.txt"
cd ..
sudo mkisofs -r -V "my_custom_iso" -cache-inodes -J -l -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o custom-livecd.iso iso
sudo isohybrid custom-livecd.iso
При загрузке с virtualbox я вижу экран загрузки ubuntu, а затем журналы загрузки ubuntu, но затем экран скремблируется. Первый:
И через некоторое время экран становится более похожим на это:
Я попытался следовать этому решению , изменив iso/boot/grub/grub.cfg
на:
if loadfont /boot/grub/font.pf2 ; then
set gfxmode=1280*1024
insmod efi_gop
insmod efi_uga
insmod gfxterm
terminal_output gfxterm
fi
set menu_color_normal=white/black
set menu_color_highlight=black/light-gray
set timeout=5
menuentry "Try Ubuntu without installing" {
set gfxpayload=keep
linux /casper/vmlinuz file=/cdrom/preseed/ubuntu.seed boot=casper quiet splash nomodeset video=uvesafb:mode_option=1280x1024-24,mtrr=3,scroll=ywrap ---
initrd /casper/initrd.lz
}
menuentry "Install Ubuntu" {
set gfxpayload=keep
linux /casper/vmlinuz file=/cdrom/preseed/ubuntu.seed boot=casper only-ubiquity quiet splash nomodeset video=uvesafb:mode_option=1280x1024-24,mtrr=3,scroll=ywrap ---
initrd /casper/initrd.lz
}
menuentry "OEM install (for manufacturers)" {
set gfxpayload=keep
linux /casper/vmlinuz file=/cdrom/preseed/ubuntu.seed boot=casper only-ubiquity quiet splash nomodeset video=uvesafb:mode_option=1280x1024-24,mtrr=3,scroll=ywrap oem-config/enable=true ---
initrd /casper/initrd.lz
}
menuentry "Check disc for defects" {
set gfxpayload=keep
linux /casper/vmlinuz boot=casper integrity-check quiet splash nomodeset video=uvesafb:mode_option=1280x1024-24,mtrr=3,scroll=ywrap ---
initrd /casper/initrd.lz
}
Экран все еще скремблирован, но по-другому:
Мне удалось заставить его работать с этой конфигурацией iso/boot/grub/grub.cfg
if loadfont /boot/grub/font.pf2 ; then
set gfxmode=1280*1024
insmod efi_gop
insmod efi_uga
insmod gfxterm
terminal_output gfxterm
fi
set menu_color_normal=white/black
set menu_color_highlight=black/light-gray
set timeout=5
menuentry "Try Ubuntu without installing" {
set gfxpayload=keep
linux /casper/vmlinuz file=/cdrom/preseed/ubuntu.seed boot=casper nomodeset video=uvesafb:mode_option=1280x1024-24,mtrr=3,scroll=ywrap ---
initrd /casper/initrd.lz
}
menuentry "Install Ubuntu" {
set gfxpayload=keep
linux /casper/vmlinuz file=/cdrom/preseed/ubuntu.seed boot=casper only-ubiquity nomodeset video=uvesafb:mode_option=1280x1024-24,mtrr=3,scroll=ywrap ---
initrd /casper/initrd.lz
}
menuentry "OEM install (for manufacturers)" {
set gfxpayload=keep
linux /casper/vmlinuz file=/cdrom/preseed/ubuntu.seed boot=casper only-ubiquity nomodeset video=uvesafb:mode_option=1280x1024-24,mtrr=3,scroll=ywrap oem-config/enable=true ---
initrd /casper/initrd.lz
}
menuentry "Check disc for defects" {
set gfxpayload=keep
linux /casper/vmlinuz boot=casper integrity-check nomodeset video=uvesafb:mode_option=1280x1024-24,mtrr=3,scroll=ywrap ---
initrd /casper/initrd.lz
}