Legacy BIOS, UEFI i Secureboot Ready Ubuntu Live Image Dostosowanie

Legacy BIOS, UEFI i Secureboot Ready Ubuntu Live Image Dostosowanie

W tym artykule zawiera podstawową informację o tym, jak tworzyć dostosowany obraz Izohybryd Ubuntu na żywo, aby zacząć od własnego spin-offu Ubuntu Distro. Obraz wyjściowy będzie dostosowany obraz Ubuntu na żywo AMD64, zdolny do uruchamiania we wszystkich trzech trybach rozruchu: Legacy BIOS, UEFI i Secureboot.

Artykuł nie będzie szczegółowo opisał, jak wykonać faktyczną dostosowywanie systemu Squashfs. Zamiast tego skoncentruje się na wszystkich krokach dotyczących rozpakowania oficjalnego ISO Ubuntu i odkładania wszystkich części z powrotem w celu uzyskania rozruchowych izohybrydowych trybów BIOS, UEFI i Secureboot.

Wymagania wstępne

Jak zawsze zaczynamy od warunków wstępnych i opcjonalnej instalacji pakietu:

$ sudo apt-get instaluj zrzutek xorriso squashfs-tools gddrescue 

Pobieranie obrazu ISO Ubuntu

Pierwszą częścią tworzenia własnego spersonalizowanego Linux Distro na podstawie Ubuntu Linux jest pobranie oficjalnego obrazu ISO Ubuntu. Utwórz nowy katalog Custom-ubuntu Aby utrzymać wszystkie pliki wymagane przez ten projekt. EFI i jego funkcja Secureboot nie jest obsługiwana w architekturze i386, aby pobierz dowolną wersję obrazu ISO AMD64 i przechowuj ją w środku Custom-ubuntu informator:

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

Wyodrębnij zawartość ISO

Na tym etapie musimy zamontować i wyodrębnić całą treść z oficjalnego obrazu ISO Ubuntu. Do tego używamy Xorriso Komenda. Poniżej Xorriso polecenie wyodrębni wszystkie pliki z oryginalnego obrazu ISO do Custom-iso informator. Np.:

$ xorriso -osirrox on -Indev Ubuntu -16.04-Desktop-AMD64.ISO -EKSTRACT / Custom -ISO 

Proces dostosowywania

Na tym etapie wykonaj dostosowanie w środku Custom-iso informator. Jak wspomniano wcześniej, proces dostosowania obrazu zależy od Ciebie. Poniżej możesz znaleźć kilka wskazówek na początek:

    • Menu EFI Bootloader: custom-iso/boot/grub/grub.CFG
    • Menu rozruchowe nie-EFI Legacy: custom-iso/aolinux/txt.CFG
    • Squashfs FileSystem: Custom-ISO/Casper/FileSystem.squashfs

Aby dostosować system plików Squashfs Pierwszy dekompresuj system plików.squashfs:

$ sudo unsquashfs custom-iso/casper/filesystem.Squashfs równoległe UNSQUASHFS: Korzystanie z 8 procesorów 180141 INODES (192876 bloków) do napisania [=====================/] 192876/192876 100% utworzonych 138452 plików utworzonych 18797 katalogi utworzone 41566 SymLinks utworzone 81 urządzeń utworzonych 0 FIFOS 

Wprowadź squashfs za pomocą Chroot polecenie, wprowadzaj zmiany i wyjdź:

$ sudo chroot squashfs -root / # Mount None -t Proc / proc; Zamontować brak -t sysfs /sys; Zamontować brak -t devpts /dev /pts 

Ten punkt w środowisku chroot w nowym systemie. Dokonaj zmian, takich jak instalacja pakietu i wyjście chroot:

# Exit Exit $ sudo umount -f squashfs-root/proc squashfs-root/sys squashfs-root/dev/pTs 

Skompresuj nowe squashfs:

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

Tworzenie obrazu izohybrydowego ISO z rozruchu

Uzyskaj izohybrydowy MBR ISOHDPFX.kosz z oryginalnego obrazu ISO Ubuntu za pomocą Dd Komenda :

$ sudo dd if = Ubuntu-16.04-Desktop-AMD64.ISO BS = 512 Liczba = 1 OF = Custom-ISO/Isolinux/ISOHDPFX.kosz 

Zbuduj nowy obraz izohybrydowy od wewnątrz Custom-iso Katalog używa Xorriso Komenda. Zanotuj ".”Na końcu Xorriso Komenda:

