Linux Kernel 2.6.5 内核编译过程
1. cd /usr/src/linux-2.6
2. 该命令确保源代码目录下没有不正确的.o文件以及文件的互相依赖。
make clean;make mrproper
3. 基于文本选单的配置界面,字符终端下推荐使用
make menuconfig 配置内核
4. 读取配置过程生成的配置文件,来创建对应于配置的依赖关系树,从而决定哪些需要编译而那些不需要
make dep
5. 完成删除前面步骤留下的文件,以避免出现一些错误
make clean
6. 生成内核
make bzImage
7. 该步骤是在进行配置过程中,回答Enable loadable module support (CONFIG_MODULES)时选了"Yes"才是必要的,make modules和make modules_install分别生成相应的模块和把模块拷贝到系统标准目录中,即/lib/modules/$内核版本号
8. mkinitrd initrd-dodo.img 'uname -r' 制作文件系统镜像
附Linux开机步骤:
1. 执行ROM中的代码加载启动盘上0柱面0扇区中的装载器LILO或GRUB,装载器负责定位内核、装载和执行。
2. 一旦内核装载完后,它先是进行基本设备初始化,接着试图加载并登陆磁盘中的根文件系统。
3. 如果内核找不到可装载的根文件系统,启动过程会就此停止。如果根文件系统装载完毕并登陆成功后,你会看到一行信息:VFS: Mounted root (ext2 filesystem) readonly.
之后,系统发现init程序并执行它,init程序寻找它的配置文件/etc/inittab,并开始执行其中的脚本,这些脚本是一些 SHELL命令的组合,用来执行如下命令,如加载所需模块、装载SWAP、初始化网络、装载fstab中列出的所有驱动器等。最后启动一个叫getty的程序,它负责console和ttys之间的通信,它在显示器上打印login提示符并激活login程序,login处理登陆的有效性并建立与用户的对话。至此,启动过程完毕。