rt thread smart制作emmc镜像

这部分内容可以参考韦东山的imx6ull的buildroot部分教程。本博客只是记录了步骤和相关脚本设置,开发环境的构建请参考韦东山的教程。该步骤只适用于imx6ull。
资料链接如下
http://download.100ask.org/boards/Nxp/100ask_imx6ull_pro/index.html

第一步:制作文件系统
vmuser@vmuser-virtual-machine:~/work/emmc$ tree kernel
kernel
├── rtthread.bin
├── rtthread.elf
├── rtthread.img
└── rtthread.imx

0 directories, 4 files
vmuser@vmuser-virtual-machine:~/work/emmc$ tree root/
root/
└── bin
    ├── gpio.elf
    ├── hello.elf
    ├── i2c.elf
    ├── ntp.elf
    ├── ping.elf
    ├── pong.elf
    ├── pwm.elf
    ├── uart.elf
    ├── uPnP.elf
    ├── vi.elf
    ├── webclient.elf
    └── webserver.elf

1 directory, 12 files 

使用 dd if 命令生成一个大小为 100MB 大小的镜像文件,之后使用 mkfs.fat 格式化生成的镜像为 fat 分区
dd if=/dev/zero of=./boot.fat bs=512 count=200k
mkfs.fat boot.fat
制作好大小为 100MB 的 fat 镜像后,需要挂载到某个文件夹用来对其进行写入文件操作,使用 mount 命令把 boot.fat 分区挂载到当前目录下 tmp 目录
mkdir tmp
sudo mount ./boot.fat ./tmp/
之后我们拷贝kernel文件夹和root文件夹到已挂载的 tmp 目录下,拷贝完成后使用 sync 来同步一下数据状态,之后使用 umount 命令来取消挂载
sudo cp -rfd kernel/ ./tmp/
sudo cp -rfd root/ ./tmp/
sync
sudo umount ./tmp

第二步:制作镜像
vmuser@vmuser-virtual-machine:~/work/emmc/Image$ sudo apt-get install libconfuse2
vmuser@vmuser-virtual-machine:~/work/emmc/Image$ tree
.
├── genimage
├── genimage.cfg
├── input
│   ├── boot.fat
│   └── u-boot-dtb.imx
├── root
└── tmp

3 directories, 4 files
vmuser@vmuser-virtual-machine:~/work/emmc/Image$ ./genimage 
INFO: cmd: "rm -rf "/home/vmuser/work/emmc/Image/tmp"/*" (stderr):
INFO: cmd: "mkdir -p "/home/vmuser/work/emmc/Image/tmp"" (stderr):
INFO: cmd: "cp -a "/home/vmuser/work/emmc/Image/root" "/home/vmuser/work/emmc/Image/tmp/root"" (stderr):
INFO: cmd: "find '/home/vmuser/work/emmc/Image/tmp/root' -depth -type d -printf '%P\0' | xargs -0 -I {} touch -r '/home/vmuser/work/emmc/Image/root/{}' '/home/vmuser/work/emmc/Image/tmp/root/{}'" (stderr):
INFO: cmd: "mkdir -p "/home/vmuser/work/emmc/Image/images"" (stderr):
INFO: hdimage(art-pi.img): adding partition 'u-boot' from 'u-boot-dtb.imx' ...
INFO: hdimage(art-pi.img): adding partition 'rootfs' (in MBR) from 'boot.fat' ...
INFO: hdimage(art-pi.img): writing MBR
INFO: cmd: "rm -rf "/home/vmuser/work/emmc/Image/tmp"/*" (stderr):
vmuser@vmuser-virtual-machine:~/work/emmc/Image$

genimage.cfg

# Minimal SD card image for the Freescale boards Template
#
# We mimic the .sdcard Freescale's image format:
# * the SD card must have 1 kB free space at the beginning,
# * U-Boot is dumped as is,
# * a FAT partition at offset 8 MB is containing zImage/uImage and DTB files
# * a single root filesystem partition is required (ext2, ext3 or ext4)
#


image  art-pi.img {
  hdimage {
	}
  partition u-boot {
    in-partition-table = "no"
    image = "u-boot-dtb.imx"
    offset = 1024
    size = 2M
  }

  partition rootfs {
    partition-type = 0xc
    image = "boot.fat"
    size = 200M
  }

}
setenv bootcmd "fatload mmc 1:1 0x80001000 /kernel/rtthread.bin; dcache flush; go 0x80001000"
saveenv
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值