0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何把文件系统烧到EMMC并从EMMC加载

瑞萨MCU小百科 来源:瑞萨MCU小百科 作者:瑞萨MCU小百科 2023-10-30 16:06 次阅读

之前文章介绍了如何下载并从SD卡加载文件系统,提到过可以从EMMC引导系统,本篇将为您介绍如何把文件系统烧到EMMC,并从EMMC加载。

接之前操作,系统已经从SD卡正常启动(本文方案需要借助SD卡):

Version: 3.0.3

smarc-rzg2l login: root

Last login: Sun Sep 20 1003 UTC 2020

root@smarc-rzg2l:~#

已经可以接上网线,并借助网路(如ssh服务)把相关文件拷贝到SD卡,为后边做准备。

需要的文件如下:

root@smarc-rzg2l:~# ls

Image-r9a07g044l2-smarc.dtb Image-smarc-rzg2l.bin core-image-qt-smarc-rzg2l.tar.bz2

EMMC创建分区:

左右滑动查看完整内容

root@smarc-rzg2l:~# fdisk /dev/mmcblk0


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


Command (m for help): o
Created a new DOS disklabel with disk identifier 0xf23e9318.


Command (m for help): n
Partition type
  p  primary (0 primary, 0 extended, 4 free)
  e  extended (container for logical partitions)
Select (default p): (Push the enter key)


Using default response p.
Partition number (1-4, default 1): (Push the enter key)
First sector (2048-124321791, default 2048): (Push the enter key)
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-124321791, default 124321791): +500M


Created a new partition 1 of type 'Linux' and of size 500 MiB.


Command (m for help): n
Partition type
  p  primary (1 primary, 0 extended, 3 free)
  e  extended (container for logical partitions)
Select (default p): (Push the enter key)


Using default response p.
Partition number (2-4, default 2): (Push the enter key)
First sector (1026048-124321791, default 1026048): (Push the enter key)
Last sector, +/-sectors or +/-size{K,M,G,T,P} (1026048-124321791, default 124321791): (Push the enter key)


Created a new partition 2 of type 'Linux' and of size 58.8 GiB.


Command (m for help): p
Disk /dev/mmcblk0: 59.29 GiB, 63652757504 bytes, 124321792 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: 0xf23e9318


Device     Boot  Start    End  Sectors Size Id Type
/dev/mmcblk0p1     2048  1026047  1024000 500M 83 Linux
/dev/mmcblk0p2   1026048 124321791 123295744 58.8G 83 Linux


Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.
root@smarc-rzg2l:~#

格式化EMMC:

左右滑动查看完整内容

root@smarc-rzg2l:~# mkfs.ext4 /dev/mmcblk0p1
mke2fs 1.45.7 (28-Jan-2021)
Discarding device blocks: done
Creating filesystem with 512000 1k blocks and 128016 inodes
Filesystem UUID: cd3a51a9-ef38-4399-888e-9773fcc41ecc
Superblock backups stored on blocks:
    8193, 24577, 40961, 57345, 73729, 204801, 221185, 401409


Allocating group tables: done
Writing inode tables: done
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done


root@smarc-rzg2l:~# mkfs.ext4 /dev/mmcblk0p2
mke2fs 1.45.7 (28-Jan-2021)
Discarding device blocks: done
Creating filesystem with 15411968 4k blocks and 3858432 inodes
Filesystem UUID: 07d98391-d70c-4eed-a3af-4227a7460a32
Superblock backups stored on blocks:
    32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
    4096000, 7962624, 11239424


Allocating group tables: done
Writing inode tables: done
Creating journal (65536 blocks): done
Writing superblocks and filesystem accounting information: done


root@smarc-rzg2l:~#

挂载EMMC,拷贝内核、设备树、文件系统:

左右滑动查看完整内容

root@smarc-rzg2l:~# mount /dev/mmcblk0p1 /mnt/
root@smarc-rzg2l:~# cp Image-smarc-rzg2l.bin /mnt/
root@smarc-rzg2l:~# cp Image-r9a07g044l2-smarc.dtb /mnt/
root@smarc-rzg2l:~# umount /dev/mmcblk0p1
root@smarc-rzg2l:~# mount /dev/mmcblk0p2 /mnt/
root@smarc-rzg2l:~# tar xf core-image-qt-smarc-rzg2l.tar.bz2 -C /mnt/
root@smarc-rzg2l:~# umount /dev/mmcblk0p2

关机,设置开发板SW11/SW1拨码开关模式:

9e439d58-76f8-11ee-939d-92fbcf53809c.png9e5074c4-76f8-11ee-939d-92fbcf53809c.png

重启开发板,设置环境变量:

左右滑动查看完整内容

NOTICE: BL2: v2.7(release):203c783-dirty
NOTICE: BL2: Built : 06:57:02, Nov 10 2022
NOTICE: BL2: eMMC boot from partition 1
NOTICE: BL2: Load dst=0x1f840 src=(p:1)0x20000(256) len=0x10(1)
NOTICE: BL2: eMMC boot from partition 1
NOTICE: BL2: Load dst=0x1f9a0 src=(p:1)0x20010(256) len=0x28(1)
NOTICE: BL2: eMMC boot from partition 1
NOTICE: BL2: Load dst=0x44000000 src=(p:1)0x20090(256) len=0x6069(49)
NOTICE: BL2: eMMC boot from partition 1
NOTICE: BL2: Load dst=0x1f840 src=(p:1)0x20000(256) len=0x10(1)
NOTICE: BL2: eMMC boot from partition 1
NOTICE: BL2: Load dst=0x1f9a0 src=(p:1)0x20010(256) len=0x28(1)
NOTICE: BL2: Load dst=0x1f9a0 src=(p:1)0x20038(256) len=0x28(1)
NOTICE: BL2: eMMC boot from partition 1
NOTICE: BL2: Load dst=0x50000000 src=(p:1)0x26100(304) len=0xb0238(1410)
NOTICE: BL2: Booting BL31
NOTICE: BL31: v2.7(release):203c783-dirty
NOTICE: BL31: Built : 06:57:02, Nov 10 2022




U-Boot 2021.10 (Mar 15 2023 - 07:34:17 +0000)


CPU:  Renesas Electronics K rev 2.1
Model: smarc-rzg2l
DRAM: 1.9 GiB
WDT:  watchdog@0000000012800800
WDT:  Started with servicing (60s timeout)
MMC:  sd@11c00000: 0, sd@11c10000: 1
Loading Environment from MMC... OK
In:  serial@1004b800
Out:  serial@1004b800
Err:  serial@1004b800
U-boot WDT started!
Net:
Error: ethernet@11c20000 address not set.
No ethernet found.


Hit any key to stop autoboot: 0
Hit any key to stop autoboot: 0
=> env default -a
## Resetting to default environment
=> setenv bootargs 'root=/dev/mmcblk0p2 rootwait'
=> setenv bootcmd 'mmc dev 1; ext4load mmc 0:1 0x48080000 Image-smarc-rzg2l.bin; ext4load mmc 0:1 0x48000000 Image-r9a07g044l2-smarc.dtb; booti 0x48080000 - 0x48000000'
=> saveenv
Saving Environment to MMC... Writing to MMC(0)... OK

重启开发板,从emmc成功加载:

BSP: RZG2L/RZG2L-SMARC-EVK/3.0.3
LSI: RZG2L
Version: 3.0.3
smarc-rzg2l login: root
Last login: Mon Sep 18 02:29:32 UTC 2023
root@smarc-rzg2l:~# df -h
Filesystem      Size Used Avail Use% Mounted on
/dev/root       58G 1.2G  54G  3% /
devtmpfs       740M   0 740M  0% /dev
tmpfs         933M   0 933M  0% /dev/shm
tmpfs         933M 9.7M 924M  2% /run
tmpfs         933M   0 933M  0% /sys/fs/cgroup
tmpfs         933M   0 933M  0% /tmp
tmpfs         933M  28K 933M  1% /var/volatile
tmpfs         187M   0 187M  0% /run/user/0
root@smarc-rzg2l:~#

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • SD卡
    +关注

    关注

    2

    文章

    559

    浏览量

    63780
  • 文件系统
    +关注

    关注

    0

    文章

    284

    浏览量

    19876
  • 开发板
    +关注

    关注

    25

    文章

    4926

    浏览量

    97139
  • emmc
    +关注

    关注

    7

    文章

    200

    浏览量

    52581

原文标题:RZ/G2L开发板EMMC启动

