如何从零开始制作一个linux iso镜像(图文教程)
一、前言
对于一个极简化的linux系统而言,只需要三个部分就能组成,它们分别是一个linux内核、一个根文件系统和引导。以下是本文制作linux iso镜像所用到的系统和软件:
OS: ubuntu 20
软件: xorriso
二、制作linux内核
1、首先需要去官网选择一个需要的版本下载下来,官网下载地址:https://mirrors.edge.kernel.org/pub/linux/kernel/
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可以简单理解为一个linux工具的集合。首先还是下载busybox,官网下载地址:https://busybox.net/downloads/
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
将文件系统打包,至此,一个文件系统就创建完成了,如下图所示:
四、BIOS
1、这里我们使用syslinux
来创建bios
引导的一个linux iso镜像,syslinux
官方下载地址如下:https://mirrors.edge.kernel.org/pub/linux/utils/boot/syslinux/
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
创建一个虚拟机,如下图所示,便是我们创建的一个linux iso镜像跑起来的样子。
五、UEFI
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://github.com/windy-purple/make_linux_iso
到此这篇关于如何从零开始制作一个linux iso镜像(图文教程)的文章就介绍到这了,更多相关linux iso镜像内容请搜索电脑系统之家以前的文章或继续浏览下面的相关文章,希望大家以后多多支持电脑系统之家!
最新推荐
-
edge浏览器站点权限应如何设置 edge网站权限更改
edge浏览器是一款便捷浏览器,如果在Edge浏览器中打开网页时可能会遇到网页有些权限被限制的情况,这时需要打开Cookie和网站权限选项,打开网站的权限,有的小伙伴可能不清楚具体的操作方法,小编就来和大家分享一下方法。 Microsoft Edge V117.0.2045.60 官方正式版 [电脑软件] 大小:154.63 MB 类别:网络软件 立即下载
-
edge浏览器下载速度慢怎么解决 edge浏览器下载加速设置
edge浏览器是一款十分好用、便捷的浏览器工具,最近不少的用户们在使用edge浏览器下载软件的时候发现速度很慢,那么edge浏览器下载限速怎么解除?用户们可以直接的打开edge浏览器,然后输入网址 about:flags来进行操作就可以了。下面就让本站来为用户们来仔细的介绍一下edge浏览器下载限速解除方法吧。 Microsoft Edge浏览器 V116.0.1938.76 官方电脑版 [电脑软件] 大小:123.32 MB 类别:系统相关 立即下载
-
火狐浏览器关闭时自动清除浏览数据吗怎么设置 火狐浏览器自动清除缓存
火狐浏览器也是一款很受用户喜欢的浏览器,具有快速的上网速度,在使用火狐浏览器软件时,一般在浏览网页后会自动记录下浏览信息,为了维护自己的隐私安全,可以设置关闭浏览器时清除浏览数据,怎么设置呢?下面小编就来分享一下方法吧。 火狐浏览器(FireFox) V115.0.3.8607 最新版 [电脑软件] 大小:56.05 MB 类别:网络软件 立即下载
-
excel输入文字自动弹出选择怎么设置
excel是一款轻便、简洁的数据处理软件,能够有效提升用户的编辑效率,编辑表格文件时,发现在单元格中输入内容后有多种选择,想要设置选项卡,但是很多小伙伴都不知道到如何设置,那么接下来就让小编来向大家分享一下方法吧。 Excel数据对比大师 V2.3.8 最新版 [电脑软件] 大小:68.07 MB 类别:应用软件 立即下载
-
translucenttb怎么设置透明度 translucenttb搜索栏透明
Translucenttb是一款任务看透明化的软件工具,这款工具可以帮助用户们的界面更加的美观,相信也有不少的用户们在询问Translucenttb怎么设置全透明?用户们下载完厚就会自动全透明了,要是想其他窗口打开也是的话就要额外的进行设置了,下面就让本站来为用户们来仔细的介绍一下TranslucentTB设置全透明方法吧。 TranslucentTB(任务栏透明度调节软件) V9.0.0 中文版 [电脑软件] 大小:1.59 MB 类别:系统相关 立即下载
-
ev录屏画质不好怎样调节 ev录屏清晰度设置
ev录屏可以帮助用户们记录下电脑的精彩瞬间或者是用于一些教学的录制,近期不少的小伙伴们发现自己利用ev录屏来录制屏幕的时候发现视频很模糊,不清晰,那么ev录屏录制视频画面不清晰怎么办?下面就让本站来为用户们来仔细的介绍一下ev录屏录制视频画面不清晰怎么解决方法吧。 EV录屏 V5.0.3 最新正式版 [电脑软件] 大小:28.89 MB 类别:媒体工具 立即下载