ImageVerifierCode 换一换
格式:DOC , 页数:11 ,大小:215.50KB ,
资源ID:3099444      下载积分:20 文钱
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,省得不是一点点
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.wenke99.com/d-3099444.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于Linux源代码及Busybox源代码制作精简可启动内核镜像方法.doc)为本站会员(hw****26)主动上传,文客久久仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知文客久久(发送邮件至hr@wenke99.com或直接QQ联系客服),我们立即给予删除!

基于Linux源代码及Busybox源代码制作精简可启动内核镜像方法.doc

1、基于 Linux 源代码及 Busybox 源代码制作精简可启动内核镜像技术实验方法总结熊海泉一、需要准备的东西.1Linux 内核源代码 .1Busybox 源代码 .2Unetbootin 工具 .2二、制作 Linux 内核镜像及内存虚拟盘根文件系统 .2Linux 内核镜像文件 bzImage 的编译制作 .2基于 Busybox 的根文件系统虚拟盘 initrd.gz 的制作 .5三、利用 unetbootin 工具制作可启动 U 盘 .7unetbootin 工具的获取与安装 .7unetbootin 使用 .7四、制作可启动的光盘镜像与磁盘镜像.9制作一个基于 grub 引导的

2、ttylinux LiveCD.9制作一个基于 grub 引导的 ttylinux 磁盘镜像 .10五、基于 Qemu 模拟器的运行 .111,基于如下命令运行刚才制作的 ttylinux 可启动光盘镜像 .112,以下为启动界面.113,以下为基于 Qemu 模拟器的 ttylinux 运行界面 .12六、基于 Bochs X86 PC 模拟器的运行 .121,基于如下命令运行刚才制作的 ttylinux 可启动光盘镜像 .122,以下为在 Bochs 模拟器中的启动界面.133,以下为基于 Bochs 模拟器的 ttylinux 运行界面 .14一、需要准备的东西Linux 内核源代码下载

3、地址 http:/www.kernel.org/pub/linux/kernel/v2.6/这里下载的是 linux-2.6.36.2.tar.bzBusybox 源代码下载地址 http:/ busybox-1.18.0.tar.bz2Unetbootin 工具下载地址 http:/ Fedora 13 中直接用下面的命令行安装:#yum install unetbootin二、制作 Linux 内核镜像及内存虚拟盘根文件系统Linux 内核镜像文件 bzImage 的编译制作 1、bzImage 的制作将下载下来的内核源代码压缩包拷贝到/study/目录下,然后进入到这个目录将其解压,命令

4、如下:#tar jxvf linux-2.6.36.2.tar.bz2然后创建一个目录,用来保存编译内核产生的目标文件#mkdir linux-2.6.36.2-objlinux-2.6.36.2-obj 现在是一个空目录,在编译内核时会将目标文件输出保存到这个目录下。然后我们开始编译 linux 内核编译配置,输入如下所示的命令:#cd /study/linux-2.6.36.2(进入到内核源码树目录)#make O=/study/linux-2.6.36.2-obj menuconfig (配置内核)这里首先将宿主机的/boot 目录下的 config-2.6.33.3-85.fc13.x

5、86_64 这个配置文件拷贝到/study/linux-2.6.36.2-obj/.config,作为下面内核编译配置的基础。#cp /boot/config-2.6.33.3-85.fc13.x86_64 /study/linux-2.6.36.2-obj/.config配置内核时,里面的选项有很多,如果不确定的话就将所有选项都编译进内核,当然最好能针对性的配置内核,这样产生出的内核镜像不至于太大。还有一点就是配置时一定要将选定的选项编译进内核,而不要编译成模块,也就是说在前面带有 M 选项时,要么直接静态编译进内核,要么去掉。同时,为了支持initrd 内存盘文件系统,有两个选项是必须的。

6、一个是 General Setup Initial RAM filesystem and RAM disk support另一个是 Device Drivers Block Devices RAM block device support这个选项的子选项保持默认就可以了,如下图所示:然后退出配置界面,在退出时会提示你是否保存刚才的配置,选择 yes 就可以了(因为我们在配置时指明了 O=/study/linux-2.6.36.2-obj 目录,所以配置文件会保存到这个目录下,文件名为.config)然后在 linux-2.6.36.2 目录下执行#make mrproper接下来我们开始编译内

7、核:#make O=/study/linux-2.6.36.2-obj j 16 (生成内核镜像,采用多线程编译,4 核八线程故开启-j 16 选项,加快编译速度)通常,我们编译内核是为了更新内核,但这里我们只是为了编译出一个内核镜像,所以就不调用 make install 命令来安装内核了。好!内核编译完成,我们将编译好的内核镜像拷贝到主目录下,以供后面使用。# cp /study/linux-2.6.36.2-obj/arch/x86/boot/bzImage /study/bootdisk (拷贝到此目录下将来由 unetbootin 制作启动盘)基于 Busybox 的根文件系统虚拟盘

8、 initrd.gz 的制作接下来我们开始编译 busybox。 (我的 busybox-1.18.0.tar.bz2 存放到了/study目录下)#tar jxvf busybox-1.18.0.tar.bz2 (解压 busybox 压缩包)#cd busybox-1.18.0 (进入到解压后的 busybox 源码目录)#make menuconfig (配置 busybox)注意配置时,一定要选择静态链接选项,该选项位于:Busybox Settings Build Options Build Busybox as a static binary#yum install libseli

