Linux内核编译

一、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:

简书参考:https://www.jianshu.com/p/eece4167999d

原文地址:https://www.cnblogs.com/uestc-mm/p/6464261.html