Bianbu 1.0 镜像制作
Bianbu 1.0 镜像基于 Ubuntu 23.10 版本制作。
环境要求
宿主机推荐 Ubuntu 20.04/22.04,且安装了 docker ce 和 qemu-user-static(8.0.4,定制版,默认开启了 Vector 1.0 支持)。
docker
docker ce 安装可参考 https://docs.docker.com/engine/install/。
qemu
-
卸载 binfmt-support
定制版的 qemu-user-static 与 binfmt-support 有冲突,因为 binfmt-support 提供的
/etc/init.d/binfmt-support
属于传统的 SysVinit 启动脚本,而定 制版的 qemu-user-static 提供的/lib/systemd/system/systemd-binfmt.service
是 systemd 服务单元文件。/etc/init.d/binfmt-support
会晚于/lib/systemd/system/systemd-binfmt.service
执行,导致覆盖 systemd 的设置。sudo apt-get purge binfmt-support
-
下载定制版的 qemu
wget https://archive.spacemit.com/qemu/qemu-user-static_8.0.4%2Bdfsg-1ubuntu3.23.10.1_amd64.deb
-
安装定制版的 qemu
sudo dpkg -i qemu-user-static_8.0.4+dfsg-1ubuntu3.23.10.1_amd64.deb
-
注册 qemu-user-static 到内核,这样整个系统范围(含容器)均可以直接执行 riscv 的二进制文件
sudo systemctl start systemd-binfmt.service
-
验证 qemu-user-static 是否注册成功
下载测试程序:
wget https://archive.spacemit.com/qemu/rvv
测试程序添加可执行权限:
chmod a+x rvv
执行测试程序:
./rvv
出现以下信息表示注册成功。
helloworld
spacemit
准备基础 rootfs
1. 创建工作目录
mkdir ~/bianbu-workspace
2. 创建并启动容器
docker run --privileged -itd -v ~/bianbu-workspace:/mnt --name build-bianbu-rootfs ubuntu:24.04