在 VisionFive 内运行 openEuler RISC-V 移植版
该页面所写的内容不具有时效性,以最新的为准。
首先,去这里下载最新的开发版镜像。
其中,openeuler-visionfive.img.tar.zst
是纯命令行版(但不是最小化镜像),openeuler-visionfive-xfce.img.tar.zst
是带 xfce 界面的版本。
安装
准备一张 TF 卡,写入推荐使用 Etcher。
写入之后,将 TF 卡插入开发板。在开机之前,需要准备串口连接。串口连接的更多信息请查看官方文档的附录 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
获取空间就可以了。