按照黑金教程移植的Linux,开发板启动后挂载的文件系统其实是 uImage 镜像中小文件系统(即 ramdisk 中的文件系统)。Linux启动后会出现这样的提示 “mmc1: tried to reset card”、“blk_update_request: I/O error, dev mmcblk1rpmb, sector 0”、“mmcblk1rpmb: timed out sending r/w cmd command, card status 0x400900”。网上各种百度别人怎么挂载SD卡中的文件系统都不行,最后找到技术支持,三加五除二就解决了,在学习东西的过程中有人指导太重要了。在这记录一下加载SD卡上文件系统的过程。
在创建 petalinux 工程的过程中,在执行 “petalinux-config --get-hw-description ../design_1_wrapper_hw_platform_0/” 命令之后会弹出图形配界面,在Image Packaging Configuration --> Root filesystem type 选项中选择 SD card,把根文件系统放在SD卡中,默认是在INITRAMFS中。
后面的步骤完全按照黑金教程移植即可。将文件系统更换到SD卡以后,关于一些开机自启配置可以通过上一篇博客中新建petalinux 中的App来完成,也可以直接修改文件系统中对应的初始化文件来完成。