Legacy Bios, UEFI dan SecureBoot Ready Ubuntu Live Image Customization

Legacy Bios, UEFI dan SecureBoot Ready Ubuntu Live Image Customization

Artikel ini akan memberi anda maklumat teras tentang cara membuat gambar isohybrid yang disesuaikan dengan boot-mi live untuk membuat anda bermula dengan putaran distro anda sendiri. Imej output akan menjadi imej hidup Ubuntu yang disesuaikan, mampu boot dalam ketiga -tiga mod boot: Legacy Bios, UEFI dan SecureBoot.

Artikel ini tidak akan terperinci mengenai cara melaksanakan penyesuaian sistem squashfs sebenar. Walau bagaimanapun, sebaliknya ia akan menumpukan perhatian kepada semua langkah mengenai membongkar Ubuntu ISO rasmi dan meletakkan semua bahagian kembali bersama untuk menghasilkan imej isohybrid bootable yang menyokong Legacy BIOS, UEFI dan SecureBoot modes.

Prasyarat

Seperti biasa kita bermula dengan prasyarat dan pemasangan pakej pilihan:

$ sudo apt-get pemasangan dumpet xorriso squashfs-tools gddrescue 

Memuat turun gambar iso ubuntu

Bahagian pertama membuat distro Linux tersuai anda sendiri berdasarkan Ubuntu Linux adalah untuk memuat turun gambar rasmi Ubuntu ISO. Buat direktori baru Custom-Ubuntu untuk memegang semua fail yang diperlukan oleh projek ini. Ciri EFI dan SecureBootnya tidak disokong pada seni bina i386 jadi muat turun mana -mana versi AMD64 dari imej ISO Ubuntu dan menyimpannya dalam Custom-Ubuntu Direktori:

$ mkdir custom-ubuntu $ cd custom-ubuntu/$ wget http: // url/to/ubuntu/image.ISO 

Ekstrak kandungan ISO

Pada peringkat ini, kita perlu melancarkan dan mengekstrak semua kandungan dari gambar ISO Ubuntu rasmi. Untuk ini kita gunakan Xorriso perintah. Di bawah Xorriso Perintah akan mengekstrak semua fail dari imej ISO asal ke adat-iso direktori. Cth.:

$ xorriso -osirrox on -indev ubuntu -16.04-DESKTOP-AMD64.ISO -Extract / Custom -ISO 

Proses penyesuaian

Pada peringkat ini melakukan penyesuaian dalam adat-iso direktori. Seperti yang dinyatakan sebelum ini, ini proses bagaimana anda menyesuaikan imej anda terpulang kepada anda. Di bawah ini anda boleh menemui beberapa petunjuk untuk memulakan anda:

    • Menu Bootloader EFI: adat-iso/boot/grub/grub.cfg
    • Menu Boot Legacy Bukan EFI: adat-iso/isolinux/txt.cfg
    • sistem fail squashfs: Custom-Iso/Casper/Filesystem.squashfs

Untuk menyesuaikan sistem fail squashfs filesystem pertama.squashfs:

