欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

编译ARM开发板的内核镜像(linux)

程序员文章站 2022-03-30 10:42:52
...

编译内核其实本质上就是熟悉流程与配置的更改,本文暂时只介绍流程,对于更改,以后详谈。
一点要注意 :需要先安装arm-linux-gcc 交叉编译器!切记!

获取内核源码

如果你有开发板,那么商家大多会给你资料,其中就有对应该开发板SOC的linux内核,如果里面没有对应的linux内核源码,那么本文不适合你了,你需要移植或自己找对应的内核源码。

开始制作镜像

既然已经获得了源码包,经过ubuntu下的tar xvf 命令解压后,就可以进入到文件夹中。
编译ARM开发板的内核镜像(linux)
编译ARM开发板的内核镜像(linux)
在进入之后第一步就是使用make distclean 清除一下,类似出厂设置,以防自带的配置影响你的需要。

make distclean

之后查看你的arch/arm/configs/ 目录下的文件

ls arch/arm/configs/

编译ARM开发板的内核镜像(linux)
找到你的开发板的平台的预制配置,这个一般来说是厂家提供的。
以我的 x6818_defconfig 为例
使用命令 make x6818_defconfig

make x6818_defconfig

编译ARM开发板的内核镜像(linux)
在这一步过后,根据你的需求可以生成镜像了
我使用的是 uImage,所以 make uImage

make ulmage

如果你是第一次,那么你需要漫长的等待,在不出错的情况下,你会看到这个画面

编译ARM开发板的内核镜像(linux)
一般不会出错的啦,毕竟都是厂家搞好的。
在这一步之后,进入到boot目录里,创建一个文件夹,把uImage放入其中并执行

cd arch/arm/boot/
mkdir test	
cp uImage test/
cd test/

编译ARM开发板的内核镜像(linux)
之后还要进行一步,就是吧生成的uImage变成boot.img
使用make_ext4fs -s -l 67108864 -a boot boot.img ./ 命令

make_ext4fs -s -l 67108864 -a boot  boot.img  ./

如果出现这个错误,那就乖乖安装就好了
编译ARM开发板的内核镜像(linux)
乖乖安装。。。。

sudo apt install android-tools-fsutils

再次执行
make_ext4fs -s -l 67108864 -a boot boot.img ./

make_ext4fs -s -l 67108864 -a boot  boot.img  ./

这就成功了
编译ARM开发板的内核镜像(linux)
使用ls 命令查看,在当前目录已经有boot.img 了
编译ARM开发板的内核镜像(linux)
使用fastboot把boot.img烧录进去吧
使用开发板进去 bootloader 中输入 fastboot
编译ARM开发板的内核镜像(linux)
之后插上OTG线,打开Powershell吧

fastboot flash boot .\boot.img

编译ARM开发板的内核镜像(linux)
之后出现下图,之后就可以重启开发板了
编译ARM开发板的内核镜像(linux)

因为之前有文件系统所以直接开机了,完事
编译ARM开发板的内核镜像(linux)

相关标签: 内核