Maison  >  Article  >  Tutoriel système  >  Comment créer une image ISO Linux à partir de zéro (tutoriel graphique)

Comment créer une image ISO Linux à partir de zéro (tutoriel graphique)

PHPz
PHPzavant
2024-01-06 22:21:463055parcourir

1. Avant-propos

Pour un système Linux très simplifié, cela ne nécessite que trois parties, à savoir un noyau Linux, un système de fichiers racine et un démarrage. Voici les systèmes et logiciels utilisés dans cet article pour créer des images ISO Linux :

Système d'exploitation : Ubuntu 20
Logiciel : xorriso

2. Créer un noyau Linux

1. Tout d'abord, vous devez vous rendre sur le site officiel pour sélectionner une version requise et la télécharger. L'adresse de téléchargement du site officiel : https://www.php.cn/link/293835c2cc75b585649498ee74b395f5

.

2. Utilisez tar pour le décompresser, puis entrez dans son répertoire, puis configurez le noyau. Les configurations courantes sont les suivantes :
a、make defconfig - configuration par défaut
b. make allyesconfig - créez une configuration qui vous permet de sélectionner oui, sélectionnez simplement oui
c. make allnoconfig - Créez une configuration dans laquelle vous pouvez choisir non, choisissez simplement non
d.make menuconfig - configuration de l'interface graphique basée sur ncurser
Ici, vous pouvez utiliser la commande make defconfig pour utiliser celle par défaut, comme le montre la figure ci-dessous :

如何从零开始制作一个linux iso镜像(图文教程)

3. Utilisez ensuite la commande make bzImage pour compiler le noyau, comme indiqué dans la figure ci-dessous :

如何从零开始制作一个linux iso镜像(图文教程)

Le fichier du noyau compilé se trouve dans le dossier d'architecture correspondant du dossier arch, comme le montre la figure ci-dessous :

如何从零开始制作一个linux iso镜像(图文教程)

3. Créer un système de fichiers racine

1. Nous utilisons Busybox pour créer un système de fichiers racine. Busybox peut être simplement compris comme une collection d'outils Linux. Tout d'abord, téléchargez Busybox, adresse de téléchargement du site officiel : https://www.php.cn/link/890ff058169b5a1d1a7f07d467f1f57b

2. Les étapes pour compiler busybox sont fondamentalement les mêmes que pour compiler le noyau. Décompressez le package compressé téléchargé, puis entrez dans le dossier et utilisez make defconfig pour configurer les options de compilation par défaut. Il convient de noter ici que dans le .config配置文件中,需要设置CONFIG_STATIC=y généré, si. non, ajoutez Ça y est, comme le montre l'image ci-dessous :

如何从零开始制作一个linux iso镜像(图文教程)

如何从零开始制作一个linux iso镜像(图文教程)

3. Utilisez ensuite le dossier make busybox install命令编译busybox,编译好后会在当前目录下面生产一个_install, comme indiqué ci-dessous :

如何从零开始制作一个linux iso镜像(图文教程)

如何从零开始制作一个linux iso镜像(图文教程)

4. Créez ensuite un rootfs文件夹,并将_install文件夹下面除linuxxrc以外的所有文件及文件夹都拷贝到rootfs文件夹下面,最后创建dev等文件夹,最后在根目录下面创建init fichier. Le contenu du fichier est tel qu'indiqué ci-dessous :

.

如何从零开始制作一个linux iso镜像(图文教程)

如何从零开始制作一个linux iso镜像(图文教程)

5. Enfin, utilisez la commande find . | cpio -R root:root -H newc -o | gzip > ../rootfs.gz pour empaqueter le système de fichiers. À ce stade, un système de fichiers est créé, comme le montre la figure ci-dessous :

.

如何从零开始制作一个linux iso镜像(图文教程)

4.BIOS

1. Ici, nous utilisons l'adresse de téléchargement syslinux来创建bios引导的一个linux iso镜像,syslinuxofficielle comme suit : https://www.php.cn/link/364c32263dd3f0df5095b65321f3cd79