$ CD Custom -iso/ $ sudo xorriso -as mkisofs -isohybrid -MBR Isolinux/ ISOHDPFX.bin \ -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 -o… /custom-uubuntu.ISO . Xorriso 1.3.2: Rockridge FileSystem Manipulator, Libburnia Project. Drive bieżący: -outdev 'stdio:… /custom -ubuntu.ISO 'Bieżące media: plik STDIO, nadpisalny Status multimedialny: IS puste podsumowanie multimediów: 0 sesji, 0 bloków danych, 0 danych, 1444G DODATKOWANE DO ISO: Directory'/'='/home/lubos/custom-ubuntu/custom-custom/custom/custom/custom -ISO 'Xorriso: Aktualizacja: 549 plików dodane w 1 sekundach Xorriso: Aktualizacja: 549 plików dodane w 1 sekundach Xorriso: Uwaga: Kopiowanie do obszaru systemu: 512 bajtów z pliku/home/Lubos/custom-istu/custom-iso//custom-iso// Isolinux/ISOHDPFX.Bin 'Libisofs: Uwaga: Automatycznie dostosowana geometria MBR do 1017/89/32 Libisofs: Uwaga: Wyrównany rozmiar obrazu do cylindra przez 367 bloków Xorriso: Aktualizacja: 100.00% Wykonane obraz ISO Wyprodukowany: 724104 Sektory napisane na Medium: 724104 Sektory w LBA 0 Writing to 'Stdio:… /Custom-ubuntu.ISO „zakończyło się pomyślnie. 

Powyższe polecenie spowoduje nowe … /Custom-ubuntu.ISO Obraz izohybrydowy.

Uzyskanie informacji o obrazie

Jeśli wszystko poszło dobrze, nasze Custom-ubuntu Katalog powinien teraz zawierać nowy obraz izohybrydowy Custom-ubuntu.ISO:

$ ls custom-iso custom-ubuntu.ISO orig-iso squashfs-root Ubuntu-16.04-Desktop-AMD64.ISO 

Tabela partycji:

$ sudo fdisk -lu custom -ubuntu.Dysk ISO Custom-ubuntu.ISO: 1.4 Gib, 1482964992 bajty, 2896416 Jednostki sektorowe: Sektory 1 * 512 = 512 Bajty Rozmiar sektora (logiczny/fizyczny): 512 bajtów/512 bajtów I/O Rozmiar (minimum/optymalne): 512 bajtów/512 Bytes Disklabel Identyfikator dysku: 0x751e87f5 Uruchomienie rozruchu Rozpoczęcie Sektory Sektory Rozmiar.ISO1 * 0 2896415 2896416 1.4G 0 puste niestandardowe.ISO2 540 5083 4544 2.2M EF EFI (FAT-12/16/32) 

Informacje o nagłówku i katalogu:

$ sudo zrzut.Wpis sprawdzania poprawności ISO: Wskaźnik nagłówka: 0x01 (Wprowadzenie sprawdzania poprawności) Platformd: 0x00 (80x86) Id: „„ Suma kontrolna: 0x55aA Bajty: 0x55aA Katalog rozruchu Domyślny wpis: Wpis jest rozruchowym Emulacją nośnika rozruchowego 0000: 7C00) Typ systemu: 0 (0x00) Sektory ładowania: 4 (0x0004) Ładuj LBA: 701876 (0x000AB5B4) Wpis nagłówka sekcji: Wskaźnik nagłówka: 0x91 (Wpis na nagłówek sekcji końcowej) Platformid: 0xef (EFI) Wpisy: 1 identyfikator ID: 1 identyfikator ID : „” Katalog rozruchu Wpis: wpis jest rozruchowym Emulacją nośnika rozruchowego: Brak emulacji Media Adres obciążenia: 0 (0x0000) Typ systemu: 0 (0x00) Sektory ładowania: 4544 (0x11c0) ładowanie LBA: 135 (0x00000087) 

Nagłówek sprawdzania poprawności Eltorito:

$ isoinfo -d -i custom -ubuntu.ISO CD-ROM znajduje się w formacie ISO 9660 Identyfikator systemu systemu: Identyfikator woluminu: ISOImage Zestaw woluminu ID: Wydawca ID: Data Preparer ID: Xorriso-1.3.2 2013.08.07.110001, Libisoburn-1.3.2, Libisofs-1.3.2, Libburn-1.3.2 Identyfikator aplikacji: Identyfikator pliku Copyright: Streszczenie Identyfikator pliku: Bibliograficzny identyfikator pliku: Zestaw woluminu Rozmiar: 1 Zestaw woluminu Numer sekwencji IS: 1 Logiczny rozmiar bloku IS: 2048 Rozmiar woluminu IS: 724104 EL TORITO VD Wersja 1 Znalezion W sektorze 117 No Joliet Prezentuj Rock Ridge Signatures Wersja 1 Znaleziono nagłówek sprawdzania poprawności Eltorito: HID 1 Arch 0 (x86) Id „Klucz 55 AA Eltorito Defaultboot Nagłówek: Bootid 88 (bootable) BOOT Media 0 (brak emulacji) segment ładowania 0 0 nsect 4 bootoff AB5B4 701876 