文章出处:【微信号:瑞萨MCU小百科,微信公众号:瑞萨MCU小百科】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    eMMC主控的定义和主要功能

    eMMC的全称为“embedded Multi Media Card”,即嵌入式的多媒体存储卡。eMMC采用统一标准的接口,高容量NAND Flash以及eMMC Controlle
    的头像 发表于 11-09 11:17 211次阅读
    <b class='flag-5'>eMMC</b>主控的定义和主要功能

    Linux根文件系统的挂载过程

    Linux根文件系统(rootfs)是Linux系统中所有其他文件系统和目录的起点,它是内核启动时挂载的第一个文件系统
    的头像 发表于 10-05 16:50 244次阅读

    RK3568修改eMMC分区大小

    默认eMMC启动,所以eMMC用户区域的部分都留给了操作系统,不同的操作系统有着不同的分区,分区的具体信息可以从镜像文件中的paramete
    的头像 发表于 09-13 08:00 369次阅读
    RK3568修改<b class='flag-5'>eMMC</b>分区大小

    智能电视eMMC存储的相关问答

    智能电视作为搭载操作系统的综合影音载体,以稳步扩大的市场规模走入越来越多的家庭,成为人们生活娱乐的重要组成部分。存储部件是智能电视不可或缺的组成部分,用于保存操作系统、应用程序、多媒体文件和用户数据等信息。智能电视使用
    的头像 发表于 09-02 11:22 448次阅读
    智能电视<b class='flag-5'>eMMC</b>存储的相关问答

    CPM核心板应用之eMMC硬件设计指导

    CPM核心板,#ZLG首款百元内64位1G主频工业级核心板,BGA封装集成处理器与DDR,不含数据存储器件。本文将从电路设计和PCB布线角度,指导用户如何通过eMMC扩展存储,以快速完成
    的头像 发表于 07-25 08:25 519次阅读
    CPM核心板应用之<b class='flag-5'>eMMC</b>硬件设计指导

    在FX3S上如何通过USB和GPIF将数据存储eMMC中?

    我使用的是赛普拉斯 FX3S。 S0 端口连接了 eMMC,FX3S 还连接了 TI DSP(TMS320C28346ZFE)。 我想通过 USB 将数据和/或文件从主机 PC 存储 eMM
    发表于 07-23 07:57

    如何通过视觉检测确保eMMC存储芯片质量?

    eMMC(嵌入式多媒体卡)存储芯片是一种集成式的存储解决方案,通常用于嵌入式系统、智能手机、平板电脑、相机和其他便携式设备中。eMMC存储芯片将闪存存储器、控制器和接口集成在一个封装中,提供了一种
    的头像 发表于 05-22 17:33 658次阅读
    如何通过视觉检测确保<b class='flag-5'>eMMC</b>存储芯片质量?

    STM32L552VET6配置SDMMCH和文件系统加载文件系统挂载存储卡会返回FR_NOT_READY如何解决?

    STM32L552VET6配置SDMMCH和文件系统,不加载文件系统可以正常操作存储卡,但是加载文件系统挂载存储卡返回FR_NOT_READY,该如何解决。
    发表于 03-08 07:30

    请问RT-Thread emmc驱动编写如何格式化?

    SDIO,同时也ST自带的驱动测试到了EMMC的擦除,读写操作 但是我看到使用文件系统,首先需要格式化吧,但是格式化的接口是空的,无操作。所以我想知道这个格式化驱动盘是否有什么操作要求,或者参考的代码呢
    发表于 02-23 08:04

    请问如何将镜像写到emmc上?

    如何将镜像写到emmc上?
    发表于 01-10 07:47

    如何使用squashfs只读文件系统制作Linux系统文件

    在 Colibri iMX6 的 eMMC 上我们将使用以下分区规划。BootFS 为 FAT32 格式,该分区上包含 Linux 内核文件,device tree 等启动文件,如果是 iMX8,则还包含一些其他固件
    发表于 01-09 11:43 1729次阅读
    如何使用squashfs只读<b class='flag-5'>文件系统</b>制作Linux<b class='flag-5'>系统</b><b class='flag-5'>文件</b>

    正点原子emmc和nand的区别

    正点原子(DFRobot)是一家专业从事电子产品和开源硬件的创新设计、研发和制造的公司。它生产了许多先进的存储设备,包括eMMC(embedded Multi-Media Controller
    的头像 发表于 01-08 13:51 2642次阅读

    eMMC响应的格式和类型

    eMMC响应有两种长度的数据包,分别为48 Bits和136 Bits,eMMC响应的格式如下图所示。
    的头像 发表于 12-12 13:38 1958次阅读
    <b class='flag-5'>eMMC</b>响应的格式和类型

    eMMC总线协议

    Flash Memory 是一种非易失性的存储器,通常在嵌入式系统中用于存放系统、应用和数据等,类似于 PC 系统中的硬盘。目前,绝大部分手机和平板等移动设备中所使用的 eMMC 内部
    的头像 发表于 12-10 15:18 2680次阅读
    <b class='flag-5'>eMMC</b>总线协议

    eMMC总线协议解析

    eMMC总线中,可以有一个Host,多个eMMC设备。总线上的所有通信都是以Host发送一个Command给eMMC开始的,eMMC对于收到的不同Command会做出不同的respo
    的头像 发表于 12-08 14:35 2688次阅读
    <b class='flag-5'>eMMC</b>总线协议解析