《此生不换独家通信专业资料-76》由会员分享,可在线阅读,更多相关《此生不换独家通信专业资料-76(8页珍藏版)》请在金锄头文库上搜索。
1、内核编译,苏锦秀 ,内核编译,三个重要的内核文件 编译命令 编译过程探讨,三个重要的内核文件,Makefile;整个内核工程编译命令的集合。作用:根据配置情况,构造出需要编译的内核源码文件列表,然后分别编译,并把目标代码链接到一起,形成内核二进制文件 Kconfig:控制make menuconfig时出现配置选项,并根据用户的配置界面的选择生成.config配置文件 .config:内核配置文件,编译命令,wget http:/www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.35.4.tar.bz2 cp linux-2.6.35.4 /usr/
2、src/ tar -xvf linux-2.6.35.4.tar.bz2 make menuconfig make bzImage make modules sudo make install sudo make modules_install sudo make mkinitramfs o /boot/initrd.img-2.6.35.4 2.6.35.4 sudo vim /boot/grub/grub.cfg reboot,编译过程探讨,make menuconfig基于文本菜单的配置界面 make config基于文本 make xconfig需要QT支持 make gconfig需
3、要GTK+支持 这里选择make menuconfig。显示的menu list是由各层Kconfig组成。最底层:源码目录下的arch/x86/Kconfig,由此入口,使用source把需要的加入的各个目录的Kconfig,以此递归下去。 我们对选项进行配置(【】,【*】,【M】)。最后根据我们的配置,生成.config文件,编译过程探讨,make bzImage 根据.config和Makefile文件编译内核在arch/x86/boot/下生成bzImage文件 bzImage:压缩的内核文件 make modules 根据.config和Makefile文件编译内核模块,生成以内核版
4、本号为文件名的模块文件 这里Makefile使用.config文件配置数据构造各种文件列表,根据列表开始编译内核或者模块,sudo make install 将内核安装到/boot目录下,有bzImage,System_map 文件都安装到/boot System_map:符号表。每行为地址、属性、符号名 sudo make modules_install将模块文件安装到/lib/modules下 sudo make mkinitramfs o /boot/initrd.img-2.6.35.4 2.6.35.4 这里选择生成initrd文件。否则可能会导致错误 Initrd:initial RAM disk.RAM disk可以以root文件系统挂载,然后其他程序可以运行在上面。引入这个主要是为了使系统可以在两个时期启动:在最少量的驱动时和其他模块从initrd加载过来时。,编译过程探讨,Q&A,Thanks,