如何从零开始制作一个linux iso镜像(图文教程)
一、前言
对于一个极简化的lux系统而言,只需要三个部分就能组成,它们分别是一个lux内核、一个根文件系统和引导。以下是本文制作lux iso镜像所用到的系统和软件
OS: ubuntu 20
软件: xorriso
二、制作lux内核
1、需要去官网选择一个需要的版本下载下来,官网下载地址
2、利用tar将其解压,然后进入其目录中,然后配置内核,常见的配置有以下几种
a、make defconfig - 默认配置
b、make allyesconfig - 创建能选yes就选yes的配置
c、make allnoconfig - 创建能选no就选no的配置
d、make menuconfig - 基于ncurser的图形化界面配置
这里采用命令make defconfig使用默认的即可,如下图所示
3、然后使用make bzImage
命令编译出内核即可,如下图所示
编译好的内核文件在arch
文件夹相应的架构文件夹下面,如下图所示
三、制作根文件系统
1、我们这里利用busybox来制作一个根文件系统,busybox可以简单理解为一个lux工具的集合。还是下载busybox,官网下载地址
2、编译busybox与编译内核步骤基本一致,将下载好的压缩包进行解压,然后进入文件夹中,使用make defconfig配置默认编译选项,这里需要注意的是,在生成的.config
配置文件中,需要设置CONFIG_STATIC=y
,如果没有,添加即可,如下图所示
3、然后使用make busybox stall
命令编译busybox,编译好后会在当前目录下面生产一个_stall
文件夹,如下图所示
4、然后创建一个rootfs
文件夹,并将_stall
文件夹下面除luxxrc
以外的所有文件及文件夹都拷贝到rootfs
文件夹下面,创建dev
等文件夹,在根目录下面创建it
文件即可,文件内容如下图所示
5、利用命令fd . | cpio -R root:root -H newc -o | gzip > ../rootfs.gz
将文件系统打包,至此,一个文件系统就创建完成了,如下图所示
四、BIOS
1、这里我们使用syslux
来创建bios
引导的一个lux iso镜像,syslux
官方下载地址如下
2、将下载好的syslux
解压,然后创建文件夹isobios
,将解压后的syslux
文件夹下面的bios/core/isolux.b
、bios/32/elflk/ldlux/ldlux.c32
复制到isobios
文件夹下面,如下图所示
3、在isobios
文件夹下面创建配置文件isolux.cfg
,文件内容如下所示
4、,在isobios
文件夹下面使用命令xorriso -as mkisofs -o ../testbios.iso -b isolux.b -c boot.cat -no-emul-boot -boot-load-size 4 -boot-fo-table ./
生成iso镜像文件,如下图所示
5、使用虚拟机vmware
创建一个虚拟机,如下图所示,便是我们创建的一个lux iso镜像跑起来的样子。
五、UEFI
1、uefi这里采用system-boot
和syslux
配合来制作,,创建两个文件夹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链接
到此这篇关于如何从零开始制作一个lux iso镜像(图文教程)的文章就介绍到这了,更多相关lux iso镜像内容请搜索脚本之家以前的文章或继续浏览下面的相关文章,希望大家以后多多支持脚本之家!
网络推广
- 5g网络有多快:5g网络网速有多快
- dota2无法连接至steam网络 为什么无法连接dota2网络
- 无线网络信号接收器 无线网络信号接收器怎么用
- 网络延时是什么意思 网络延时是什么原因
- 无线网络不可用:无线网络不可用是什么原因
- 网络广告销售技巧 网络广告销售技巧有哪些
- 智能手机网络设置 智能手机网络设置在哪里
- 为什么找不到无线网络 为什么找不到无线网络信
- 网络这么赚钱:网络怎么能赚到钱
- 为什么无线网络连接不上 为什么无线网连不起来
- 网络上的人际交往 网络上人际交往的优势
- 支付宝网络系统异常 支付宝显示网络异常什么时
- 营销软件:营销软件有哪些
- 无法访问您要使用的功能所在的网络位置
- 网络安全基本知识 网络安全基本知识有哪些
- 什么网络电话最好用 什么网络电话最好用最便宜