2. Placez le dossier téléchargé syslinux解压,然后创建文件夹isobios,将解压后的syslinux文件夹下面的bios/core/isolinux.binbios/com32/elflink/ldlinux/ldlinux.c32复制到isobios ci-dessous, comme indiqué dans la figure ci-dessous :

如何从零开始制作一个linux iso镜像(图文教程)

3. En isobios文件夹下面创建配置文件isolinux.cfg, le contenu du fichier est le suivant :

如何从零开始制作一个linux iso镜像(图文教程)

4. Enfin, générez le fichier image iso dans isobios文件夹下面使用命令xorriso -as mkisofs -o ../testbios.iso -b isolinux.bin -c boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table ./, comme indiqué dans la figure ci-dessous :

如何从零开始制作一个linux iso镜像(图文教程)

5. Utilisez une machine virtuelle vmwareCréez une machine virtuelle, comme le montre la figure ci-dessous, voici à quoi ressemble l'image ISO Linux que nous avons créée lorsqu'elle s'exécute.

如何从零开始制作一个linux iso镜像(图文教程)

5.UEFI

1. uefi est utilisé ici sous le répertoire system-bootsyslinux配合来制作,首先,创建两个文件夹isouefitmp,其中,isouefi用来挂载设备,tmp文件夹用来临时存放文件以计算大小,然后在tmp文件夹下面创建EFI/BOOTloader/entries目录,接着,将解压后的systemboot下面的uefi_boot/EFI/BOOT/BOOTx64.EFI文件拷贝到tmp/EFI/BOOT, comme le montre la figure ci-dessous :

如何从零开始制作一个linux iso镜像(图文教程)

2. Ensuite, sous le répertoire tmp/loader目录下面,创建文件loader.conf配置文件,第一行表示默认配置是entries目录下那个文件,第二行设置默认超时时间;然后在entries文件夹下面创建相应的配置文件,这里是mll-x86_64.conf,文件内容和bios的差不多,不在单独细说,最后再将前面准备好的内核和文件系统拷贝到tmp, comme indiqué ci-dessous :

如何从零开始制作一个linux iso镜像(图文教程)

如何从零开始制作一个linux iso镜像(图文教程)

如何从零开始制作一个linux iso镜像(图文教程)

3. A ce moment, vous pouvez cliquer sur le répertoire tmp文件夹的总大小创建一个相同大小的img文件了,这里的tmp11M,为了稳妥起见,这里创建一个12Mimg文件,命令为truncate -s 12M uefi.img,然后使用losetup -f命令寻找一个当前未使用的逻辑设备,然后使用losetup命令将我们前面创建的img文件虚拟成改逻辑设备,接着利用mkfs.vfat将该设备格式化成vfat系统,接着使用mount命令将其挂载到isouefi文件夹下面,最后将tmp文件夹下面所有文件及其文件夹拷贝到isouefi, comme le montre la figure ci-dessous :

如何从零开始制作一个linux iso镜像(图文教程)

如何从零开始制作一个linux iso镜像(图文教程)

4. Utilisez ensuite le fichier umount命令取消挂载,这样我们就得到一个包含内核文件系统等的img文件,接着创建一个iso文件夹,并且在该文件夹下面将创建一个boot文件夹,然后将img复制到iso/boot下面,最后利用xorriso工具生成iso, comme indiqué ci-dessous :

如何从零开始制作一个linux iso镜像(图文教程)

5. Enfin, créez une nouvelle machine virtuelle, sélectionnez uefi pour le démarrage et démarrez-la, comme indiqué dans la figure ci-dessous :

如何从零开始制作一个linux iso镜像(图文教程)

如何从零开始制作一个linux iso镜像(图文教程)

6. Liens connexes

lien github : https://www.php.cn/link/e32c6c0d76c602ec48a1ec030982eb85

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer