基于ARM开发板的内核镜像编译(Linux平台)

PS:开始前一定得安装交叉编译器,博主这用的是4.6.4的版本

①获取内核源码并更改

在购买开发板时厂家一般会附有关于该开发板的一些资料,其中应该就包括开发板的内核源码,在获得内核源码后,进行需要的改动后即可开始进行编译。
使用tar vxf *.tar.bz2命令对源码包进行解压后即可按需更改,这里博主使用版本的是kernel-3.4.39,所以是。

tar vxf kernel-3.4.39_v4_mipi.tar.bz2

xtrabackup arm架构镜像 arm版linux镜像_arm

②开始制作镜像文件

在获得并按照需求更改内核源码后,使用make distclean清除不需要的设置,使其恢复最初状态,放置自带的配置影响自身需要。

make distclean

然后使用ls命令查看*/arch/arm/configs/目录下该源码支持的版本,找到你自己开发板的预制配置。

ls arch/arm/configs/

xtrabackup arm架构镜像 arm版linux镜像_arm_02


博主的是x6818平台,所以以x6818_defconfig为例。

使用命令make x6818_defconfig选定配置,出现configuration written to .config字样则为选定成功

make x6818_defconfig

xtrabackup arm架构镜像 arm版linux镜像_linux_03


选定成功后即可生成镜像了,镜像有zImage和uImage等格式,博主使用的是uImage来编译,所以使用make uImage命令来生成uImage镜像文件。

make uImage

如果是第一次编译的话,会编译的时间长一点出现如图的滚屏

xtrabackup arm架构镜像 arm版linux镜像_linux_04


在出现Image arch/arm/boot/uImage is ready字样后,代表编译完成。

xtrabackup arm架构镜像 arm版linux镜像_arm_05


之后进入arch/arm/boot目录,新建文件夹,把uImage复制到其中进行操作。

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

xtrabackup arm架构镜像 arm版linux镜像_嵌入式_06


使用make_ext4fs -s -l 67108864 -a boot boot.img ./ 命令使uImage转换成boot.img

xtrabackup arm架构镜像 arm版linux镜像_linux_07

PS:此处若出错,则可能是缺少组件造成的,使用sudo apt-get install android-tools-fsutils命令进行安装后再尝试即可

ls查看后文件夹内确实有boot.img文件了

xtrabackup arm架构镜像 arm版linux镜像_嵌入式_08

③烧录镜像到开发板

博主使用的方法是把文件导出到windows目录下使用OTG方式进行烧录。
使用串口线链接开发板和PC,运行开发板时进入BootLoader模式,输入fastboot指令进入烧录模式,然后使用OTG数据线链接开发板和PC,在PC上打开powershell或者cmd,进入boot.img所在目录,使用fastboot flash boot .\boot.img命令进行烧录。
在出现finished. total time:*s的字样后表示镜像烧录完成。

至此,完成基于ARM开发板的内核镜像编译和烧录