NUC980开源项目18-从SD卡启动内核

上面是我创建的群聊,欢迎新朋友的加入。

项目码云地址(国内下载速度快):https://gitee.com/jun626/nuc980-open-source-project

项目github地址:https://github.com/Jun1172/nuc980-open-source-project

ubuntu镜像,文件太大,加群私聊。

1.格式化SD卡

翻了几遍官方资料,都没有提及怎么制作SD启动镜像

相比于NAND和SPI,EMMC或者SD卡速度会快一些,然后容量也更大,更主要的一点是直观

可以很直观的看到内核、文件系统的数据

打开gpard

看到这我不得不吐槽一下了,官方的nuwrite在格式化的时候。可以拉那个条条选择分区大小,但是我尝试了好几次,例如我想第一个分区给1024M,就是拉不到这个数值

扫描二维码关注公众号,回复: 11175006 查看本文章

真是个技术活(ps:什么软件,一点都不好用)

还是自己分的靠谱

2.制作镜像

先拷贝kernel和文件系统到分区内,这里要用uimage

还有一步是烧录Uboot。

我尝试了用uboot直接写入,发现并不能检测到image

后面查资料发现

Uboot并不是直接写到内存的,而是有一段数据头

而这段带数据头的uboot文件,被写在SD卡的1k偏移位置

所以这一步要么自己按照协议写这个数据头,要么直接用软件,我比较懒,直接用软件刷一下,毕竟我要的是rootfs和kernel能被直观看到。uboot并不需要

能查到镜像文件

setenv bootcmd 'fatload mmc 0:1 100000 980uimage;bootm 100000'

设置环境变量

boot

启动

成功加载

启动失败了,想起之前编译镜像的时候,带了文件系统,把那个去掉试试

烧录,重新配置环境变量

setenv bootargs 'console=ttyS0,115200n8 noinitrd rw rootfstype=ext3 root=/dev/mmcblk0p2 rootwait mem=64M'

卡住不动了

应该是MMC驱动没开

打开kernel配置界面,发现果然没使能MMC,现在使能他

再次尝试登陆

识别到SD卡,成功进入文件系统

完成

原创文章 140 获赞 77 访问量 15万+

猜你喜欢

转载自blog.csdn.net/Jun626/article/details/104737311
今日推荐