GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Legacy Bios, UEFI et SecureBoot ready Personnalisation de l'image Ubuntu Live

Cet article vous fournira des informations de base sur la création d'une image isohybride personnalisée Ubuntu Live démarrable pour vous permettre de démarrer avec votre propre spin-off de distribution Ubuntu. L'image de sortie sera une image live Ubuntu personnalisée amd64, capable de démarrer dans les trois modes de démarrage :Legacy Bios, UEFI et SecureBoot.

L'article n'entrera pas dans les détails sur la façon d'effectuer la personnalisation réelle du système squashfs. Cependant, il se concentrera plutôt sur toutes les étapes concernant le déballage de l'Iso officiel d'Ubuntu et le remontage de toutes les pièces pour produire une image isohybride amorçable prenant en charge les modes Legacy Bios, UEFI et SecureBoot.

Prérequis

Comme toujours, nous commençons par les prérequis et l'installation facultative du package :

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

Téléchargement de l'image ISO d'Ubuntu

La première partie de la création de votre propre distribution Linux personnalisée basée sur Ubuntu Linux consiste à télécharger l'image ISO officielle d'Ubuntu. Créez un nouveau répertoire custom-ubuntu pour contenir tous les fichiers requis par ce projet. EFI et sa fonction SecureBoot ne sont pas pris en charge sur l'architecture i386. Téléchargez donc n'importe quelle version amd64 de l'image ISO d'Ubuntu et stockez-la dans custom-ubuntu répertoire :

$ mkdir custom-ubuntu$ cd custom-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 ISO officielle d'Ubuntu. Pour cela, nous utilisons xorriso commande. Le xorriso ci-dessous la commande extraira tous les fichiers de l'image ISO d'origine dans custom-iso annuaire. Ex. :

$ xorriso -osirrox sur -indev ubuntu-16.04-desktop-amd64.iso -extract / custom-iso

Processus de personnalisation

À ce stade, effectuez une personnalisation dans custom-iso annuaire. Comme mentionné précédemment, le processus de personnalisation de votre image dépend de vous. Vous trouverez ci-dessous quelques conseils pour vous aider à démarrer :

    • Menu du chargeur de démarrage EFI :custom-iso/boot/grub/grub.cfg
    • Menu de démarrage hérité non EFI :custom-iso/isolinux/txt.cfg
    • système de fichiers squashfs :custom-iso/casper/filesystem.squashfs

Pour personnaliser le système de fichiers squashfs, décompressez d'abord filesystem.squashfs :

$ sudo unsquashfs custom-iso/casper/filesystem.squashfsParallel unsquashfs :Utilisation de 8 processeurs180141 inodes (192876 blocs) pour écrire[======================/] 192876/192876 100%créé 138452 fichierscréé 18797 répertoirescréé 41566 liens symboliquescréé 81 appareilscréé 0 fifos

Entrez squashfs en utilisant chroot commande, apportez des modifications et quittez :

$ sudo chroot squashfs-root/# mount none -t proc /proc; monter aucun -t sysfs /sys ; monter aucun -t devpts /dev/pts

Ce point vous place dans l'environnement chroot de votre nouveau système. Apportez des modifications telles que l'installation du paquet et quittez le chroot :

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

Compresser les nouveaux squashfs :

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

Création d'une image ISO isohybride amorçable

Obtenir le MBR isohybride isohdpfx.bin à partir de l'image ISO ubuntu d'origine en utilisant dd commande :

$ sudo jj if=ubuntu-16.04-desktop-amd64.iso bs=512 count=1 of=custom-iso/isolinux/isohdpfx.bin

Construire une nouvelle image ISO isohybride à partir de custom-iso répertoire en utilisant xorriso commande. Noter la "." à la fin du xorriso commande :

