文章目录
- 系列文章目录
- 前言
- 一、根文件系统是什么?
- 二、根文件系统烧进emmc
- 1.emmc是什么?
- 2.根文件系统的位置
- 3.分离根文件系统步骤1.1
- 4.分离根文件系统步骤1.2
- 5.分离根文件系统步骤2.1
- 三、根文件系统进emmc,设备树和镜像进flash
系列文章目录
ZYNQ----------PS端入门(一)
ZYNQ----------PS端入门(二)(配置Uboot启动操作系统)
ZYNQ----------PS端入门(三) 设备树
前言
目的:希望传进系统中的文件,在下电后不丢失,所以把根文件系统挂载到emmc中
一、根文件系统是什么?
文件系统,挂载点为 /,包含了运行系统所需的关键目录结构、设备文件、库、工具和配置文件
二、根文件系统烧进emmc
1.emmc是什么?
eMMC(embedded MultiMediaCard)是一种嵌入式闪存存储解决方案
eMMC 在 Linux 系统中的使用设备节点eMMC 在 Linux 中通常映射为 /dev/mmcblkX(如 /dev/mmcblk0),分区则为 /dev/mmcblk0p1、/dev/mmcblk0p2 等。在Uboot中通常映射为mmc设备
2.根文件系统的位置
在之前的章节中,根文件系统在镜像文件中,所以需要将根文件系统分离
3.分离根文件系统步骤1.1
根文件系统类型按照之前的INITRAMFS,所以不进行更改
1.petalinux-config -c rootfs需要新增mkfs.ext4命令,后续用于格式化eMMC分区。Filesystem Packages➡base➡e2fsprogse2fsprogs、e2fsprogs-mke2fs使能。
2.petalinux-build
3.配置完成后烧进系统中
4.分离根文件系统步骤1.2
1.用tftp烧写镜像和设备树启动linux
2.分区emmc(分1个fat格式分区p1,一个ext4格式分区p2)
ls /dev/mmcblk* //查看emmc分区fdisk /dev/mmcblk1 //开始分区输入n后输入p分区1,1大小选择20480输入n后输入p分区2大小选择+5120M
w(退出)mkfs.vfat -F 32 /dev/mmcblk1p1 //格式化成FAT
mkfs.ext4 /dev/mmcblk1p2 //根文件系统放在第二个分区,格式化成EXT4。mkdir mmcp1
mkdir mmcp2
mount /dev/mmcblkp1 mmcp1
mount /dev/mmcblkp2 mmcp2将/images/linux/rootfs.ext4.gz解压
然后使用xsheel中的xftp将根文件系统拷进mmcp2文件夹中
5.分离根文件系统步骤2.1
1.根文件系统类型改成 SD card,修改根文件系统所在文件夹名称为/dev/mmcblk1p2。
petalinux-config
2.修改/project-spec/meta-plnx-generated/recipes-bsp/u-boot/configs/platform-auto.h
petalinux-build
三、根文件系统进emmc,设备树和镜像进flash
由于根文件系统从镜像中分离了,所以镜像文件变小,可以将镜像和设备树都烧进flash中
tftpboot 0x00100000 zImage #烧写镜像tftpboot 0x11000000 system.dtb #烧写设备树#激活flashsf probe 0 #烧写镜像//地址:0x110_0000 - 0x1600_0000 sf erase 0x01100000 0x00500000 sf write 0x00100000 0x01100000 0x00500000#烧写设备树//地址:0x0100_0000 - 0x0101_0000sf erase 0x01800000 0x00010000 sf write 0x11000000 0x01800000 0x00010000 setenv bootcmd 'sf probe 0;sf read 0x00100000 0x01100000 0x00500000;sf read 0x11000000 0x01800000 0x00010000;bootz 0x00100000 - 0x11000000'saveenv