9、nux-static libsepol-static glibc-static(具体根据系统可能还需要其它的包,这是我的系统中需要安装的几个包,是链接 busybox 所需要的)接下来,我们安装 busybox#make install (busybox 默认安装到了其源码树目录的名字为_install 的目录中)#cd _install (进入安装了 busybox 的目录)当我们进入了 busybox 后发现了熟悉的 linux 目录结构,但只有这些是不够的还需要手工添加一些基本的配置文件。这时,我们处在/root/busybox-1.18.0/_install 目录下。好了,开始我们的配

10、置#mkdir proc sys etc dev (创建四个空目录,linux 内核需要)#cd dev#mknod console c 5 1 (创建一个控制台字符设备文件)#mknod null c 1 3 (创建一个 0 设备文件)#cd .#cd etc# vim fstab (输入如下图内容)proc /proc proc defaults 0 0sysfs /sys sysfs defaults 0 0#mkdir init.d# vim init.d/rcS (输入如下内容)#!/bin/shMount -a#chmod +x init.d/rcS (给 rcS 文件加上可执行权

11、限)#vim inittab (输入如下内容):sysinit:/etc/init.d/rcSconsole:respawn:-/bin/sh:ctrlaltdel:/sbin/reboot:shutdown:/bin/umount a -r#cd .#pwd (打印当前目录)/study/busybox-1.18.0/_install此时表明我们处在 busybox 安装文件的根目录下#rm linuxrc (删除 linuxrc 链接文件)然后新创建一个指向 busybox 文件的链接文件,如下图所示:#ln sv bin/busybox initinit-bin/busybox我们输入如

12、下图所示命令来创建 initrd 镜像.#find .| cpio quiet H newc o |gzip -9 n /study/bootdisk/initrd.gz至此就得到了两个镜像文件:bzImage : linux 内核镜像文件initrd.gz : 内存盘根文件系统镜像文件三、利用 unetbootin 工具制作可启动 U 盘unetbootin 工具的获取与安装unetbootin 使用通过下面的命令打开 unetbootin,一定要加-showcustom=y 选项,否则不会出现自定义那个选项#unetboot -showcustom=y在自定义里面选择内核为刚才我们制作的

13、bzImage,initrd 为刚才制作的initrd.gz。我这里是把它们安装在了 U 盘上,这样方便携带。然后确定,就会把我们刚才的东西装在 U 盘上,最后会出现一个重启的画面,你就可以重新启动,把启动项改为从 U 盘启动,就可以进入自己制作的 linux 了。四、制作可启动的光盘镜像与磁盘镜像制作一个基于 grub 引导的 ttylinux LiveCD1、创建 livecd 目录作为制作 LiveCD 的根的目录,并在其中创建 grub 所需的目录# mkdir -pv /study/livecd/ttylinux,boot/grub2、复制 grub 可引导的光盘所需的引导程序# c

14、p -rv /usr/share/grub/x86_64-redhat/* /study/livecd/boot/grub3、将编译制作好的内核镜像 bzImage 以及内存虚拟盘根文件系统 initrd.gz复制到/study/live/ttylinux 目录下4、为 grub 建立配置文件# vim /study/livecd/boot/grub/grub.conf添加如下内容:default 0timeout 10title ttylinux for Bochs & Qemu (Made by Xiong Haiquan)root (cd)kernel /ttylinux/bzImage

15、 load_ramdisk=1 prompt_ramdisk=0ramdisk_size=8192 ro root=/dev/ram0initrd /ttylinux/initrd.gz5、在/study 目录下执行如下命令,创建 livecd 镜像:# mkisofs -R -b boot/grub/stage2_eltorito -no-emul-boot -boot-load-size 4-boot-info-table -o ttylinux.iso livecd好了,到此为止一个 grub 引导的 ttylinux.iso 光盘镜像,可以在 Bochs 和Qemu 中运行启动。制作一

16、个基于 grub 引导的 ttylinux 磁盘镜像五、基于 Qemu 模拟器的运行1,基于如下命令运行刚才制作的 ttylinux 可启动光盘镜像./qemu-0.13.0/x86_64-softmmu/qemu-system-x86_64 cdrom ttylinux.iso boot d2,以下为启动界面3,以下为基于 Qemu 模拟器的 ttylinux 运行界面六、基于 Bochs X86 PC 模拟器的运行1,基于如下命令运行刚才制作的 ttylinux 可启动光盘镜像./bochs-2.4.5/bochs f bochsrc.txt其中配置文件 bochsrc.txt 的主要内容

17、为,关键是光盘启动,颜色为红色部分memory:guest=512,host=256romimage: file=$BXSHARE/BIOS-bochs-latestvgaromimage: file=$BXSHARE/VGABIOS-lgpl-latestata0: enabled=1, ioaddr1=0x1f0, ioaddr2=0x3f0, irq=14ata0-master: type=cdrom, path=“ttylinux.iso“, status=insertedboot: cdromlog: out.txtmouse: enabled=0keyboard_mapping: enabled=1, map=$BXSHARE/keymaps/x11-pc-us.map2,以下为在 Bochs 模拟器中的启动界面3,以下为基于 Bochs 模拟器的 ttylinux 运行界面

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。