一、Linux系统移植概念
需要移植三部分东西,Uboot ,内核 ,根文件系统 (rootfs) ,这三个构成了一个完整的Linux系统。
把这三部分学明白,系统移植就懂点了。
二、Uboot
1、啥是Uboot
uboot就是引导程序下载的一段代码,有三种我们可以去使用的,可以去开发的。
1.官网uboot ,比较原始
2.半导体厂商的uboot ,半导体厂商比如NXP,自家开发板对应修改裁剪的,可靠性比较好
3.还有自己厂家自己做的Uboot,比如说正点原子自家加的开发板,做的Uboot
现在用的正点原子开开发板,还没有自己修改Uboot的啥水平,先用的他们的Uboot跑跑,主要做法:
1.把他们Uboot弄到虚拟机里,配置一下编译前的版本信息,然后进行编译生成镜像文件.mix
2.通过SD卡下载到开发板
3.跑一跑,学一学
但是通过SD卡下载到开发板出现了一个坑:
虚拟机识别不到SD卡,咋办呢,最后慢慢摸索出来了
主要关注下面的内容
1.虚拟机设置,添加USB控制器设置

2.主机设置,打开VMware USB服务

接着

然后重启虚拟机
3.插入SD卡,选择断开连接,然后重新连接就行了

也可以看看有没有这个图标,有着图标说明就可以了

2、Uboot如何用
使用Uboot当然要用一些命令去操作,主要是一些增、删、改、查的命令。
用这些命令的能操作哪些对象要了解,比如操作信息查询、修改环境变量、操作内存、操作网络,等等,操作这些对象干啥,要了解。
boot命令记一下bootz、bootm 和 boot。
bootz加载镜像文件zImage。也能瞄准地址,加载设备树文件,可以自己试试这个命令。
bootm也差不多,启用uImage。