I.MX8MM系统构建 -- 3.根文件系统制作

说明

根文件系统制作有多种方式如下:

  • busybox制作
  • buildroot制作
  • yocto制作
  • 出厂镜像修改

本次采用修改出厂镜像的方式进行制作。

出厂镜像说明

开发板在资料中提供镜像文件myir-image-full-myd-imx8mm.sdcard,其中包含uboot,dtb,内核,根文件系统。

镜像结构

  • 将镜像导入到ubuntu中,使用fdisk ./myir-image-full-myd-imx8mm.sdcard指令,输入参数p即可查看其分区结构如下:
book@100ask:~/Turing_imx8mm/images$ fdisk ./myir-image-full-myd-imx8mm.sdcard

Welcome to fdisk (util-linux 2.31.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.


Command (m for help): p
Disk ./myir-image-full-myd-imx8mm.sdcard: 1.7 GiB, 1801820160 bytes, 3519180 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x8487319c

Device                         Boot  Start     End Sectors  Size Id Type
./myir-image-full-myd-imx8mm.sdcard1 *     16384  186775  170392 83.2M  c W95 FAT32 (LBA)
./myir-image-full-myd-imx8mm.sdcard2      196608 3519179 3322572  1.6G 83 Linux

Command (m for help): ^C
  • 可见镜像分区有两个,分区1存放uboot,dtb,kernel等文件,分区2存放的是根文件系统

镜像提取制作

  • 挂载根文件系统镜像
mkdir rootfs

sudo mount -o loop,offset=100663296 myir-image-full-myd-imx8mm.sdcard /home/book/Turing_imx8mm/images/rootfs  //挂载镜像,其中 offset = 分区2的起始地址*512
  • 制作空镜像
dd if=/dev/zero of=rootfs.img bs=1M count=5000
  • 制作卷标linuxroot
sudo mkfs.ext4 -F -L linuxroot rootfs.img

mkdir tmpfs

  • 挂载空镜像
sudo mount rootfs.img /home/book/Turing_imx8mm/images/tmpfs
  • 拷贝根文件系统内容
sudo cp -rfp ./rootfs/* ./tmpfs/
  • 卸载镜像
sudo umount ./tmpfs/
  • 校验
sudo e2fsck -p -f rootfs.img
  • 重新调整镜像大小
sudo resize2fs -M rootfs.img
  • 至此已经将出厂镜像中的根文件系统提取出并制作成img文件

你可能感兴趣的:(I.MX8mm,嵌入式)