完全编译过程(以下步骤都是在内核源代码目录/usr/src/linux-3.5.7 下进行):
1. 清理以前编译时留下的临时文件:
sudo make mrproper
2. 将以前的配置拷贝过来(选做):
cp /boot/config-`uname -r` ./.config
3. 配置内核选项
sudo make menuconfig
这时会弹出图形菜单,根据自己需要及机器情况,选择CPU,Device drive等选项
4. 编译内核
sudo make-kpkg clean
sudo
make-kpkg -initrd --initrd --append-to-version=dell1400 kernel_image
kernel-headers
根据配置情况,编译过程大约需要1~2个小时
一般情况下仅对内核的部分文件做小的改动(加入日志等等),这样就不需要对内核进行全编译,全编译既耗时,而且如果配置选项没有正确设置,很可能造成编译安装失败,所以正常情况下我们只对内核做增量编译,下面列一下步骤:
cd /usr/src/linux
make
depmod
这个过程应该很快(根据改动文件大小),然后生成两个文件:system.map bzImage
将这两个文件移动到开机目录下:
mv
/usr/src/linux/system.map /boot/system.map
mv /usr/src/linux/arch/x86/boot/bzImage /boot/vmlinuz
如果有必要的话修改开机菜单(/boot/grub/grub.cfg),重启系统则编译后的新内核会启用
下面再简单说一下make mrproper与make clean的区别:
make mrproper命令会删除所有的编译生成文件、内核配置文件(.config文件)和各种备份文件,所以几乎只在第一次执行内核编译前才用这条命令。
make clean命令则是用于删除大多数的编译生成文件,但是会保留内核的配置文件.config,还有足够的编译支持来建立扩展模块。所以你若只想删除前一次编译过程的残留数据,只需执行make clean命令。
总而言之,make mrproper删除的范围比make clean大,实际上,make mrproper在具体执行时第一步就是调用make clean
阅读(3081) | 评论(0) | 转发(1) |