用新的方法构建了镜像,现在2GB的tf卡也能装上了~
网盘地址不变,构造方法如下:
构造一个能装入openEuler镜像大小的新镜像,通过losetup载入,再将sdcard.img通过dd拷贝到loop里:
dd bs=1M count=1536 if=/dev/zero of=openEuler-22.09-vf2-unofficial.img
losetup -P /dev/loop1 openEuler-22.09-vf2-unofficial.img
dd bs=1M if=sdcard.img of=/dev/loop1
对新镜像的系统分区(最后一个分区)进行扩容,假设为4:
fdisk -l | grep loop1
growpart /dev/loop1 4 # extend partition 4
e2fsck -f /dev/loop1p4
resize2fs /dev/loop1p4 # extend filesystem
fsck.ext4 /dev/loop1p4
最后挂载系统分区,除firmware和modules外删除所有内容,并将openEuler文件系统包拷贝到系统分区:
mount /dev/loop1p4 /mnt
mv /mnt/lib/firmware /tmp/
mv /mnt/lib/modules /tmp/
rm -rf /mnt/*
tar -xpf Downloads/openEuler-22.09-riscv64-rootfs.tar.gz -C /mnt
sync
mv /tmp/firmware /mnt/lib/
mv /tmp/modules /mnt/lib/
umount /mnt
losetup -d /dev/loop1
然后将新镜像烧录到tf卡并插入VF2就可享用了~
另外openEuler的官方镜像地址是:https://repo.openeuler.org/openEuler-preview/RISC-V
还有多谢 GUIDE: How to mount the .img file and change the kernel 关于加载镜像的方法,扩容方法则 ctrl-C 自SDK快速参考手册