整理移植操作系统到开发板要进行的工作,具体步骤
-
安装tftp服务器和nfs服务器,准备需要下载到开发板文件,存放在指定下载文件夹下,准备需要挂载到开发板文件夹,存放在指定挂载文件夹中。
-
ubuntu和开发板组网,关闭防火墙,关闭杀毒软件,配置ubuntu网络,桥接到自己网卡,选择桥接模式,开发板网络设置serverip,ipaddr,netmask,gatewayip四个参数,最后测试。
-
获取uboot源码,查看源码的帮助手册,确定板子的配置命令。
-
在uboot源码执行清除命令,配置交叉编译工具链,执行对应版本默认配置命令,再对板子的公板的设备树信息进行拷贝,修改为对应板子的信息。
-
在Makefile中添加板子平台的信息,回到源码目录下进行编译。
-
进行测试,根据提示错误信息,由于公板和板子有差异,修改对应的配置文件,最后编译。
-
移植网卡,修改对应设备树信息
-
获取tf-a源码,在源码顶层目录下,配置交叉编译工具链,在源码目录下给源码打补丁,再对板子的公板的设备树信息进行拷贝,修改为对应板子的信息。
-
TF-A源码顶层目录下,打开Makefile.sdk文件,搜索TFA_DEVICETREE,添加板子的名称,在tf-a源码目录下,对tf-a源码进行编译。测试,根据提示错误信息,修改对应的配置文件,再编译。
-
获取内核源码,查看帮助文档,在linux内核源码目录下,打开Makefile文件,搜索CROSS_COMPILE,配置交叉编译工具链。在内核源码目录下,对内核源码进行打补丁,将补丁文件配置列表,打入到当前源码目录下,再对板子的公板的设备树信息进行拷贝,修改为对应板子的信息。对内核源码进行编译。测试,根据提示错误信息,修改对应的配置文件,再编译。最终生成uImage镜像文件和设备树文件。
-
制作根文件系统,获取源码,配置交叉编译工具链,执行make menucinfig,进入图形化界面修改相关配置,编译,根据提示错误信息,进行修改测试。产品阶段需要将根文件系统以ext4格式进行压缩打包。
-
开发阶段部署
-
在EMMC中固化uboot启动程序
-
开发板上电,将uboot镜像文件加载到开发板内存中
-
uboot启动成功之后
-
通过tftp服务器,将uImage镜像文件和设备树文件下载到开发板内存中
-
下载成功之后,内核进行启动,内核启动成功之后
-
通过nfs服务器,将ubuntu指定的文件夹,挂载到开发板内存中
-
开发阶段linux操作系统启动成功。
-
产品阶段部署
-
在EMMC中固化uboot启动程序、uImage镜像文件、设备树文件、根文件系统镜像文件
-
开发板上电,将uboot镜像文件加载到开发板内存中
-
uboot启动成功之后
-
将EMMC中对应的镜像文件读到内存中
-
启动内存地址
-
产品阶段linux操作系统启动成功。