linux考试复习-10页文档资料.doc
《linux考试复习-10页文档资料.doc》由会员分享,可在线阅读,更多相关《linux考试复习-10页文档资料.doc(10页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、如有侵权,请联系网站删除,仅供学习与交流linux考试复习【精品文档】第 10 页一、关于Bochs软件:1、Bochs软件的特点 Bochs是kevin Lawton于1994年用C+语言开发的软件系统,无论运行Bochs的主机采用何种硬件平台,Bochs都能完全仿真模拟Intel x86 CPU的微机硬件平台,这种完全仿真的方法使得我们能在Bochs下不加修改地运行大量的软件系统。Bochs开源,易移植,适合开发一些低层系统软件。2、在Bochs中运行一个OS,需要哪些资源 Bochs执行文件、BIOS映像文件、VGA BIOS映像文件、至少一个引导启动磁盘映像文件(软盘、硬盘或者CDRO
2、M的映像文件)。3、Bochs配置文件常用参数及其设置 1)megs:被模拟系统所含内存容量(默认值时32MB),例如:megs:128。2)floppya(floppyb):软驱号(floppya表示第一个软驱,floppyb表示第二个软驱),如果需要从一个软盘上来引导系统,那么floppya就需要指向一个可引导的磁盘;如果想使用磁盘映像文件,那么就在该选项后面写上磁盘映像文件名,例如: floppya:1_44=a:,status=inserted。3)ata0/ata1/ata2/ata3:启动模拟系统中最多4个ATA通道,对于每个启用的通道必须指明两个IO基地址和一个中断请求号。4)a
3、ta0-master(ata0-slave):ata0-master指明模拟系统中第一个ATA通道(0通道)上连接的第1个ATA设备(硬盘或者CDROM);ata0-slave指明模拟系统中第一个ATA通道(1通道)上连接的第2个ATA设备,例如:ata0-master:type=disk,path=hd.img, mod=flat,Cylinders=306,heads=4, spt=17, traslation=none。5)boot:定义模拟机器中用于引导启动的驱动器 ,可以知道软盘,硬盘或者CDROM和驱动器号“c”,“a”。6)cpu:定义模拟系统中仿真CPU的参数。7)log:Bo
4、chs记录执行的日志信息。4、Bochs配置文件源代码分析megs: 16 *被模拟系统的内存大小是16MB*romimage: file=$BXSHARE/BIOS-bochs-latest *所模拟的 程序*vgaromimage: file=$BXSHARE/VGABIOS-lgpl-latest *所模拟的VGA程序*floppya: 1_44=bootimage-0.12-fd, status=inserted*参数floppya指定模拟pc的软盘驱动器A:,使用1.44 MB 类型,并且设置成使用bootimage-0.12-fd软盘映像文件,状态为插入*floppyb: 1_44
5、=diska.img, status=insertedboot: a*指定启动的驱动器,这里是从A盘启动*log: bochsout.txt*Bochs记录执行的一些日志信息写在bochsout.txt中,如果Bochs中运行的系统不能正常运行就可以参考其中的信息找出基本原由*vga_update_interval: 300000panic:action=ask二、Make程序与Makefile文件1、make工具的作用自动编译所有内核代码文件,自动地决定一个含有很多源程序文件的大型程序中哪个文件需要被重新编译。2、Makefile文件中的规则1)规则含有下列形式:target(目标) : p
6、rerequisites(先决条件)command(命令) 目标通常是程序生成的一个文件的名称;先决条件是一个或多个文件名,是用作产生目标的输入条件。通常一个目标依赖几个文件。命令是make需要执行的操作。注意:每个命令之前键入一个制表符(Tab键) 2)根据目标文件的命名形式使用”cc -c”命令根据相应的.c文件更新对应的.o文件。 3、Linux/Makefile文件源代码分析ROOT_DEV=/dev/hd6第二个硬盘的第一个分区ARCHIVES=kernel/kernel.o mm/mm.o fs/fs.o为方便引用进行归档MATH=kernel/math/math.a 数学运算库文
7、件LIBS=lib/lib.a 由lib/目录中的文件所编译生成的通用库文件disk Image dd bs=8192 if=Image of=/dev/PS0 表示disk这个目标要由Image产生,dd为复制一个文件,根据选项进行转换和格式化。bs=表示一次读/写的字节数。if表示输入的文件,of表示输出的文件。/dev/PS0表示第一个软盘驱动器(设备文件)。三、Linux0.12内核体系结构1、内核源代码目录结构 2、内核编译链接结构 3、内核的编译 1)bochsrc-0.12-hd.bxrc进入以硬盘Image文件作为根文件系统的linux0.12系统。2)在/usr/src/li
8、nux目录下键入“make”命令编译linux0.12内核代码。3)生成引导启动映像文件Image4)存入硬盘映像:dd bs=8192 if=Image of=/dev/fdp5)存入软盘映像:mcopy Image bmcopy System.map b4、常用shell命令及其参数,如 dd: 用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换make: 编译所有内核代码文件mkfs: 建立一个文件系统mkdir: 创建一个目录mount: 挂载文件系统umount:卸除文件系统ll:显示文件/目录详细信息四、集成盘原理与制作1、集成盘的结构 内核引导启动盘和一个基本的根文件系统盘
9、的内容合成制作在一张盘中。该盘内核代码需要开启内存虚拟盘RAMDISK的功能,从而使得系统上的两个软盘驱动器能腾出用于加载其他文件系统盘。2、制作过程 1)重要参数的设置 在/usr/src/linux/Makefile中修改:RAMDISK=-DRAMDISK=2048ROOT_DEV=FLOPPY2)内核的编译 A)先Make clean,再Make;B)制作临时根文件系统(1)制作一张大小为1024KB的空Image文件:dd bs=1024 if=/dev/zero of=rootram.img count=1024;(2)在bochs中运行linux-0.12-devel系统,在bo
10、chs主窗口上把驱动盘分别配置成:A盘为rootimage-0.11-orign,B盘为rootram.img;(3)mkfs /dev/fd1 1024 mkdir /mnt1 mount /dev/fd0 /mntmount /dev/fd1 /mnt1(4)将rootimage-0.11-orign精简后(1024KB)拷入rootram.imgcd /mnt1for i in bin dev etc usr tmpdo cp +recursive +verbose /mnt/$i $idonesync(5)umount /dev/fd0 umount /dev/fd1;将/dev/fd
11、1中的文件系统复制到linux-0.11-devel系统中,建立一个名称为rootram-0.11的根文件系统Image文件:dd bs=1024 if=/dev/fd1 of=rootram-0.11 count=1024(C)建立集成盘:修改bochs主窗口的A盘为bootroot-0.11dd bs=8192 if=/usr/src/linux/Image(内核引导启动文件) of=/dev/fd0dd bs=1024 if=rootram-0.11(文件系统映像) of=/dev/fd0 seek=256sync;sync;sync;3)根文件系统的裁剪 保留/mnt/bin mkfs
12、,mknod,mount,sh,umount,vi/mnt/usr/bin cat,chmod,chown,cp,dd,df,ls,mkdir,mv,rm,rmdir3、集成盘的引导过程描述 若RAMDISK没有设置(即长度为0),内核会根据ROOT_DEV所设置的根文件系统所在设备号,从软盘或硬盘上加载根文件系统,执行无虚拟盘时的一般启动过程。若其已定义,引导时会检测启动盘的第256磁盘块(每个磁盘块为1KB,即2个扇区)开始处是否存在一个根文件系统。即:判断第257磁盘块中是否存在一个有效的文件系统超级块信息。如果有,就加载到RAMDISK区域,并作为根系统使用。如果没有,则内核提示插入根
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- linux 考试 复习 10 文档 资料
限制150内