资料来源于百问网嵌入式Linux应用开发完全手册V5.1
1.编译内核
(1)设置交叉编译链
vim ~/.bashrc
修改./bashrc文件,~/.bashrc是Linux中bash shell的初始化脚本之一。每次打开一个新的终端窗口时,bash shell都会自动执行它来设置环境变量、别名、函数、终端提示符等等。需要注意的是,如果修改了~/.bashrc文件,需要重新执行source ~/.bashrc或打开一个新的终端窗口才能使更改生效。
在行尾添加或修改,加上下面几行
export ARCH=arm
export CROSS_COMPILE=arm-buildroot-linux-gnueabihf-
export PATH=$PATH:/home/book/100ask_imx6ull-sdk/ToolChain/arm-buildroot-linux-gnueabihf_sdk-buildroot/bin
export KERN_DIR= /home/book/100ask_imx6ull-sdk/Linux-4.9.88
最后执行source ~/.bashrc
(2)编译内核
book@100ask:~/100ask_imx6ull-sdk$ cd Linux-4.9.88
book@100ask:~/100ask_imx6ull-sdk/Linux-4.9.88$ make mrproper
book@100ask:~/100ask_imx6ull-sdk/Linux-4.9.88$ make 100ask_imx6ull_defconfig
book@100ask:~/100ask_imx6ull-sdk/Linux-4.9.88$ make zImage -j4
book@100ask:~/100ask_imx6ull-sdk/Linux-4.9.88$ make dtbs
book@100ask:~/100ask_imx6ull-sdk/Linux-4.9.88$ cp arch/arm/boot/zImage ~/nfs_rootfs
book@100ask:~/100ask_imx6ull-sdk/Linux-4.9.88$ cp arch/arm/boot/dts/100ask_imx6ull-14x14.dtb ~/nfs_rootfs
(3)安装内核模块到开发板
mount -t nfs -o nolock,vers=3 192.168.5.11:/home/book/nfs /mnt
cp /mnt/zImage /boot
cp /mnt/100ask_imx6ull-14x14.dtb /boot
cp /mnt/lib/modules /lib -rfd
sync
最后重启开发板,就可以使用新的zImage,dtb、模块了。