前言
- 说明为什么使用SD卡挂载petalinux根文件系统
- 如何使用SD卡挂载根文件系统
- 配置根文件写入类型
- 制作SD分区
- 格式化SD卡
- 将工程目录下的rootfs.tar.gz解压到SD EXT4分区
为什么使用SD卡挂载petalinux根文件系统
- Petalinux 默认的根文件系统类型是 INITRAMFS,不能保存文件和配置,也就说每次上电重启都会恢复最新的状态
如何使用SD卡挂载根文件系统
- 如果使用SD卡引导linux系统启动,一般需要在SD卡上有2个分区。一个分区使用FAT32文件系统,
用于放置启动镜像文件(如 BOOT.BIN,boot.scr 文件和 linux 镜像文件等),另一分区使用 EXT4 文件系
统,用于存放根文件系统。
配置根文件写入类型
-
在当前工程目录下使用指令
- petalinux-config
-
进入配置页面
- Image Packaging Configuration —> Root filesystem type
- 选择EXT4
-
Exit
-
当前页面 --> Device node of SD device
- 这个的选择一般默认就行,但是为了系统能够正常启动,建议使用之前的镜像文件先进入系统看一下具体值进行修改(大数据能让你看到这个笔记,那你也很大几率已经使用默认的挂载方式成功进入系统了)
- 进入系统(默认账号密码均为root)
- 进入/media目录查看Device node
-
在配置中设置node,需与上图查看的保持一致
-
主要的修改是mmcblk0p2/mmcblk1p2
-
Save
-
Exit
-
检查
-
重新编译
-
打包镜像
- petalinux-package --boot --u-boot --fsbl --force
-
解压根文件系统到SD卡的EXT4分区(如何制作SD卡)
制作SD卡
-
在linux系统中使用ls /dev/s* 查看设备
-
插入U盘,再次使用ls /dev/s* 查看设备
-
对比找到U盘对应的设备描述符
-
我的是/dev/sdb1和/dev/sdb2,后面也是根据这个操作,如需执行相同的操作只需更改为自己的设备就行
-
卸载设备: umount /dev/sdb*
-
查看设备:sudo fdisk /dev/sdb
-
删除原来分区
-
制作分区,并改变类型
- 第一个分区
- 第二个分区
- 查看确认并保存
-
格式化分区
- 格式化第一个分区为FAT,并命名为boot
- 格式化第二个分区为EXT4,并命名为rootfs
- 如果格式的时候报错,估计是U盘又挂载到系统上了
- 重新插入U盘如果只能在/media/(你的PC用户名)/目录下只看见一个分区
- 重新格式化 sudo mkfs.ext4 -L rootfs /dev/sdb2:
- 手动挂载:
-
解压根文件系统(工程目录下)
- sudo tar -zxvf ./images/linux/rootfs.tar.gz -C /media/kemao/rootfs
- 需要将/media/kemao/rootfs替换为你自己的路径