$ sudo unsquashfs custom-iso/casper/filesystem.squashfs selari unsquashfs: menggunakan 8 pemproses 180141 inodes (192876 blok) untuk menulis [======================= Direktori Dibuat 41566 Symlinks Dicipta 81 Peranti Dibuat 0 FIFOS 

Masukkan squashfs menggunakan chroot Perintah, buat perubahan dan keluar:

$ sudo chroot squashfs -root / # mount none -t proc / proc; Gunung Tiada -t SYSFS /SYS; Gunung Tiada -t Devpts /Dev /Pts 

Ini menunjuk anda dalam persekitaran chroot sistem baru anda. Buat perubahan seperti pemasangan pakej dan keluar chroot:

# Keluar keluar $ sudo umount -f squashfs-root/proc squashfs-root/sys squashfs-root/dev/pts 

Memampatkan skuasy baru:

$ sudo mksquashfs squashfs-root/custom-iso/casper/filesystem.squashfs 

Membuat gambar ISO isohybrid yang mampu boot

Dapatkan Mbr Isohybrid isOHDPFX.bin dari gambar ISO Ubuntu yang asal menggunakan DD Perintah:

$ sudo dd jika = ubuntu-16.04-DESKTOP-AMD64.ISO BS = 512 Count = 1 OF = Custom-ISO/Isolinux/ISOHDPFX.bin 

Bina imej ISO isohybrid baru dari dalam adat-iso Direktori menggunakan Xorriso perintah. Perhatikan "."Pada akhir Xorriso Perintah:

$ cd custom -iso/ $ sudo xorriso -as mkisofs -isohybrid -mbr isolinux/ isohdpfx.bin \ -c isolinux/boot.kucing -b isolinux/isolinux.Bin -no-emul-boot -boot-load-saiz 4 \ -boot-info-table -eltorito-alt-boot -e boot/grub/efi.img -no-emul-boot \ -isohybrid-gpt-basdat -o ... /custom-ubuntu.ISO . Xorriso 1.3.2: Rockridge Filesystem Manipulator, Projek Libburnia. Pandu Semasa: -Outdev 'Stdio: ... /Custom -Ubuntu.ISO 'Media Current: Fail Stdio, Status Media Averwriteable: Adakah Ringkasan Media Kosong: 0 Sesi, 0 Blok Data, 0 Data, 1444g Percuma Ditambah ke Imej ISO: Direktori'/'='/Home/Lubos/Custom-Ubuntu/Custom -iso 'xorriso: kemas kini: 549 fail ditambah dalam 1 saat xorriso: kemas kini: 549 fail ditambah dalam 1 saat xorriso: nota: menyalin ke kawasan sistem: 512 bait dari fail'/rumah/lubos/custom-ubuntu/custom-iso/ isolinux/isohdpfx.Bin 'Libisofs: Nota: Geometri MBR yang diselaraskan secara automatik hingga 1017/89/32 Libisofs: Nota: Saiz imej sejajar dengan saiz silinder oleh 367 blok xorriso: kemas kini: 100.00% Dilakukan Imej ISO Dihasilkan: 724104 Sektor Ditulis ke Sederhana: 724104 Sektor di LBA 0 Menulis ke 'Stdio: ... /Custom-Ubuntu.ISO berjaya berjaya. 

Perintah di atas akan menghasilkan yang baru ... /Custom-Ubuntu.ISO Imej isohybrid.

Mendapatkan maklumat imej

Sekiranya semuanya berjalan lancar Custom-Ubuntu Direktori kini harus mengandungi gambar isohybrid baru Custom-Ubuntu.ISO:

$ ls custom-iso custom-ubuntu.ISO Orig-ISO Squashfs-Root Ubuntu-16.04-DESKTOP-AMD64.ISO 

Jadual Partition:

$ sudo fdisk -lu custom -ubuntu.ISO Disk Custom-Ubuntu.ISO: 1.4 Gib, 1482964992 Bytes, 2896416 Unit Sektor: Sektor 1 * 512 = 512 Bytes Saiz Sektor (Logik/Fizikal): 512 Bytes/512 Bytes I/O Saiz (Minimum/Optimal) Pengenal pasti cakera: 0x751E87F5 Peranti Boot Mula Akhir Sektor Saiz Id Jenis Custom-Ubuntu.ISO1 * 0 2896415 2896416 1.4g 0 kosong-Ubuntu.ISO2 540 5083 4544 2.2M EFI (FAT-12/16/32) 

Maklumat pengepala dan katalog:

$ sudo dumpet -i custom -ubuntu.Kemasukan Pengesahan ISO: Petunjuk Header: 0x01 (Kemasukan Pengesahan) PlatformID: 0x00 (80x86) ID: "" Checksum: 0x55aa Key Bytes: 0x55aa Boot Catalog Entry: Entri Boot Boot Media Emulation: Tiada emulasi Media Mata segmen: 0x0 (0x0 (0x0 (0x0 0000: 7c00) Jenis Sistem: 0 (0x00) Sektor Beban: 4 (0x0004) Beban LBA: 701876 (0x000AB5B4) Kemasukan Header Bahagian: Penunjuk Header: 0x91 (Kemasukan Header Bahagian Akhir) : "" Boot Catalog Section Entry: Entry adalah Boot Boot Media Emulation Jenis: Tiada Emulasi Alamat Beban Media: 0 (0x0000) Jenis Sistem: 0 (0x00) Sektor Beban: 4544 (0x11c0) Beban LBA: 135 (0x00000087) 

Header Pengesahan Eltorito:

$ isoinfo -d -i custom -ubuntu.ISO CD-ROM dalam ID Sistem Format ISO 9660: ID Jilid: ID Jilid ID ID: ID Penerbit: ID Penyedia Data: Xorriso-1.3.2 2013.08.07.110001, Libisoburn-1.3.2, libisofs-1.3.2, Libburn-1.3.2 ID Aplikasi: ID Fail Hak Cipta: ID Fail Abstrak: ID Fail Bibliografi: Saiz Set Volume adalah: 1 Jilid Set Urutan Nombor adalah: 1 Saiz Blok Logik ialah: 2048 Saiz Volume adalah: 724104 El Torito VD Versi 1 ditemui, katalog boot adalah Di Sektor 117 No Joliet Present Rock Ridge Signatures Versi 0 nsect 4 bootoff ab5b4 701876 

Katalog boot dan laluan imej yang berkaitan:

# xorriso -Indev custom -ubuntu.ISO -TOC -PVD_INFO XORRISO 1.3.2: Rockridge Filesystem Manipulator, Projek Libburnia. Xorriso: Nota: Memuatkan pokok imej ISO dari LBA 0 xorriso: Kemas kini: 549 nod dibaca dalam 1 saat xorriso: Nota: Mengesan maklumat boot el-torito yang kini ditetapkan untuk dibuang semasa pemacu: -Indev 'Custom-Ubuntu'.ISO 'Media Current: Fail Stdio, Status Media Averwriteable: Ditulis, adalah Rekod Boot Terpanjang: El Torito, Isolinux Isohybrid Mbr Menunjuk ke Boot Image Media Ringkasan: 1 Sesi, 724104 Blok Data, Data 1414m, 1442g ID Kelantangan Percuma:' ISOImage 'Drive Current: -Indev' Custom -Ubuntu.jenis pemacu ISO: vendor 'yoyodyne' product 'warp drive' revision 'fx01' media semasa: stdio file, status media overwriteable: ditulis, adalah blok media yang boleh dilengkapi: 724104 boleh dibaca, 755967444 wrable, 756691572 Rekod boot keseluruhan: El Torito, Isolinux isohybrid mbr menunjuk ke boot boot boot katalog: '/isolinux/boot.Imej boot kucing: '/isolinux/isolinux.bin ', boot_info_table = pada gambar boot:'/boot/grub/efi.IMG ', Platform_ID = 0xef TOC Layout: IDX, SBSECTOR, SIZE, ID VOLUME ISO Sesi: 1, 0, 724104S, Ringkasan Media ISOImage: 1 Sesi, 724104 Blok Data, Data 1414m, 1442G Media Percuma NWA: 724128S Drive Semasa: - Indev 'Custom-Ubuntu.ISO 'PVD Alamat: ID Jilid 16S: ID Jilid IsoImage ID: ID Penerbit: ID Preparer: Xorriso-1.3.2 2013.08.07.110001, Libisoburn-1.3.2, libisofs-1.3.2, Libburn-1.3.2 ID App: ID Sistem: Hak Cipta Fail: Biblio Fail: Penciptaan Masa: 2016020823095700 Modif. Masa: 2016020823095700 EXIR. Masa: 000000000000000000 eff. Masa: 000000000000000000 

Boot gambar ubuntu tersuai baru

Sila ambil perhatian bahawa imej ubuntu tersuai yang baru dimaksudkan untuk boot dalam ketiga -tiga mod, iaitu Legacy Bios, UEFI sahaja dan juga UEFI dengan pilihan SecureBoot. Walau bagaimanapun, ini tidak dijamin dan isu mungkin berlaku kerana pepijat firmware perkakasan dll.

Untuk boot gambar Ubuntu tersuai baru anda sama ada membakar hasil ISO pada cakera CD atau gunakan Ddrescue Perintah untuk mengklonkannya ke tongkat USB anda:

$ sudo ddrescue custom-ubuntu.ISO /DEV /SDX --force -D 

Stick USB anda kini mengandungi sistem live ubuntu yang disesuaikan. Semua semestinya bersedia untuk boot dari tongkat usb anda.

Tutorial Linux Berkaitan:

  • Cara Gunung ISO di Linux
  • Ubuntu 20.04 Muat turun
  • Perkara yang hendak dipasang di Ubuntu 20.04
  • Perkara yang perlu dilakukan setelah memasang ubuntu 20.04 Focal Fossa Linux
  • Buat Manjaro Linux Bootable USB
  • Ubuntu 20.04 Panduan
  • Cara Membuat USB Bootable dari ISO di Linux
  • Cara Membuka Fail ISO di Ubuntu Linux
  • Perkara yang perlu dipasang di Ubuntu 22.04
  • Buat bootable ubuntu 22.04 cakera permulaan USB