RISC-V Emulator en Linux Systeem vanaf Nul
Broncode
/libbevat de volledige emulatorcode voor de rv32ima-instructieset, evenals een minimale set geëmuleerde apparaten./mainbevat de configuratie voor de machine en de functies die beschikbaar zijn voor gebruik met WebAssembly.
Configuratie
Alle configuratiebestanden die nodig zijn om Linux te bouwen, zijn te vinden in /boot. Het hoofdprogramma verwacht tevens dat alle gebouwde binaries in de bootmap staan.
riscv32-unknown-linux-gnu.configis het configuratiebestand voor de crosstool-ng toolchain.riscvemulatordefconfigis het configuratiebestand voor de Linux Kernel.device_tree.dtsis de minimale device tree. Deze kan worden gecompileerd naar een dtb met het volgende commando:
dtc -I dts -O dtb devicetree.dts -o devicetree.dtb
init.cis het init-programma. Dit kan worden gecompileerd met:
riscv32-unknown-linux-gnu-gcc -static init.c -o init
initramfs.txtis hetgeninitcpio-configuratiebestand om de initramfs te genereren. Dit kan worden gecompileerd naar een cpio met:
usr/geninitcpio initramfs.txt -o initramfs.cpio
Over dit project
Dit is een RISC-V rv32ima-emulator die in staat is om Linux op te starten.
Meer informatie is te vinden op: werwolv.net/posts/linuxbringup/
Groetjes,