关键词不能为空

当前您在: 主页 > 英语 >

Linux源代码及Busybox源代码制作精简可启动内核镜像技巧

作者:高考题库网
来源:https://www.bjmy2z.cn/gaokao
2021-03-03 22:23
tags:

-

2021年3月3日发(作者:花脸)



基于


Linux


源代 码及


Busybox


源代码制作精简可启动内核镜


像技术实验方法总结



熊海泉


一、需要准备的东西


............................. .................................................. ..........................................


1



Linux


内核源代码



............................................. .................................................. .......................


1



Busybox


源代码


...... .................................................. .................................................. ...............


2



Unetbootin


工具


............... .................................................. .................................................. .......


2



二、制作


Linux


内核镜像及内存虚拟盘根文件系统


.................................................. ...................


2



Linux


内核镜像文件


bzImage

< p>
的编译制作



............... .................................................. ...........


2



基于< /p>


Busybox


的根文件系统虚拟盘



的制作


.......................... ...................................


5



三、利用


unetbootin


工具制作可启动


U




.


............. .................................................. .....................


7



unetbootin


工具的获取与安装


... .................................................. ..............................................


7



unetbootin


使用


.... .................................................. .................................................. ..................


7



四、制作可启动的光盘镜像与磁盘镜像



.


..................................... .................................................. .


9



制作一个基于


grub


引导的


ttylinux LiveCD . .................................................. .........................


9



制作一个基于


grub


引导的


ttylinux


磁盘镜像



.............................................. ........................


1


0


五、基于


Qemu


模拟器的运行



.


.................. .................................................. ..................................


11 < /p>


1


,基于如下命令运行刚才制作的


tty linux


可启动光盘镜像


................ ...............................


11


2


,以下为启动界面



.


.................................. .................................................. ............................


11


3


,以下为基于


Qemu


模拟 器的


ttylinux


运行界面



.


............................. .................................


1


2


六、基于


Bochs X86 PC


模拟器的运行



.


.............................................. ..........................................


1


2


1


,基 于如下命令运行刚才制作的


ttylinux


可启动光盘镜像< /p>


........................................ .......


1


2


2

< p>
,以下为在


Bochs


模拟器中的启动界面



.


.................. .................................................. ........


1


3


3


,以下为基于


Bochs


模拟器的


ttylinux


运行界面


.......... .................................................. ..


1


4


一、需要准备的东西



Linux


内核源代码



下载地址



/linux/kernel/v2.6/



这里下载的是


linux-


Busybox


源代码



下载地址



这里下载的是


busybox-


1



Unetbootin


工具



下载地址



这里可以在


Fedora 13


中直接用下面的命令行安装:



#yum install unetbootin


二、制作


Linux


内核镜像及内存虚拟盘根文


件系统



Linux


内核镜像文件


bzImage


的编译制作




1



bzI mage


的制作



将下载下来的内核源 代码压缩包拷贝到


/study/


目录下,然后进入到这个目录 将


其解压


,


命令如下

< br>:


#tar jxvf linux-


然后创建一个目录,用来保存编译内核产生的目标文件



#mkdir linux-


linux-

< br>,在编译内核时会将目标文件输出保存到这个目录下。



然后我们开始编译


linux


内核编译配置

,


输入如下所示的命令


:


#cd /study/linux-


#make O=/study/linux- menuconfig (


配置内核


)


这里首先将宿主机的


/boot


目录下的

config-


,作为下面内核编译配置的基


础。



#cp /boot/config- /study/linux-


配置内核时,里面的选项有很多


,


如果不确定的话就将所有选项都编译进内


核,当然最好能针对 性的配置内核,这样产生出的内核镜像不至于太大。还有一


点就是配置时一定要将选定的 选项编译进内核,而不要编译成模块,也就是说在


前面带有


M< /p>


选项时,要么直接静态编译进内核,要么去掉。同时,为了支持


i nitrd


内存盘文件系统,有两个选项是必须的。



一个是


General Setup



> Initial RAM filesystem and RAM disk support


2



另一个是



Device Drivers



> Block Devices



> RAM block device support


这个选项的子选项保持默认就可以了,如下图所示


:


然后退出配置界面,在退出时会提示你是否保存刚才的配置,选择


yes


就可


以了


(


因 为我们在配置时指明了


O=/study/linux-


目录 ,所以配置文件会保存到


这个目录下,文件名为


.config )


然后在


linux-


#make mrproper


接下来我们开始编译内核


:


#make O=/study/linux-



j 16 (


生成内核镜像,采用多 线程编译,


4


核八线程故开启


-j 16


选项,加快编译速度


)


通常,我 们编译内核是为了更新内核,但这里我们只是为了编译出一个内核


镜像,所以就不调用< /p>


make install


命令来安装内核了。



好!内核编译完成,我们将编译好的内核镜像拷贝到主目录下,以供后面使


用。



# cp /study/linux- /study/bootdisk (


拷贝到此目录下将来由


u netbootin


制作启动盘


)


基 于


Busybox


的根文件系统虚拟盘



的制作



接下来我们开始编译


busybox


。(我的


busybox-


#tar jxvf busybox- (


解压


busybox


压缩包


)


#cd busybox-1.18.0 (


进入到解压后的< /p>


busybox


源码目录


)


#make menuconfig (


配置


busybox)


注意配置时,一定要选择静态链接选项,该选项位于


:


Busybox Settings



> Build Options



> Build Busybox as a static binary


#yum install libselinux-static libsepol-static glibc-static(


具体根据系统可能还需


要其它的包,这是我的系统中需要安装的几个包,是链接


bus ybox


所需要的


)


接下来,我们安装


busybox


#make install (busybox


默认安装到了 其源码树目录的名字为


_install


的目录中


)


#cd _install (


进入安装了


busybox


的目录


)


3

-


-


-


-


-


-


-


-



本文更新与2021-03-03 22:23,由作者提供,不代表本网站立场,转载请注明出处:https://www.bjmy2z.cn/gaokao/703668.html

Linux源代码及Busybox源代码制作精简可启动内核镜像技巧的相关文章

Linux源代码及Busybox源代码制作精简可启动内核镜像技巧随机文章