哈工大计算机学院嵌入式系统设计与实现 实验 Linux内核移植实验

实验任务:编译设备树和Linux内核镜像文件,拷贝到sd卡中,再从sd卡中拷贝到nand闪存对应的分区中,最后nand启动,进入linux系统

本篇博客内容:

1.实验流程

2.注意事项

1.实验流程

1.安装Linux内核源码,清理Linux内核,配置Linux内核

照着实验指导书上敲命令就完事了

配置Linux内核的这一步骤,可以跳过:

哈工大计算机学院嵌入式系统设计与实现 实验 Linux内核移植实验

2.编译设备树,编译linux内核,拷贝到sd卡

照着实验指导书去编译设备树和Linux内核,把编译出来的dtb设备树文件和zImage内核镜像文件给拷贝到sd卡的boot分区下。(有些人编译出问题,详见注意事项)

(记住这两个文件所在的路径,老师验收的时候会让你找到这两个文件)

这两步编译可以不做

哈工大计算机学院嵌入式系统设计与实现 实验 Linux内核移植实验哈工大计算机学院嵌入式系统设计与实现 实验 Linux内核移植实验

第3步:把sd卡中的设备树和zImage镜像文件给固化到nand闪存的对应分区上。

这一步固化操作和上一个实验的u-boot实验一样,在 /disk1/用户手册/4-2-1 那份文件里有详细方法,

不知道眼尖的你有没有发现,4-2-1那份文件里有更加投机取巧的固化方法:

哈工大计算机学院嵌入式系统设计与实现 实验 Linux内核移植实验

是的,就是这个脚本,在sd卡的rootfs的/opt目录下,可以进入该目录,运行这个脚本,就可以把你sd卡里面刚才拷贝的文件给一键固化到对应的nand闪存分区

第4步:nand启动

固化完成后,关机,选择nand启动(01100),开机,开发板会选择从nand闪存读取数据启动,因为我们之前已经拷贝进去了Linux的内核镜像文件,所以,在u-boot实验的基础上,我们更进一步,可以最终启动Linux系统了。

当你nand启动完,出现tronlong的标志时,说明你实验做成功了。

2.注意事项

1.有些人编译设备树和内核镜像文件不成功

我也遇到过,但是忘了截图。这里说一下,大概率是文件权限的问题。你可能在配置的时候,某一步误使用了sudo权限,导致有些文件对普通用户没有访问,读,写,执行,权限rwx。

具体看报错内容提示是哪个文件,你可以去修改该文件的权限。

或者根据指导书来,清理内核,重配置编译