2010年2月24日星期三

kernel始动

kernel是linux操作系统的核心程序,目前所有的linux发行版都是基于这个在工作的

一个linux基本上分为软件.shell,kernel,硬件

编译内核给自己用,这样文章在网上很多google下就好了

最好使用make bzImage的方式编译吧.

initrd就是加载的文件系统.

起程GRUB

GRUB简介

grub位于/boot/grub
stage1的大小为512byte  和MBR一样的大小

主要负责当bios交接给GRUB载入分区中开机文件

stage1算是MBR中的bootloader备份文件#1

stage1.5 有若干个stage1.5文件,如上图

xfs_stage1_5,
fat_stage1_5,
minix_stage1_5,
e2fs_stage1_5,
jfs_stage1_5

stage1.5是连接stage1与stage2的一个信道,唯一存放的是文件系统#2的格式而已

stage2是grub的核心,让用户操作系统加载,新增参数,修改选项等..stage2除了不能自己激活外,

所有的事都是stage2完成的.

GRUB的设置

在/boot/grub/grub.conf 有的系统是/boot/grub/menu.lst

#号的行是注释,

想设置grub的背景就找到里面的splashimage 把后面的路径改为你设置的图片

grub图片格式设置用命令convert grub_bg.jpg -colors 14 -resize 640x480! grub_bg.xpm

想更改字体颜色就注视掉color用background和foreground设置前景和背景光,颜色采用16进制

background aaaaaa
foreground aaaaaa

然后看最后几行,也是最重要的几行

title 操作系统的名称可以自行设置

root  定义该系统所使用的kernel和initrd文件在那块硬盘上,请记住linux的编号是用0开始的,所以指

向第一块硬盘hd(0,0)

kernel加载内核的位置

initrd加载initrd的位置

最后的kernel和initrd会在以后的记录里更加详细的介绍

简单来说grub只是一个开机引导的程序而已.

#1:stage1里只有446byte和MBR一样,其他的则毫无关系,但是如果想自己备份还是自己用"dd"来备份MBR比较安全

#2:Linux系统核心支持十多种文件系统类型:jfs、 ReiserFS、ext、ext2、ext3、iso9660、xfs、 minx、msdos、umsdos、Vfat、NTFS、Hpfs、Nfs、smb、sysv、proc等