一、Debian下的内核编译过程
下面是自己写的Shell脚本,还没有测试,目前按照要求编写的,有问题的地方请大家指出,待我实验之后在确定脚本的可行性!!
1 mkdir Kernel_Code 2 wget https://codeload.github.com/torvalds/linux/tar.gz/v4.4 3 tar -xzvf v4.4 4 local_path=$(pwd) 5 Kernel_Folder=${local_path}"/linux-4.4" 6 cd $Kernel_Folder 7 cp /boot/config-4.4.0-57-generic ./ 8 mv config-4.4.0-57-generic .config 9 sudo apt-get install kernel-package libncurses5-dev 10 make clean 11 make menuconfig 12 make -kpkg clean 13 make -kpkg --initrd kernel-headers kernel_image 14 cd ../ 15 sudo dpkg -i *.deb 16 sudo reboot
二、mini2440开发板的内核镜像编译过程
1、下载对应的linux内核的版本(我下载的是v4.4的版本):
下载地址:https://github.com/mm1994uestc/linux/releases/tag/v4.4
2、解压配置对应的文件:
tar -xzvf linux-4.4.tar.gz
cd linux-4.4/
cp arch/arm/configs/mini2440_defconfig .config
make menuconfig
从linux-2.6.31开始Mini2440被正式加入Linux官方内核,因此arch/arm/configs目录中包含了Mini2440的默认配置文件mini2440_defconfigmake
menuconfig是必须的,就算并没有在菜单界面中做任何配置,但是调用它可使上述配置生效(退出菜单配置界面时提示是否保存,要确认)
linux-2.6.34.7/Documentation/arm/README中有关于交叉编译的说明
3、编译make解压配置之后的Source文件如下所示:
在当前图中目录进行make(开启8个线程进行编译以加快速度):
make -j8
4、编译的过程以及编译的结果如下:
编译过程(大概半个小时)
最后生成了对应的设备驱动等
编译的结果(生成我们需要的zImage文件)
ls -al arch/arm/boot/ | grep zImage
注意目标文件Zimage是保存在arch/arm/boot/文件夹当中的
至此,我们已经成功的将用于mini2440硬件的内核镜像编译完成了,接下来就可以下载使用了。
Reference: