首页 > 试题广场 >

说明:当前内核源代码所在的位置: homeecustL

[问答题]

说明:当前内核源代码所在的位置: /home/ecust/Linux/linux-3.2.tar.bz2 ,Toolchain所在的位置: /home/ecust/ToolChain/toolchain-4.5.1.tar.bz2 ,掌握嵌入式Linux内核的编译过程。

1.编译内核的命令有哪些?它们有什么区别?

2.如何安装交叉编译环境?

3.简述arm-linux内核的编译及烧写过程?


以下是网上搜的:
1、在http://www.kernel.org/上下载最新的内核源代码linux-2.6.33.1.tar.bz2,放在/liqiong/Linux内核 目录下,liqiong是Linux OS的第一个用户名。 
2、进入Linux内核源码所在的目录(cd Linux内核),解压该内核代码到/usr/src下: 
sudo tar -xjvf linux-2.6.33.1.tar.bz2 -C /usr/src 
3、进入Linux内核源码解压后的目录/usr/src/linux-2.6.33.1(cd /usr/src/linux-2.6.33.1) 
4、sudo make mrproper         净化解压后的源代码
5、sudo make menuconfig 对内核选项进行配置
6、对于配置可选择General Setup或者选择其他的自定义选项保存后退出。 
7、sudo make dep         建立模块间的依赖信息 
8、sudo make clean       删除配置时留下的一些不用的文件 
(7、8两步可能对于一些PC没有作用) 
9、sudo make bzImage     编译内核,内核较小时可以用make zImage 
10、sudo make modules    编译内核模块 
当然,在编译内核时,可通过make-j<n>来加速内核的编译,n一般等于CPU数量的两倍。单核,n=2;双核,n=4.即执行sudo make -j4就可以编译了! 
11、sudo make modules_install   安装内核模块 
12、sudo make install           安装内核 
13、cd / 后在终端输入:sudo mkinitramfs 2.6.33.1 -o /boot/initrd.img-2.6.33.1-generic 
14、到此为止,构建内核完毕,第十二步把内核映象和System.map拷贝到/boot/下 
#sudo cp /usr/src/linux-2.6.33.1/arch/i386/boot/bzImage /boot/vmlinuz-2.6.33.1-generic 
#sudo cp System.map /boot/System.map-KERNEL_VERSION 
#sudo ln -s /boot/System.map-KERNEL_VERSION /boot/System.map 


发表于 2018-01-07 16:58:47 回复(0)