今天完成了嵌入式linux内核配置与编译的学习,现做一番总结1.从 ftp.kernel.org下载内核;2.解压 tar jxf linux.2.6.29.tar.bz2 -C /hoem/mylinux;
3.对于刚从网站上下载的内核包来说 不必进行清理内核配置文件以及中间文件(make mrproper 、make clean。make distclean)
4.配置内核 make menucofig,这是需要注意当前终端窗口大小 至少为80*90,在配置时,*表示yes,【】表示no,m表示 只编译不连接,这是为内核模块做准备的。
5.编译 make bzImage,编译好的映像位于arch/x86/boot下
6.编译内核模块 make modules (所编译的内核模块位之前配置内核过程中选择为m的项)
7.安装内核模块 make modules_install 安装后,编译好的内核模块会从内核源代码目录cp至/lib/modules/2.6.29
8.制作初始化RAM磁盘initrd 跳转到内核所在目录的上层目录,mkinitrd initrd-2.6.29 2.6.29,将在上一部中产生的模块目录/lin/modules/2.6.29制作成initrd-2.6.29(ubuntu使用 mkinitramfs)
initrd是在实际根文件系统可用之前挂在到系统中的一个初始化文件系统,在桌面linux中 它是一个临时的文件系统,生存周期很短,只会作到真实文件系统的桥梁,但是在没有存储设备的嵌入式系统中,initrd可以使永久性的文件系统,
9.安装内核,由于linux系统启动时,会从/boot下寻找内核文件与init ramdisk,所以要将内核文件和initrd拷贝至/boot下
cp initrd-2.6.29 /boot
cp linux-2.6.29/arch/x86/boot/bzImage
10.修改grub配置文件/etc/grub.conf(这实际上是/boot/grub/grub.conf的一个链接,真正的配置文件 在/boot/grub/目录下)
加入如下代码:title mylinux(2.6.29)
root(hd0.0)
kernel /boot/vmlinuz-2.6.29 ro root=LABEL=/ quiet
initrd /boot/initrd-2.6.29
添加这些代码时一定要仔细,否则无法启动
阅读(795) | 评论(0) | 转发(0) |