매우 단순화된 Linux 시스템의 경우 Linux 커널, 루트 파일 시스템 및 부팅의 세 부분만 필요합니다. 다음은 이 기사에서 Linux ISO 이미지를 생성하는 데 사용된 시스템과 소프트웨어입니다.
OS: 우분투 20
소프트웨어: xorriso
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 명령을 사용하여 기본 설정을 사용할 수 있습니다.
3. 그런 다음 아래 그림과 같이 make bzImage
명령을 사용하여 커널을 컴파일합니다.
컴파일된 커널 파일은 아래 그림과 같이 arch
폴더의 해당 아키텍처 폴더 아래에 있습니다.
1. 비지박스를 사용하여 루트 파일 시스템을 만듭니다. 비지박스는 간단히 말해서 Linux 도구 모음으로 이해될 수 있습니다. 먼저 비지박스를 다운로드하세요. 공식 홈페이지 다운로드 주소: https://www.php.cn/link/890ff058169b5a1d1a7f07d467f1f57b
2. busybox를 컴파일하는 단계는 기본적으로 커널 컴파일과 동일합니다. 다운로드한 압축 패키지의 압축을 푼 다음, make defconfig를 사용하여 기본 컴파일 옵션을 구성합니다. 아니요, 아래 그림과 같이 추가하세요. .config
配置文件中,需要设置CONFIG_STATIC=y
3. 그런 다음 아래와 같이
폴더를 사용합니다. make busybox install
命令编译busybox,编译好后会在当前目录下面生产一个_install
4. 그런 다음
파일을 만듭니다. 파일 내용은 다음과 같습니다. rootfs
文件夹,并将_install
文件夹下面除linuxxrc
以外的所有文件及文件夹都拷贝到rootfs
文件夹下面,最后创建dev
等文件夹,最后在根目录下面创建init
5. 마지막으로
명령을 사용하여 파일 시스템을 패키징합니다. 이 시점에서 아래 그림과 같이 파일 시스템이 생성됩니다.
find . | cpio -R root:root -H newc -o | gzip > ../rootfs.gz
1. 여기서는 syslinux
来创建bios
引导的一个linux iso镜像,syslinux
공식 다운로드 주소를 다음과 같이 사용합니다: https://www.php.cn/link/364c32263dd3f0df5095b65321f3cd79
2. 아래 그림과 같이 다운로드한 syslinux
解压,然后创建文件夹isobios
,将解压后的syslinux
文件夹下面的bios/core/isolinux.bin
、bios/com32/elflink/ldlinux/ldlinux.c32
复制到isobios
폴더를 아래에 배치합니다.
3. isobios
文件夹下面创建配置文件isolinux.cfg
에서 파일 내용은 다음과 같습니다.
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 이미지 파일을 생성합니다.
5. 가상머신 사용하기 vmware
아래 그림과 같이 가상머신을 생성합니다. 우리가 생성한 리눅스 iso 이미지가 실행되면 이런 모습이 됩니다.
1. UEFI는 아래 그림과 같이 system-boot
和syslinux
配合来制作,首先,创建两个文件夹isouefi
和tmp
,其中,isouefi
用来挂载设备,tmp
文件夹用来临时存放文件以计算大小,然后在tmp
文件夹下面创建EFI/BOOT
和loader/entries
目录,接着,将解压后的systemboot
下面的uefi_boot/EFI/BOOT/BOOTx64.EFI
文件拷贝到tmp/EFI/BOOT
디렉토리 아래에서 사용됩니다.
2. 다음으로 아래와 같이 tmp/loader
目录下面,创建文件loader.conf
配置文件,第一行表示默认配置是entries
目录下那个文件,第二行设置默认超时时间;然后在entries
文件夹下面创建相应的配置文件,这里是mll-x86_64.conf
,文件内容和bios
的差不多,不在单独细说,最后再将前面准备好的内核和文件系统拷贝到tmp
디렉터리 아래에:
3. 이때 아래 그림과 같이 tmp
文件夹的总大小创建一个相同大小的img
文件了,这里的tmp
是11M
,为了稳妥起见,这里创建一个12M
的img
文件,命令为truncate -s 12M uefi.img
,然后使用losetup -f
命令寻找一个当前未使用的逻辑设备,然后使用losetup
命令将我们前面创建的img
文件虚拟成改逻辑设备,接着利用mkfs.vfat
将该设备格式化成vfat
系统,接着使用mount
命令将其挂载到isouefi
文件夹下面,最后将tmp
文件夹下面所有文件及其文件夹拷贝到isouefi
디렉터리를 클릭할 수 있습니다.
4. 그런 다음 아래와 같이 umount
命令取消挂载,这样我们就得到一个包含内核
、文件系统
等的img
文件,接着创建一个iso
文件夹,并且在该文件夹下面将创建一个boot
文件夹,然后将img
复制到iso/boot
下面,最后利用xorriso
工具生成iso
파일을 사용합니다.
5. 마지막으로 아래 그림과 같이 새 가상 머신을 생성하고 부팅을 위해 uefi를 선택한 후 시작합니다.
github 링크: https://www.php.cn/link/e32c6c0d76c602ec48a1ec030982eb85
위 내용은 처음부터 Linux ISO 이미지를 만드는 방법(그래픽 튜토리얼)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!