====== 在 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'' 获取空间就可以了。