$ 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- taille 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 :manipulateur de système de fichiers RockRidge, projet libburnia.Drive current :-outdev 'stdio:../custom-ubuntu.iso'Media current :fichier stdio, overwriteableMedia status :is blankMedia summary :0 sessions, 0 data blocks, 0 data, 1444g gratuitAjouté à l'image ISO :répertoire '/'='/home/lubos/custom-ubuntu/custom-iso'xorriso :MISE À JOUR :549 fichiers ajoutés en 1 secondexorriso :MISE À JOUR :549 fichiers ajoutés en 1 secondexorriso :NOTE :Copie vers le système Zone :512 octets du fichier '/home/lubos/custom-ubuntu/custom-iso/isolinux/isohdpfx.bin'libisofs :REMARQUE :Géométrie MBR ajustée automatiquement à 1017/89/32libisofs :REMARQUE :Taille de l'image alignée sur la taille du cylindre par 367 blocsxorriso :UPDATE :100.00% doneImage ISO produite :72 4 104 secteursÉcrit sur le support :724 104 secteurs sur LBA 

La commande ci-dessus entraînera un nouveau ../custom-ubuntu.iso image isohybride.

Obtenir des informations sur l'image

Si tout s'est bien passé notre custom-ubuntu Le répertoire doit maintenant contenir une nouvelle image isohybride custom-ubuntu.iso :

$ lscustom-iso custom-ubuntu.iso orig-iso squashfs-root ubuntu-16.04-desktop-amd64.iso

Table des partitions :

$ sudo fdisk -lu custom-ubuntu.isoDisk custom-ubuntu.iso :1,4 Gio, 1482964992 octets, 2896416 secteursUnités :secteurs de 1 * 512 =512 octetsTaille du secteur (logique/physique) :512 octets / 512 octetsE/S taille (minimale/optimale) :512 octets / 512 octetsType d'étiquette de disque :dosIdentifiant de disque :0x751e87f5Device Boot Start End Sectors Size Id Typecustom-ubuntu.iso1 * 0 2896415 2896416 1.4G 0 Emptycustom-ubuntu.iso2 540 5083 4544 2.2M ef EFI (FAT -16/12/32)

Informations d'en-tête et de catalogue :

