처음부터 Linux ISO 이미지를 만드는 방법(그래픽 튜토리얼)

PHPz
풀어 주다: 2024-01-06 22:21:46
앞으로
3102명이 탐색했습니다.

1. 서문

매우 단순화된 Linux 시스템의 경우 Linux 커널, 루트 파일 시스템 및 부팅의 세 부분만 필요합니다. 다음은 이 기사에서 Linux ISO 이미지를 생성하는 데 사용된 시스템과 소프트웨어입니다.

OS: 우분투 20
소프트웨어: xorriso

2.리눅스 커널 만들기

1. 먼저 공식 웹사이트로 이동하여 필요한 버전을 선택하고 다운로드해야 합니다. 공식 웹사이트 다운로드 주소: https://www.php.cn/link/293835c2cc75b585649498ee74b395f5

2. tar를 사용하여 압축을 푼 다음 해당 디렉터리로 들어간 후 커널을 구성합니다.
a、make defconfig - 기본 구성
b. allyesconfig 만들기 - yes를 선택할 수 있는 구성을 만듭니다. 그냥 yes를 선택하세요
c. make allnoconfig - 아니요를 선택할 수 있는 구성을 만듭니다. 그냥 아니요를 선택하세요
d.make menuconfig - ncurser 기반 그래픽 인터페이스 구성
여기서는 아래 그림과 같이 make defconfig 명령을 사용하여 기본 설정을 사용할 수 있습니다.

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

3. 그런 다음 아래 그림과 같이 make bzImage 명령을 사용하여 커널을 컴파일합니다.

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

컴파일된 커널 파일은 아래 그림과 같이 arch 폴더의 해당 아키텍처 폴더 아래에 있습니다.

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

3. 루트 파일 시스템 만들기

1. 비지박스를 사용하여 루트 파일 시스템을 만듭니다. 비지박스는 간단히 말해서 Linux 도구 모음으로 이해될 수 있습니다. 먼저 비지박스를 다운로드하세요. 공식 홈페이지 다운로드 주소: https://www.php.cn/link/890ff058169b5a1d1a7f07d467f1f57b

2. busybox를 컴파일하는 단계는 기본적으로 커널 컴파일과 동일합니다. 다운로드한 압축 패키지의 압축을 푼 다음, make defconfig를 사용하여 기본 컴파일 옵션을 구성합니다. 아니요, 아래 그림과 같이 추가하세요. .config配置文件中,需要设置CONFIG_STATIC=y

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

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

3. 그런 다음 아래와 같이

폴더를 사용합니다. make busybox install命令编译busybox,编译好后会在当前目录下面生产一个_install

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

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

4. 그런 다음

파일을 만듭니다. 파일 내용은 다음과 같습니다. rootfs文件夹,并将_install文件夹下面除linuxxrc以外的所有文件及文件夹都拷贝到rootfs文件夹下面,最后创建dev等文件夹,最后在根目录下面创建init

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

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

5. 마지막으로

명령을 사용하여 파일 시스템을 패키징합니다. 이 시점에서 아래 그림과 같이 파일 시스템이 생성됩니다. find . | cpio -R root:root -H newc -o | gzip > ../rootfs.gz

4. 바이오스

1. 여기서는 syslinux来创建bios引导的一个linux iso镜像,syslinux공식 다운로드 주소를 다음과 같이 사용합니다: https://www.php.cn/link/364c32263dd3f0df5095b65321f3cd79

2. 아래 그림과 같이 다운로드한 syslinux解压,然后创建文件夹isobios,将解压后的syslinux文件夹下面的bios/core/isolinux.binbios/com32/elflink/ldlinux/ldlinux.c32复制到isobios 폴더를 아래에 배치합니다.

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

3. isobios文件夹下面创建配置文件isolinux.cfg에서 파일 내용은 다음과 같습니다.

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

4. 마지막으로 아래 그림과 같이 isobios文件夹下面使用命令xorriso -as mkisofs -o ../testbios.iso -b isolinux.bin -c boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table ./에서 iso 이미지 파일을 생성합니다.

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

5. 가상머신 사용하기 vmware 아래 그림과 같이 가상머신을 생성합니다. 우리가 생성한 리눅스 iso 이미지가 실행되면 이런 모습이 됩니다.

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

5. UEFI

1. UEFI는 아래 그림과 같이 system-bootsyslinux配合来制作,首先,创建两个文件夹isouefitmp,其中,isouefi用来挂载设备,tmp文件夹用来临时存放文件以计算大小,然后在tmp文件夹下面创建EFI/BOOTloader/entries目录,接着,将解压后的systemboot下面的uefi_boot/EFI/BOOT/BOOTx64.EFI文件拷贝到tmp/EFI/BOOT 디렉토리 아래에서 사용됩니다.

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

2. 다음으로 아래와 같이 tmp/loader目录下面,创建文件loader.conf配置文件,第一行表示默认配置是entries目录下那个文件,第二行设置默认超时时间;然后在entries文件夹下面创建相应的配置文件,这里是mll-x86_64.conf,文件内容和bios的差不多,不在单独细说,最后再将前面准备好的内核和文件系统拷贝到tmp 디렉터리 아래에:

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

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

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

3. 이때 아래 그림과 같이 tmp文件夹的总大小创建一个相同大小的img文件了,这里的tmp11M,为了稳妥起见,这里创建一个12Mimg文件,命令为truncate -s 12M uefi.img,然后使用losetup -f命令寻找一个当前未使用的逻辑设备,然后使用losetup命令将我们前面创建的img文件虚拟成改逻辑设备,接着利用mkfs.vfat将该设备格式化成vfat系统,接着使用mount命令将其挂载到isouefi文件夹下面,最后将tmp文件夹下面所有文件及其文件夹拷贝到isouefi 디렉터리를 클릭할 수 있습니다.

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

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

4. 그런 다음 아래와 같이 umount命令取消挂载,这样我们就得到一个包含内核文件系统等的img文件,接着创建一个iso文件夹,并且在该文件夹下面将创建一个boot文件夹,然后将img复制到iso/boot下面,最后利用xorriso工具生成iso 파일을 사용합니다.

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

5. 마지막으로 아래 그림과 같이 새 가상 머신을 생성하고 부팅을 위해 uefi를 선택한 후 시작합니다.

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

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

6. 관련링크

github 링크: https://www.php.cn/link/e32c6c0d76c602ec48a1ec030982eb85

위 내용은 처음부터 Linux ISO 이미지를 만드는 방법(그래픽 튜토리얼)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:jb51.net
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