移植的目的:
一、移植
不同架构的处理器指令集不兼容,即便是相同的处理器架构,板卡不同驱动代码也不兼容 。linux是一个通用的内核并不是为某一个特定的处理器架构或板卡设计的,所以从官方获取linux源码后,我们要经过和板卡进行相应的配置,才能进行编译和安装。
二.卡发版的启动流程
1.开发板上电后首先运行SOC内部iROM中固化的代码(BLO)这段代码先对基本的软硬件环境(时钟等...)进行初始化,然后再检测拨码开关位置获取启动方式,然后再将对应存储器中的uboot搬移到内存,然后跳转到uboot运行。
2.uboot开始运行后首先对开发板上的软硬件环境做进一步初始化,然后将linux内核、设备树(dtb)、根文件系统(rootfs)从外部存储器 (或网络) 搬然后跳转到Iinux运行移到内存.
3.linux开始运行后对系统环境进行初始化,当系统启动完成后,Linux在从内存挂载根文件系统。
三、系统移植步骤:
uboot移植
Linux内核移植(包含设备树)
根文件系统移植