正在申请加入用户组,所以实时贴一篇。
在中科院软件所的镜像网上下载最新的openEuler riscv64 rootfs包,例如:
$ wget https://mirror.iscas.ac.cn/openeuler-sig-riscv/openEuler-RISC-V/preview/openEuler-22.09-V1-riscv64/openEuler-22.09-V1-riscv64-rootfs.tar.gz
桌面版
https://mirror.iscas.ac.cn/openeuler-sig-riscv/openEuler-RISC-V/preview/openEuler-22.09-V1-riscv64/openEuler-22.09-V1-riscv64-rootfs-xfce.tar.gz
在VisionFive2的github代码库抓取新版本的sdcard.img,例如:
$ wget https://github.com/starfive-tech/VisionFive2/releases/download/VF2_v2.6.0/sdcard.img
构造一个能装入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就可享用了~