项目中设计的sd卡分四个分区
一、放置BOOT.bin(fsbl、uboot)、uImage、FPGA.bit等
vfat格式,cpu里的固件会到此分区里找BOOT.bin。所以,分区格式、分区号和内容要固定。
二、放置rootfs。ext4格式
三、家目录/home/root/。ext4格式
四、swap分区。嵌入式设备通常没有这个分区。
步骤:
1、利用用loop设备给img文件挂载分区、格式化
2、向分区导入其中的文件
3、用USB Image Tool向sd卡导img
命令过程:
创建一个空img文件,大小小于sd卡大小即可,不必相等
dd bs=4096 if=/dev/zero of=sd.img count=1310720
把img文件关联一个loop分区
losetup /dev/loop0 sd.img
给分区创建四个子分区,注意:前3个分区是主分区,最后一个要用t命令将id变成82(swap分区的要求)
fdisk /dev/loop0
把多分区img文件和loop关联
sudo kpartx -av sd.img
此时可以这样找到分区的loop节点
rpdzkj@ubuntu:~/code/tmp$ ls /dev/mapper/
control loop0p1 loop0p2 loop0p3 loop0p4
格式化四个分区
mkfs.vfat /dev/mapper/loop1p1
mkfs.ext4 /dev/mapper/loop1p2
mkfs.ext4 /dev/mapper/loop1p3
mkswap /dev/mapper/loop1p4
挂载前三个
sudo mount /dev/mapper/loop0p1 dir1
sudo mount /dev/mapper/loop0p2 dir2
sudo mount /dev/mapper/loop0p3 dir3
复制文件。重点:一定要带上avx,因为复制的文件要保持原来的属性
cp -avxr from dirx
sd.img制作完成,用USB Image Tool向sd卡导
参考:
http://blog.sina.com.cn/s/blog_9ac48e3c0102ybep.html