BIOS hérités, UEFI et SecureBoot Ready Ubuntu Live Image Personnalisation

BIOS hérités, UEFI et SecureBoot Ready Ubuntu Live Image Personnalisation

Cet article vous fournira des informations de base sur la façon de créer une image isohybride personnalisée Ubuntu Live Bootable pour vous faire démarrer avec votre propre spin-off de Distro Ubuntu. L'image de sortie sera AMD64 Ubuntu Live Image personnalisée, capable de démarrer dans les trois modes de démarrage: BIOS hérité, UEFI et SecureBoot.

L'article n'arrivera pas à beaucoup plus en détail sur la façon d'effectuer la personnalisation du système SQUASHFS réelle. Cependant, il se concentrera à la place sur toutes les étapes concernant le déballage de l'ISO officielle Ubuntu et de remettre toutes les pièces pour produire des modes isohybrides boostables prenant en charge les modes BIOS, UEFI et SecureBoot.

Conditions préalables

Comme toujours, nous commençons par prérequis et installation de package facultative:

$ sudo apt-get installer la dupet xorriso squashfs-tools gddrescue 

Téléchargement de l'image Ubuntu ISO

La première partie de la création de votre propre distribution Linux personnalisée basée sur l'image Ubuntu Linux est de télécharger l'image officielle d'Ubuntu ISO. Créer un nouveau répertoire personnalisé Pour contenir tous les fichiers requis par ce projet. EFI et sa fonction SecureBoot ne sont pas pris en charge sur l'architecture i386, alors téléchargez toute version AMD64 de l'image ISO Ubuntu et stockez-la à l'intérieur personnalisé annuaire:

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

Extraire le contenu ISO

À ce stade, nous devons monter et extraire tout le contenu de l'image officielle d'ISO Ubuntu. Pour cela, nous utilisons xorriso commande. Le dessous xorriso La commande extrait tous les fichiers de l'image ISO originale dans personnalisé annuaire. Par exemple.:

$ xorriso -osirrox sur -indev ubuntu-16.04-desktop-amd64.ISO -Extract / Custom-ISO 

Processus de personnalisation

À ce stade, effectuez une personnalisation dans personnalisé annuaire. Comme mentionné précédemment, le processus de la façon dont vous personnalisez votre image dépend de vous. Ci-dessous, vous pouvez trouver quelques indices pour vous aider à démarrer:

    • Menu EFI Bootloader: personnalisé-iso / boot / grub / grub.CFG
    • Menu de démarrage hérité non EFI: personnalisé-ISO / ISOLINUX / TXT.CFG
    • STCHFS SYSTÈME DE FLIMES: Système personnalisé-ISO / CASPER /.squashfs

Pour personnaliser le système de fichiers Squashfs d'abord décompresser le système de fichiers.squashfs:

$ sudo unsquashfs personnalisé / casper / système de fichiers.squashfs parallel unsquashfs: Utilisation de 8 processeurs 180141 Inodes (blocs 192876) pour écrire [==================== /] 192876/192876 100% créé 138452 Fichiers créés 18797 Répertoires Créés 41566 Symlinks créés 81 appareils créés 0 FIFOS 

Entrez les squashfs en utilisant chroot Commande, apporter des modifications et quitter:

$ sudo chroot squashfs-root / # mont non -t proc / proc; Mont aucun -t sysfs / sys; Mont aucun -t Devpts / Dev / PTS 

Le point que vous dans un environnement de chroot de votre nouveau système. Apporter des modifications telles que l'installation de packages et le chroot de sortie:

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

Comprimer les nouveaux squashfs:

$ sudo mksquashfs squashfs-root / personnalisé-iso / casper / stestème de fichiers.squashfs 

Création d'une image ISO isohybride à démarrage

Obtenir un mbr isohybride isohdpfx.poubelle de l'image ISO Ubuntu originale en utilisant dd commande :

$ sudo dd if = ubuntu-16.04-desktop-amd64.ISO BS = 512 COUNT = 1 de = personnalisé-ISO / ISOLINUX / ISOHDPFX.poubelle 

Construire une nouvelle image iso isohybride de l'intérieur personnalisé répertoire utilisant xorriso commande. Noter la "."À la fin du xorriso commande:

$ CD Custom-Iso / $ sudo xorriso -As Mkisofs -Isohybrid-MBR IsoLinux / ISOHDPFX.bin \ -c isoinux / botte.chat -b isinux / isinux.bin -no-emul-boot -boot-wad-size 4 \ -boot-info-table -eltorito-alt-boot -e boot / grub / efi.IMG -NO-EMUL-BOOT \ -isohybrid-gpt-basdat -o… / personnalisé-Ubuntu.ISO . xorriso 1.3.2: Manipulateur de Système de fichiers Rockridge, projet Libburnia. Current de lecteur: -outdev 'stdio:… / personnalisé-ubuntu.ISO 'Média Current: Fichier STdio, statut médiatique écrasable: est un média vierge Résumé: 0 Sessions, 0 blocs de données, 0 données, 1444g GRATUIT Ajouté à l'image ISO: répertoire' / '=' / home / lubos / personnalisé-Ubuntu / personnalisé -Iso 'xorriso: mise à jour: 549 fichiers ajoutés en 1 seconde xorriso: mise à jour: 549 fichiers ajoutés en 1 seconde xorriso: Remarque: Copie sur la zone système: 512 octets à partir du fichier' / home / lubos / personnalisé-ubuntu / personnalisé-iso / isoLinux / IsoHDPFX.Bin 'Libisofs: Remarque: Géométrie MBR ajustée automatiquement au 1017/89/32 Libisofs: Remarque: Taille d'image alignée sur la taille du cylindre de 367 blocs xorriso: Mise à jour: 100.00% FAIT ISO Image produite: 724104 Secteurs écrits sur Medium: 724104 Secteurs à LBA 0 Écrivant à 'STDIO:… / Custom-Ubuntu.ISO 'terminé avec succès. 

La commande ci-dessus se traduira par de nouvelles … / Custom-Ubuntu.ISO image isohybride.

Obtenir des informations d'image

Si tout s'est bien passé notre personnalisé Le répertoire devrait maintenant contenir une nouvelle image isohybride personnalisé.ISO:

$ LS Custom-Iso Custom-Ubuntu.ISO Orig-Iso Squashfs-Root Ubuntu-16.04-desktop-amd64.ISO 

Tableau de partition:

$ sudo fdisk -lu personnalisé-Ubuntu.Disque ISO Custom-Ubuntu.ISO: 1.4 gib, 1482964992 octets, 2896416 Secteurs Unités: secteurs de 1 * 512 = 512 octets Taille du secteur (logique / physique): 512 octets / 512 octets d'ETO Identificateur de disque: 0x751E87F5 Démarrage du périphérique Démarrer les secteurs Taille Type de jeu personnalisé-Ubuntu.ISO1 * 0 2896415 2896416 1.4G 0 vide personnalisé-Ubuntu.ISO2 540 5083 4544 2.2M EF EFI (FAT-12 / 16/32) 

Informations sur l'en-tête et le catalogue:

$ Sudo Budret -i Custom-Ubuntu.Entrée de validation ISO: indicateur d'en-tête: 0x01 (entrée de validation) PlatformID: 0x00 (80x86) ID: "" Checksum: 0x55aa Key octets: 0x55aa Catalogue de démarrage Entrée par défaut: l'entrée est un type d'émulation de démarrage de démarrage: pas de segment de chargement de support d'émulation: 0x0 0000: 7C00) Type de système: 0 (0x00) Chargement des secteurs: 4 (0x0004) Load LBA: 701876 (0x000ab5b4) Entrée de l'en-tête de section: indicateur d'en-tête: 0x91 (Entrée de l'en-tête finale) PlatformID: 0XEF (EFI) Entrées de la section: 1 ID ID ID: Plateforme de section) : "" Section de catalogue de démarrage Entrée: l'entrée est le type d'émulation de support de démarrage: pas d'émulation Adresse de chargement: 0 (0x0000) Type de système: 0 (0x00) Secteurs de chargement: 4544 (0x11c0) Load LBA: 135 (0x00000087) 

En-tête de validation Eltorito:

$ iSoinfo -d -i personnalisé-ubuntu.ISO CD-ROM est dans le système de format ISO 9660 ID du système: ID de volume: ISOImage Volume Set ID: Publisher ID: Data Preparater ID: xorriso-1.3.2 2013.08.07.110001, libisoburn-1.3.2, libisofs-1.3.2, libburn-1.3.2 ID de l'application: ID de fichier Copyright: ID de fichier abstrait: ID de fichier bibliographique: La taille de l'ensemble de volume est: 1 Le numéro de séquence de jeu de volume est: 1 taille logique du bloc est: 2048 La taille du volume est: 724104 El Torito Vd Version 1 trouvé, le catalogue de démarrage est Dans le secteur 117 no joliet actuel Rock Ridge Signatures Version 1 Trouvé Eltorito Validation En-tête: HID 1 Arch 0 (x86) ID "Key 55 AA Eltorito Defaultboot En-tête: bootID 88 (Bootable) Boot Media 0 (pas d'émulation) Segment de chargement 0 0 NSECT 4 BOOTOFF AB5B4 701876 

Catalogue de démarrage et chemins d'image pertinents:

# xorriso -indev personnalisé-ubuntu.iso -toc -pvd_info xorriso 1.3.2: Manipulateur de Système de fichiers Rockridge, projet Libburnia. Xorriso: Remarque: Chargement de l'arborescence d'image ISO de LBA 0 Xorriso: mise à jour: 549 nœuds lus en 1 seconde xorriso: Remarque: Informations de démarrage El-Torito détectées qui est actuellement définie pour être rejetée Current: -Indev 'personnalisé-Ubuntud.ISO 'Média Current: Fichier STdio, statut de média écrasable: est écrit, est un enregistrement de démarrage nommé: El Torito, isohybride MBR isohybride pointant vers le démarrage Résumé des médias d'image: 1 session, 724104 Blocs de données, 1414m Data, 1442G ID de volume gratuit:' Isoimage «Drive courant: -indev» personnalisé.ISO 'Drive Type: Vendor' Yoyodyne 'Product' Warp Drive 'révision' fx01 'Média Current: STdio Fichier, Media Status: est écrit, est écrit, est en même temps que les bloc Isohybrid MBR pointant pour démarrer le catalogue de démarrage de l'image: '/ ISOLINUX / BOOT.Cat 'Boot Image:' / ISOLINUX / ISOLINUX.bin ', boot_info_table = sur l'image de démarrage:' / boot / grub / efi.IMG ', plateforme_id = 0xef TOC Layout: IDX, SBECTOR, SIZE, ID de volume Session ISO: 1, 0, 724104S, Isoimage Media Résumé: 1 Session, 724104 Blocs de données, 1414m Data, 1442G Media NWA: 724128 Indev 'Custom-Ubuntu.ISO 'PVD Adresse: 16S Volume ID: ISOImage Volume Set ID: Publisher ID: PREAPER ID: xorriso-1.3.2 2013.08.07.110001, libisoburn-1.3.2, libisofs-1.3.2, libburn-1.3.2 ID de l'application: ID système: CopyrightFile: Abstract Fichier: Biblio Fichier: Temps de création: 2016020823095700 Modif. Heure: 2016020823095700 Expirer. Temps: 000000000000000000 eff. Heure: 0000000000000000 

Démarrage d'une nouvelle image Ubuntu personnalisée

Veuillez noter que la nouvelle image Ubuntu personnalisée produite est destinée à démarrer dans les trois modes, c'est-à-dire le BIOS hérité, UEFI uniquement ainsi que UEFI avec une option SecureBoot activée. Cependant, cela n'est pas garanti et des problèmes peuvent survenir en raison des bogues du firmware matériel, etc.

Pour démarrer votre nouvelle image Ubuntu personnalisée, soit brûler le résultat ISO sur le disque de CD ou utiliser ddrescue commande pour le cloner à votre bâton USB:

$ sudo ddrescue personnalisé.ISO / DEV / SDX --FORCE -D 

Votre bâton USB contient désormais un système en direct Ubuntu personnalisé. Tout devrait être maintenant prêt à démarrer à partir de votre bâton USB.

Tutoriels Linux connexes:

  • Comment monter l'image ISO sur Linux
  • Ubuntu 20.04 Télécharger
  • Choses à installer sur Ubuntu 20.04
  • Choses à faire après l'installation d'Ubuntu 20.04 Focal Fossa Linux
  • Créer USB Bootable Manjaro Linux
  • Ubuntu 20.04 Guide
  • Comment faire un USB amorçable à partir d'une ISO dans Linux
  • Comment ouvrir les fichiers ISO sur Ubuntu Linux
  • Choses à installer sur Ubuntu 22.04
  • Créer un ubuntu bootable 22.04 Disque de démarrage USB