《在VisionFive硬件平台上使用openEuler》 - Setup openeuler riscv 0926 on visionfive

操作手册:Setup openeuler riscv 0926 on visionfive


1 目标

在visionfive上安装openeuler riscv 0926。
(目前新镜像dd后,64G的micro sd卡有8G磁盘空间,其余空间未分配。)

2 操作过程

2.1 使用分区工具Gparted将SD卡分为boot和rootfs

在host主机(Ubuntu20.04)上安装分区工具GParted

sudo apt-get install gparted

运行分区工具

sudo gparted


进入分区页面

建立boot分区:fat32,引导加载程序、设备树和内核镜像


建立rootfs分区:存储系统根文件系统

不过这种方式不推荐,主要是UUID太长了。建议按照前面教程中fdisk的方式来分区。两种分区方式的结果是一样的,区别就是UUID不一样。

2.2 下载镜像

在host主机中下载镜像包

wget https://mirror.iscas.ac.cn/openeuler-sig-riscv/openEuler-RISC-V/testing/20220926/v0.2/Visionfive/openeuler-visionfive-xfce.img.tar.zst

解压

sudo apt install zstd -y
tar -I zstdmt -xvf ./openeuler-visionfive-xfce.img.tar.zst

2.3 安装镜像到micro sd卡中

查看镜像信息

riscv@qemu-vm:~/riscv64-linux/visionfive/img/0926$ fdisk -lu openeuler-visionfive-xfce.img
Disk openeuler-visionfive-xfce.img:8 GiB,8589934592 字节,16777216 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:gpt
磁盘标识符:D7EF8C53-94B7-486C-93A6-FA89A97D9E12

设备                             起点     末尾     扇区  大小 类型
openeuler-visionfive-xfce.img1     34   262177   262144  128M Linux 文件系统
openeuler-visionfive-xfce.img2 262178 16777182 16515005  7.9G 未知

计算img1偏移量34*512=17408

将镜像中的boot部分拷贝至micro sd卡中

sudo mount -o loop,offset=17408 openeuler-visionfive-xfce.img /home/riscv/riscv64-linux/boot/
sudo cp -r /home/riscv/riscv64-linux/boot/* /media/riscv/E2E9-C8A3/
sync

取消挂载

sudo umount /home/riscv/riscv64-linux/boot

计算img2偏移量262178*512=134235136

将镜像中的rootfs部分拷贝至micro sd卡中

sudo mount -o loop,offset=134235136 openeuler-visionfive-xfce.img /home/riscv/riscv64-linux/rootfs/
sudo cp -r /home/riscv/riscv64-linux/rootfs/* /media/riscv/rootfs/
sync

取消挂载

sudo umount /home/riscv/riscv64-linux/rootfs

2.4 重启后将启动相关文件更新

考虑到0926镜像会出现死机的情况,这是由于sifive errata没有打开的缘故,故为避免死机,需更新kernel配置

cpu-stop

清除dirty bit

sudo fsck /dev/sdb1

更新自己的启动文件

sudo cp -rf /lib/modules/5.19.0-visionfive-g4333f325dfcc /media/riscv/rootfs/lib/modules/
sudo cp arch/riscv/boot/Image.gz /media/riscv/E2E9-C8A3/
sudo cp arch/riscv/boot/dts/starfive/jh7100-starfive-visionfive-v1.dtb /media/riscv/E2E9-C8A3/

3 启动系统

3.1 关于密码

登录用户:root

默认密码:openEuler12#$

修改密码

passwd

注意进入系统时用root账号进入,可避免锁屏问题。

3.2 关于/etc/rc.d/rc

启动时显示没法执行,参考之前的教程解决。

3.3 遗留问题

每次进入xfce都会报错

error

还有其他警告

Initramfs unpacking failed: invalid magic at start of compressed archive
L2CACHE: No. of Banks in the cache: 2
L2CACHE: No. of ways per bank: 16
riscv-pmu-sbi: Perf sampling/filtering is not supported as sscof extension is not available
dw_spi_mmio 12410000.spi: DMA init failed

致敬

本文由Samuel Yuan (samuel_yuan) - Gitee.com提供
链接:Samuel Yuan/riscv-openeuler-visionfive - 码云 - 开源中国 (gitee.com)

联系我们

如果您对 RISC-V 感兴趣,欢迎加入 RISC-V SIG 交流群,讨论更多关于 RISC-V 的更多内容,为推动 openEuler & RISC-V 生态贡献力量

添加请备注 oerv

1 Like