Linux移植加载kernel image、dtb、rootfs文件系统的几种方法总结
前言
我的开发板是exynos4412,NandFlash中有官方提供的提供的linux-3.5。想移植Linux-6.1,又不想破坏NandFlash中原有的操作系统(毕竟更完善一些),一直尝试用TFTP、nfs、SD卡方式来加载kernel image、dtb、rootfs文件系统。现把我的博客总结一下,供大家参考。
这个过程中,碰到了很多问题,但是最后发现最主要是前2个原因:
- 设备树的写法不正确
- u-boot的bootargs缺项
- 少数需要修改内核、u-boot的make配置
- 极少数问题需要修改内核中的驱动
一、TFTP
1、u-boot移植DM9000A
首先,要在u-boot中移植dm9000a网卡的驱动,有2种方法。
- 第一种方法比较简单,只涉及网卡驱动,好理解
为Exynos4412移植2022版U-Boot(三)——添加DM9000网卡驱动 - 第二种方法更规范,但是涉及设备树解析