1 构建 vf2 主线kernel
源码目录: https://github.com/yuzibo/vf2-linux
使用 vf2 开头的分支,首先交叉编译出相应的 kernel riscv64 的 deb 包。 配置可以使用 debian_defconfig
或者你可以直接使用 prebuilt image
download from here
2 构造 rootfs
- debootstrap rootfs
- 配置 debian rootfs
4.0 安装 kernel
这里有2种方式安装 kernel, 一种是自己构建,一种是使用 prebuild 第一种方式可以参考这里,第二种方式可以参考这里. 下面以 prebuilt 方式进行讲解:
4.0.1 u-boot
接下来需要配置与启动最直接相关的 u-boot 了:
主要一个是 /etc/default/u-boot
,另一个是 uEnv.txt
. 引导设备最好在dd 时再操作。
Then
配置 uEvn.txt
change dtb file following your vf2 boards
最后:
4.1 配置 网络接口
3 copy rootfs to sd/nvme
然后这个时候可以分别向sd或者nvme copy rootfs 了
最好需要 double check 你的设备,以免讲自己的 host 给格式化了。
可以使用命令 lsblk
确认。
一般情况下, sd 在 host 上显示 /dev/mmcblk**
, 在 guest 上显示 /dev/sd**
nvme 在 host 上显示 /dev/nvme0n1**
, 在 guest 上显示 /dev/sd**
sd
再次确认:
然后分别格式化对应的分区:
mount sd:
double check 下,主要看这里(append root=/dev/mmcblk1p3):
最后:
这个时候就可以拔除 sd
.
nvme
nvme 同理,需要注意的 nvme 的 root 的分区是 /dev/nvme0n1p3
,在使用时注意区分。
大部分细节与 sd 卡一致,其改动的部分如下:
boot 码
boot 码选择模式
主要参考这篇文章: https://blog.inuyasha.love/linuxeveryday/start-visionfive2-with-debian-sid.html