No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
= Build Fedora Image for RISC-V development board = | = Build Fedora Image for RISC-V development board = | ||
== Environment == | == Setup Environment == | ||
We use [http://fedora.riscv.rocks/kojifiles/work/tasks/8517/1128517/Fedora-Developer-Rawhide-20210421.n.0-sda.raw.xz latest Fedora Qemu image for RISC-V64] from [https://riscv.rocks riscv.rocks] or [http://openkoji.iscas.ac.cn/pub/dl/Fedora-Developer-Rawhide-20210421.n.0-sda.raw.xz a mirror in China] to boot a RISC-V Qemu for building a Fedora Remix image. | We use [http://fedora.riscv.rocks/kojifiles/work/tasks/8517/1128517/Fedora-Developer-Rawhide-20210421.n.0-sda.raw.xz latest Fedora Qemu image for RISC-V64] from [https://riscv.rocks riscv.rocks] or [http://openkoji.iscas.ac.cn/pub/dl/Fedora-Developer-Rawhide-20210421.n.0-sda.raw.xz a mirror in China] to boot a RISC-V Qemu for building a Fedora Remix image. | ||
== Appliance == | == Making Image by Appliance-tools == | ||
Appliance-tools is used to build Fedora images, which has already installed in the image. | Appliance-tools is used to build Fedora images, which has already installed in the image. | ||
* Download image and Uncompress | * Download Pre-build image and Uncompress | ||
<pre> | <pre> | ||
$ wget http://fedora.riscv.rocks/kojifiles/work/tasks/8517/1128517/Fedora-Developer-Rawhide-20210421.n.0-sda.raw.xz | $ wget http://fedora.riscv.rocks/kojifiles/work/tasks/8517/1128517/Fedora-Developer-Rawhide-20210421.n.0-sda.raw.xz | ||
Line 21: | Line 21: | ||
</pre> | </pre> | ||
* Resize | * Resize image | ||
The original image size is not enough for image building, we need enlarge it first. | The original image size is not enough for image building, we need enlarge it first. | ||
Line 52: | Line 52: | ||
# growpart /dev/vda 2 | # growpart /dev/vda 2 | ||
# resize2fs /dev/vda2 | # resize2fs /dev/vda2 | ||
# reboot | |||
</pre> | </pre> | ||
Line 58: | Line 59: | ||
The original Kickstart files is from [https://riscv.rocks riscv.rocks]: [http://fedora.riscv.rocks:3000/davidlt/fedora-riscv-kickstarts.git fedora-riscv-kickstarts]. | The original Kickstart files is from [https://riscv.rocks riscv.rocks]: [http://fedora.riscv.rocks:3000/davidlt/fedora-riscv-kickstarts.git fedora-riscv-kickstarts]. | ||
The kick start file for a specific board can be modified from these files. | |||
For Allwinner D1, the kickstart file REPO is [https://gitee.com/etux/fedora_on_riscv64_allwinner_d1_kickstart | For Allwinner D1, the example kickstart file REPO is [https://gitee.com/etux/fedora_on_riscv64_allwinner_d1_kickstart here] . | ||
For StarFive Starlight Board, the example kickstart file REPO is [https://gitee.com/etux/fedora_on_riscv64_jh7100_kickstart here] . | |||
* Run appliance tool to build new image | * Run appliance tool to build new image |
Revision as of 12:51, 5 September 2021
Build Fedora Image for RISC-V development board
Setup Environment
We use latest Fedora Qemu image for RISC-V64 from riscv.rocks or a mirror in China to boot a RISC-V Qemu for building a Fedora Remix image.
Making Image by Appliance-tools
Appliance-tools is used to build Fedora images, which has already installed in the image.
- Download Pre-build image and Uncompress
$ wget http://fedora.riscv.rocks/kojifiles/work/tasks/8517/1128517/Fedora-Developer-Rawhide-20210421.n.0-sda.raw.xz $ xz -d Fedora-Developer-Rawhide-20210421.n.0-sda.raw.xz
- Download Firmware
$ wget http://openkoji.iscas.ac.cn/pub/dl/fw_payload-uboot-qemu-virt-smode.bin
- Resize image
The original image size is not enough for image building, we need enlarge it first.
$ qemu-img resize Fedora-Developer-Rawhide-20210421.n.0-sda.raw +40G
- Boot RISC-V Qemu
qemu-system-riscv64 -nographic \ -machine virt \ -smp 4 \ -m 2G \ -kernel fw_payload-uboot-qemu-virt-smode.bin \ -bios none \ -object rng-random,filename=/dev/urandom,id=rng0 \ -device virtio-rng-device,rng=rng0 \ -device virtio-blk-device,drive=hd0 \ -drive file=Fedora-Developer-Rawhide-20210421.n.0-sda.raw,format=raw,id=hd0 \ -device virtio-net-device,netdev=usernet \ -netdev user,id=usernet,hostfwd=tcp::10000-:22
- Resize root file system on Qemu
# growpart /dev/vda 2 # resize2fs /dev/vda2 # reboot
- Prepare kick start file
The original Kickstart files is from riscv.rocks: fedora-riscv-kickstarts.
The kick start file for a specific board can be modified from these files.
For Allwinner D1, the example kickstart file REPO is here .
For StarFive Starlight Board, the example kickstart file REPO is here .
- Run appliance tool to build new image
IMAGE_NAME=Fedora-d1-riscv64-developer-xfce-with-esp-Rawhide-sda.raw IMAGE_VERSION=1.0 IMAGE_RELEASE=f33 OUTPUT_DIR=./images CACHE_DIR=./cache KS_FILE=./fedora-riscv64-d1-developer-xfce-rawhide.ks appliance-creator -c kickstartfile.ks \ --cache ${CACHE_DIR} \ --format raw \ --name ${IMAGE_NAME} \ --version ${IMAGE_VERSION} \ --release ${IMAGE_RELEASE} \ -o ${OUTPUT_DIR}