sd与mmc刷写指南
Env
Host: Ubuntu 22.04
GParted 1.3.1
SD卡
首先插入sd卡,打开GParted工具,没有可以下载一个:
❯ sudo apt install gpart |
选择sd卡设备,我这里是sdb,因机器而异。
选择菜单栏的设备
->创建分区表
,选择msdos分区表。
创建完成之后,新建两个分区。
一个fat16的,用于放内核镜像和dtb文件以及uboot保存的env文件。
一个ext4用来存放根文件系统。
完成之后点击绿色小对勾,让更改生效。
之后便可以在/dev
下看到对应的分区:
❯ ls /dev/sdb* |
下载uboot镜像:
❯ sudo dd if=u-boot-sunxi-with-spl.bin of=/dev/sdb bs=1024 seek=8 |
存放内核镜像和设备树:
❯ sudo mount /dev/sdb1 /mnt |
存放根文件系统:
❯ sudo mount /dev/sdb2 /mnt |
EMMC
对于EMMC操作复杂一些,需要修改uboot,打开CONFIG_CMD_USB_MASS_STORAGE的配置项。
进入fel模式将uboot下载进入内存并运行:
❯ sudo sunxi-fel uboot ./u-boot-sunxi-with-spl.bin |
在uboot自动启动内核前打断,并且输入如下命令:
=> ums 2 mmc 1 |
这个命令是将mmc的1号设备通过usb 2号挂载出去。就相当于电脑插了个U盘。
我这里mmc的1号设备是emmc,usb2号是otg接口,需要根据实际情况修改。
使用如下命令可查询对应的接口号:
=> mmc list |
然后电脑就能看到了/dev/sdX
,随后的操作与SD卡相同。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 TroyMitchell's blog!