Katalog rozruchu i odpowiednie ścieżki obrazu:

# Xorriso -Indev Custom -ubuntu.ISO -TOC -PVD_INFO XORRISO 1.3.2: Rockridge FileSystem Manipulator, Libburnia Project. Xorriso: Uwaga: Ładowanie drzewa obrazu ISO z LBA 0 Xorriso: Aktualizacja: 549 węzłów odczytane w 1 sekundach Xorriso: Uwaga: Wykryte informacje rozruchowe El-Torito, które są aktualnie ustawione na odrzucone prąd napęd.ISO „Media Bieżące: plik STDIO, nadpisalny status multimediów: jest napisany, jest dołączalny rekord rozruchu: El Torito, Izohybryd Isohybrid MBR wskazujący na podsumowanie mediów obrazu: 1 sesja, 724104 bloki danych, 1414m dane, 1442g darmowy identyfikator woluminu: 'Izoimage:' Izoimage: 'Izoimage „Drive bieżący: -Indev”.ISO „Typ napędu: dostawca„ Yoyodyne ”produkt„ Warp Drive ”Wersja„ FX01 ”Media Bieżące: plik stdio, nadpisalny status multimediów: jest napisane, jest załącznymi blokami multimedialnymi: 724104 czytelne, 755967444 Izohybrydowy MBR Isolinux wskazujący na rozruchu katalog obrazu: '/Isolinux/Boot.Cat 'Boot Image:'/Isolinux/Isolinux.bin ', boot_info_table = na obrazie rozruchowym:'/boot/grub/efi.IMG ', platform_id = 0xef TOC Układ: IDX, SBSector, rozmiar, identyfikator woluminów ISO Sesja: 1, 0, 724104S, Podsumowanie nośników ISOImage: 1 Sesja, 724104 Bloki danych, 1414m Dane, 1442G Bezpłatne nośniki NWA: 724128s Dysk: - Indev 'Custom-ubuntu.Adres PVD ISO: 16S Identyfikator woluminu: Izoimage Zestaw woluminu ID: Identyfikator wydawcy: Identyfikator przygotowawcy: Xorriso-1.3.2 2013.08.07.110001, Libisoburn-1.3.2, Libisofs-1.3.2, Libburn-1.3.2 Identyfikator aplikacji: Identyfikator systemu: CopyrightFile: Plik abstrakcyjny: Biblio Plik: Czas tworzenia: 2016020823095700 Modif. Czas: 2016020823095700 wydech. Czas: 0000000000000000 EFF. Czas: 0000000000000000 

Uruchamianie nowego niestandardowego obrazu Ubuntu

Należy pamiętać, że nowy wyprodukowany niestandardowy obraz Ubuntu ma uruchamiać się we wszystkich trzech trybach, czyli Legacy BIOS, tylko UEFI, a także UEFI z włączoną opcją Secureboot. Nie jest to jednak gwarantowane i mogą wystąpić problemy z powodu błędów oprogramowania sprzętowego itp.

Aby uruchomić nowy niestandardowy obraz Ubuntu albo spal wynik ISO na dysku CD lub użyj ddrescue Poleć do sklonowania go do swojego patyka USB:

$ sudo ddrescue custom-ubuntu.ISO /dev /sdx -force -d 

Twój kij USB zawiera teraz niestandardowy system na żywo Ubuntu. Wszystko powinno być teraz gotowe do uruchomienia z patyka USB.

Powiązane samouczki Linux:

  • Jak montować obraz ISO na Linux
  • Ubuntu 20.04 Pobierz
  • Rzeczy do zainstalowania na Ubuntu 20.04
  • Rzeczy do zrobienia po zainstalowaniu Ubuntu 20.04 Focal Fossa Linux
  • Utwórz bootabilne USB Manjaro Linux
  • Ubuntu 20.04 Przewodnik
  • Jak zrobić rozruchowy USB z ISO w Linux
  • Jak otwierać pliki ISO na Ubuntu Linux
  • Rzeczy do zainstalowania na Ubuntu 22.04
  • Utwórz rozruchowy Ubuntu 22.04 Dysk startupowy USB