开发环境:Ubuntu(14.04 LTS)
busybox:1.26.2
U-boot & kernel:lichee(全志原厂提供的BSP)
1、制作一个 256M 的空白映象文件,你可以制作得更小或更大
dd if=/dev/zero of=fs_nanopi.img bs=1M count=256
2、把映象文件设置为“回环设备”
losetup /dev/loop0 fs_nanopi.img
3、创建分区
上图是全志H3的分区表,所以我们分区的时候划分出2 个分区,注意第 1 个分区起始地址要大于(16400K+1000K),我们取它的偏移地址为 20M,大小为 32M;第 2 个分区只要大过 fs_mini_nanoPI 即可,我们取为 128M。
fdisk /dev/loop0
(具体分区操作方法不讲了,不会的可以百度下)
4、格式化分区
partprobe /dev/loop0 ----- 先识别分区
mkfs.vfat -I /dev/loop0p1
mkfs.ext4 /dev/loop0p2
5、烧写boot
dd if=boot0_sdcard.fex of=/dev/loop0 bs=1k seek=8
boot0_sdcard.fex 文件在lichee/tools/pack/out/目录下
6、烧写u-boot
dd if=u-boot.fex of=/dev/loop0 bs=1k seek=16400
u-boot.fex 文件在lichee/tools/pack/out/目录下
7、烧写kernel
mount -t vfat /dev/loop0p1 /mnt
cp boot.img /mnt
umount /mnt
boot.img 文件在lichee/linux-3.4/output/目录下
8、烧写文件系统
mount /dev/loop0p2 /mnt
cd xx/xxx/rootfs/
cp * -rfd /mnt
umount /mnt
9、卸载回环设备,烧写 TF 卡
losetup -d /dev/loop0
至此,得到映象文件 fs_nanopi.img,可以使用工具 win32diskimager 把它烧到 TF卡中