$ sudo dumpet -i custom-ubuntu.iso Validation Entry :Header Indicator :0x01 (Validation Entry) PlatformId :0x00 (80x86) ID :"" Checksum :0x55aa Key bytes :0x55aaBoot Catalog Default Entry :Entry is bootable Boot Media type d'émulation :pas d'émulation Segment de chargement de média :0x0 (0000:7c00) Type de système :0 (0x00) Charger les secteurs :4 (0x0004) Charger LBA :701876 (0x000ab5b4)Entrée d'en-tête de section :Indicateur d'en-tête :0x91 (Entrée d'en-tête de section finale) PlatformId :0xef (EFI) Section Entries :1 ID :"" Boot Catalog Section Entry :L'entrée est amorçable Type d'émulation du support de démarrage :aucune émulation Adresse de chargement du support :0 (0x0000) Type de système :0 (0x00) Secteurs de chargement :4544 (0x11c0 ) Charger LBA :135 (0x00000087)

En-tête de validation Eltorito :

$ isoinfo -d -i custom-ubuntu.iso CD-ROM is in ISO 9660 formatSystem id:Volume id:ISOIMAGEVolume set id:Publisher id:Data preparer id:XORRISO-1.3.2 2013.08.07.110001, LIBISOBURN-1.3 .2, LIBISOFS-1.3.2, LIBBURN-1.3.2Identifiant de l'application :Copyright Identifiant du fichier :Résumé Identifiant du fichier :Identifiant du fichier bibliographique :La taille de l'ensemble de volumes est :1Le numéro de séquence de l'ensemble de volumes est :1La taille du bloc logique est :2048La taille du volume est :724104El Torito VD version 1 trouvée, le catalogue de démarrage est dans le secteur 117NO Joliet presentRock Ridge signatures version 1 foundEltorito validation header:Hid 1 Arch 0 (x86) ID '' Key 55 AA Eltorito defaultboot header:Bootid 88 (bootable) Boot media 0 (No Emulation Boot ) Charger segment 0 Sys type 0 Nsect 4 Bootoff AB5B4 701876

Catalogue de démarrage et chemins d'accès aux images pertinentes :

# xorriso -indev custom-ubuntu.iso -toc -pvd_info xorriso 1.3.2 :manipulateur de système de fichiers RockRidge, projet libburnia.xorriso :NOTE :chargement de l'arborescence d'images ISO depuis LBA 0xorriso :MISE À JOUR :549 nœuds lus en 1 secondexorriso :NOTE :Les informations de démarrage d'El-Torito détectées qui sont actuellement définies pour être ignorées. Résumé imageMedia :1 session, 724104 blocs de données, 1414m de données, 1442g freeVolume id :'ISOIMAGE'Drive current:-indev 'custom-ubuntu.iso'Drive type :vendor 'YOYODYNE' product 'WARP DRIVE' revision 'FX01'Media current :fichier stdio, overwriteableMedia status :is written , is appendableMedia blocks :724104 readable , 755967444 writable , 756691572 OverallBoot record :El Torito , ISOLINUX isohybrid MBR pointing to boot imageBoot catalog :'/isolinux/boot.cat'Boot image :'/isolinux /isolinux .bin' , boot_info_table=onBoot image :'/boot/grub/efi.img' , platform_id=0xEF TOC layout :Idx , sbsector , Size , Volume IdISO session :1 , 0 , 724104s , ISOIMAGEMedia summary :1 session, 724104 data blocs, 1414m de données, 1442g freeMedia nwa :724128sDrive actuel :-indev 'custom-ubuntu.iso'PVD address :16sVolume Id :ISOIMAGEVolume Set Id :Publisher Id :Preparer Id :XORRISO-1.3.2 2013.08.07.110001, LIBISOBURN-1.3. 2, LIBISOFS-1.3.2, LIBBURN-1.3.2App Id :System Id :CopyrightFile :Abstract File :Biblio File :Creation Time :2016020823095700Modif. Heure :2016020823095700Expir. Temps :0000000000000000Eff. Heure :0000000000000000

Démarrer 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 Legacy BIOS, UEFI uniquement ainsi que UEFI avec l'option SecureBoot activée. Cependant, cela n'est pas garanti et des problèmes peuvent survenir en raison de bogues du micrologiciel matériel, etc.

Pour démarrer votre nouvelle image Ubuntu personnalisée, gravez le résultat ISO sur le disque CD ou utilisez ddrescue commande pour le cloner sur votre clé USB :

$ sudo ddrescue custom-ubuntu.iso /dev/sdX --force -D

Votre clé USB contient maintenant le système Live Ubuntu personnalisé. Tout devrait maintenant être prêt à démarrer à partir de votre clé USB.


Ubuntu
  1. Legacy Bios, UEFI et SecureBoot ready Personnalisation de l'image Ubuntu Live

  2. Ubuntu Xenial Xerus 16.04 Téléchargement d'image ISO Linux avec zsync

  3. Tesseract OCR :installation et utilisation sur Ubuntu 16.04

  4. Installer Ubuntu à partir d'un fichier Iso sous Windows ?

  5. "Erreur de démarrage" avec l'usb en direct d'Ubuntu 15.10 - Comment y remédier

Créer un fichier de sauvegarde d'image ISO à partir d'un dossier dans Ubuntu 17.10

Comment créer une image ISO Ubuntu Live personnalisée avec Cubic

Comment convertir PNG, JPEG en WebP dans Ubuntu ? ( Aussi WebP vers PNG et JPEG )

Outils populaires pour recadrer et redimensionner facilement des images dans Ubuntu

Comment créer une clé USB Ubuntu Live dans Fedora ?

DVD avec Ubuntu 32 bits et 64 bits ?