芯路恒电子技术论坛

 找回密码
 立即注册
热搜: 合集
查看: 9081|回复: 1

C5 SoC FPGA SD卡系统镜像制作方法

[复制链接]
  • TA的每日心情
    无聊
    2019-8-12 16:05
  • 2

    主题

    3

    帖子

    37

    积分

    新手上路

    Rank: 2

    积分
    37
    发表于 2019-6-6 14:39:40 | 显示全部楼层 |阅读模式
    本帖最后由 Charles 于 2019-6-6 15:02 编辑

    我们需要知道C5 SoC FPGALinux系统镜像有三个分区,每个分区所需的文件,如下:

    分区

    所需文件

    FAT32

    u-boot.scr、zImage、soc_fpga.dtb、soc_fpga.rbf

    EXT3

    rootfs/

    RAW(A2)

    preloader-mkpimage.bin、u-boot.img

    1.      将系统所需文件(preloader、u-boot、Linux内核、dtb、rbf及rootfs)准备完整;
    2.     打开Ubuntu虚拟机,并打开终端,通过指令mkdir xxx创建一个文件夹(最好是英文的),将系统所需文件放入该文件夹,具体如下:
    1.png
    3.     preloader、u-boot、Linux内核、dtb、rbf及rootfs文件都已经有了,还需要一个文件就是u-boot.scr文件,这里介绍scr文件产生方法:
    a)     首先,u-boot.scr是个引导脚本,由u-boot.script产生的,u-boot.script文件打开之后内容如下,文件中的soc_system.rbf及soc_system.dtb名称根据自己生成的名字进行修改,其余的不需要修改:
    echo -- Programming FPGA --
    fatload mmc 0:1 $fpgadata soc_system.rbf;
    fpga load 0 $fpgadata $filesize;
    run bridge_enable_handoff;

    echo -- Setting Env Variables --
    setenv fdtimage soc_system.dtb;
    setenv mmcroot /dev/mmcblk0p2;
    setenv mmcload 'mmc rescan;${mmcloadcmd} mmc 0{mmcloadpart} ${loadaddr}${bootimage};${mmcloadcmd} mmc 0{mmcloadpart} ${fdtaddr} ${fdtimage};';
    setenv mmcboot 'setenv bootargs console=ttyS0,115200 root=${mmcroot}rw rootwait; bootz ${loadaddr} - ${fdtaddr}';

    run mmcload;
    run mmcboot;
    b)     将上步中u-boot.script文件放在电脑的一个英文目录下,打开SoC EDS Command Shell,并切换到u-boot.script所在目录,如下:
    2.png
    c)     输入指令mkimage -A arm -O linux -Tscript -C none -a 0 -e 0 -n "u-boot.script" -d u-boot.scriptu-boot.scr,双引号中的内容根据script文件名称进行修改,这里为u-boot.script;回车,生成u-boot.scr文件,如下:
    3.png
    d)     在Ubuntu 虚拟机环境下输入kimage -A arm -O linux -T script -C none -a 0 -e 0 -n"u-boot.script" -d u-boot.script u-boot.scr也可以生成u-boot.scr文件,如下:
    4.png
    4.     将u-boot.scr也放入用于生成系统镜像的Ubuntu虚拟机文件夹里,打开终端并在root用户权限下,输入指令:
    ./make_sdimage.py  \
      -f \
      -Ppreloader-mkpimage.bin,u-boot.img,num=3,format=raw,size=10M,type=A2 \
      -Prootfs/*,num=2,format=ext3,size=1500M  \
      -PzImage,u-boot.scr,soc_system.rbf,soc_system.dtb,num=1,format=fat32,size=500M  \
      -s 2G  \
            -nsdimage.img
    5.png
    备注:这里-P代表一个分区,其中num代表分区编号,format代表分区的格式,size代表分区大小,-n代表生成镜像的名称(这里命名为sdimage.img),-s代表整个系统镜像大小。
    2.     镜像制作完成后,可以发现当前目录多了一个sdimage.img文件,该文件就是用于刻录SD卡的系统镜像,如下:
    6.png
    3.     至此SD卡系统镜像制作完成。
    make_sdimage.rar (5.76 KB, 下载次数: 316)



    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    2021-2-24 10:16
  • 422

    主题

    780

    帖子

    1万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    15847
    QQ
    发表于 2019-6-9 15:03:44 | 显示全部楼层
    谢谢分享
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|小黑屋|Archiver|芯路恒电子技术论坛 |鄂ICP备2021003648号

    GMT+8, 2024-4-20 08:41 , Processed in 0.116894 second(s), 36 queries .

    Powered by Discuz! X3.4

    © 2001-2017 Comsenz Inc. Template By 【未来科技】【 www.wekei.cn 】

    快速回复 返回顶部 返回列表