一、基于PC机x86体系结构的升级(ubuntu10.04为例)
1、解压源码,进入目录
2、生成.config文件,从/boot目录下拷贝当前系统的配置文件(config-内核版本号),或者从源码目录路径arch/x86/configs/i386_defconfig生成配置文件,使用命令make i386_defconfig,熟悉内核配置的话可以利用make menuconfig逐项配置
3、make -j4 bzImage,编译内核,时间长短根据.config配置文件情况而定
4、make modules,根据配置文件编译模块
5、make modules_install,安装新模块文件到/lib/modules目录下
6、make install,安装新内核、配置文件到/boot目录下
7、制作initrd文件,ubuntu/Debine下使用mkinitramfs (版本号) -o /boot/initrd.img-版本号,fedora下使用mkinitrd工具
8、更新引导配置文件:update-grub命令,或者直接编辑/boot/grub/grub.cfg文件
9、reboot
二、配置、编译基于ARM体系结构的内核
1、修改源码顶层目录下的Makefile,ARCH=arm,CROSS_COMPILE=arm-linux-,保存退出
2、make menuconfig裁剪内核,把不需要支持的驱动、文件系统和其他功能去掉,不让它编译进内核,最好控制在2M以内。源码目录下也有自带的配置文件make s3c2410_defconfig,可以兼容s3c2440
3、make uImage,uImage为uboot专门引导的内核文件格式,前面有一些特定的头信息,时间一般20分钟左右
4、make modules
5、利用busbox制作根文件系统,也需要指定交叉编译工具链
6、make modules_install,需指定安装路径为自己制作的根文件系统目录
7、利用uboot网络下载内核、根文件系统到开发板中(方法有nfs、tftp、usb下载)
注:开发板可以利用nfs服务挂载宿主机上的文件系统目录来直接启动,这样有利于开发测试,需要修改uboot的启动参数