====== 在 VisionFive 内运行 openEuler RISC-V 移植版 ======
:!: 该页面所写的内容不具有时效性,以最新的为准。
首先,去[[https://mirror.iscas.ac.cn/openeuler-sig-riscv/openEuler-RISC-V/devel/|这里]]下载最新的开发版镜像。
其中,''openeuler-visionfive.img.tar.zst'' 是纯命令行版(但不是最小化镜像),''openeuler-visionfive-xfce.img.tar.zst'' 是带 xfce 界面的版本。
===== 安装 =====
准备一张 TF 卡,写入推荐使用 [[https://github.com/balena-io/etcher|Etcher]]。
写入之后,将 TF 卡插入开发板。在开机之前,需要准备串口连接。串口连接的更多信息请查看[[https://starfivetech.com/uploads/VisionFive%20Single%20Board%20Computer%20Quick%20Start%20Guide.pdf|官方文档]]的附录 B -> 硬件连接的步骤二。
如果一切配置正确,开机之后应该就会出现 bootloader version 之类的字样。
===== 进入系统 =====
由于还没有搞 EFI 分区启动,所以目前要手动通过命令行启动。按顺序输入以下指令:
setenv kernel_comp_addr_r 0x90000000;setenv kernel_comp_size 0x10000000;setenv kernel_addr_r 0x84000000;setenv fdt_addr_r 0x88000000
setenv bootargs console=ttyS0,115200 earlycon=sbi root=/dev/mmcblk0p1 rw stmmaceth=chain_mode:1 loglevel=8
fatls mmc 0:1
load mmc 0:1 ${kernel_addr_r} /boot/Image
load mmc 0:1 ${fdt_addr_r} /boot/jh7100-starfive-visionfive-v1.dtb
booti ${kernel_addr_r} - ${fdt_addr_r}
===== 增加分区大小 =====
默认的 img 只有 2 GB。我们要对其扩容。
默认的设备名应该为 ''/dev/mmcblk0'',在这里我们使用 ''fdisk'' 进行操作,首先使用 ''fdisk -l'' 列出分区表:
GPT PMBR size mismatch (4194303 != 124735487) will be corrected by write.
The backup GPT table is not on the end of the device.
Disk /dev/mmcblk0: 59.48 GiB, 63864569856 bytes, 124735488 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 96F9C2E5-E969-4D86-941B-CEFBA947BA1E
Device Start End Sectors Size Type
/dev/mmcblk0p1 256 4194270 4194015 2G unknown
可以看到,我们的起始为 256,这个值一定要记住。然后使用 ''fdisk /dev/mmcblk0'' 来开始更改分区表。
思路很简单:删除分区然后再创建新分区,但 Start 相同,然后不移除 signature。
Command (m for help): d
Selected partition 1
Partition 1 has been deleted.
Command (m for help): n
Partition number (1-128, default 1): 1
First sector (34-124735454, default 2048): 256
Last sector, +/-sectors or +/-size{K,M,G,T,P} (256-124735454, default 124735454):
Created a new partition 1 of type 'Linux filesystem' and of size 59.5 GiB.
Partition #1 contains a ext4 signature.
Do you want to remove the signature? [Y]es/[N]o: n
Command (m for help): w
The partition table has been altered.
Syncing disks.
退出之后,我们再来用 ''fdisk -l'' 列出分区表看一下:
Disk /dev/mmcblk0: 59.48 GiB, 63864569856 bytes, 124735488 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 96F9C2E5-E969-4D86-941B-CEFBA947BA1E
Device Start End Sectors Size Type
/dev/mmcblk0p1 256 124735454 124735199 59.5G Linux filesystem
看上去很棒,最后使用 ''resize2fs /dev/mmcblk0p1'' 获取空间就可以了。