首页IT科技如何制作linux系统镜像文件(如何从零开始制作一个linux iso镜像(图文教程))

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

时间2025-07-30 12:18:23分类IT科技浏览6141
导读:一、前言     对于一个极简化的linux系统而言,只需要三个部分就能组成,它们分别是一个linux内核、一个根文件系统和引导。以下是本文制作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镜像内容请搜索电脑学习网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持电脑学习网!

声明:本站所有文章               ,如无特殊说明或标注                     ,均为本站原创发布         。任何个人或组织    ,在未征得本站同意时            ,禁止复制    、盗用            、采集                    、发布本站内容到任何网站        、书籍等各类媒体平台                   。如若本站内容侵犯了原著者的合法权益                    ,可联系我们进行处理            。

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
wordpress删除标题(WordPress如何批量删除分类下所有文章) 网站如何做seo排名优化工具(网站怎么做seo排名)