UBOOT、KERNEL移植过程(二)
BOOT、KERNEL移植过程(二)
KERNEL内核移植
之前我们已经成功移植了Uboot,虽然还有启动时蜂鸣器一直在响,不过这也是后续能够解决的问题,接下来先进行Kernel内核的移植
下载内核
可以从官方下载imx6ull的内核,当然由于是外网的且文件较大下载会很久,可以先选择分支然后下载指定分支的压缩包也可
1 | 下载整合包 |
若已经从郭工文件服务器下载imx6ull包的,内核的路径在
1 | # 我这里把imx6ull的文件夹下载到~路径下 |
修改顶层的Makefile
1 | ARCH = arm |
建立自己的板子配置
拷贝配置文件
1 | 查看已经编写好的配置文件 |
拷贝设备树文件
1 | 学习驱动时已经知道,设备树文件使用的是arch/arm/boot/dts/igkboard.dts |
编辑完成设备树文件后,将新增的设备树文件添加进编译
1 | vim arch/arm/boot/dts/Makefile |
方法一:可以在这里添加igkboard.dtb
1 | # 先在这里添加igkboard.dtb的编译结果 |
方法二:直接在空闲地方添加这三句,效果等同
1 | DTC_FLAGS_igkboard := -@ |
尝试编译一下,回到~/imx6ull/bsp/kernel/linux-imx/
目录下
1 | make igkboard_defconfig |
编译成功后,复制编译出的dtb设备树文件和zImage
1 | cp arch/arm/boot/zImage ~/tftp/igkboard/ |
移植完成,接下来还需要一个根文件系统进行测试
移植根文件系统
方法二:Ubuntu 18.04.05 LTS根文件系统来进行移植
ubuntu-base文件系统下载地址:http://cdimage.ubuntu.com/ubuntu-base/releases/
ubuntu-base-18.04.5-base-armhf.tar.gz
是一个Ubuntu操作系统的压缩文件,适用于基于ARMv7架构的设备。它包含了Ubuntu 18.04.5的基本系统文件和软件包(不包括图形用户界面),可以作为构建定制化嵌入式Linux系统的基础。
"armhf"
是”ARM hard-float”的缩写,表示该Ubuntu操作系统针对采用ARMv7架构的设备进行了优化。ARMv7架构支持硬件浮点运算(hard float)
,因此被称为”hard-float”。
Ubuntu针对ARMv7架构的设备提供了特定的版本——armhf
版本,以充分利用硬件性能。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Roxy Blog!
评论