方法一:
使用buildroot-2020.08.1 全自動
https://buildroot.org/download.html
下載后在ubuntu內解壓,在buildroot-2020.08.1目錄下
make qemu_riscv64_virt_defconfig
然后
make menuconfig
如果你不懂怎么配置,直接默認。這兩步如果出錯,一般是你的ubuntu有些軟件沒裝。根據提示,直接搜一下error信息就能找到解決方法。
然后直接 make
buildroot會自動下載riscv-toolchian、linux kernel source code、qemu、rootfs、opensbi等等,自動編譯,生成各種可執行文件和image文件。
編譯結束后,到 buildroot-2020.08.1/output/images
./start-qemu.sh
即可啟動qemu,將首先執行qemu內置的rom,然后執行OpenSBi作為bootloader,之后載linux kernel。登錄名root 密碼默認沒有密碼。
方法二:
qemu的編譯可以參考
不想自己編譯可以去官網下載發布版,編譯好的全家桶,直接用就是了,在windows環境下使用即可。
https://www.qemu.org/download/#windows
qemu運行整個操作系統需要加載一個操作系統鏡像,就是虛擬機的鏡像,參考了這篇配置qemu
我圖省事兒,用的現成的fedora
注意,要把全部文件都下載,尤其不要遺漏bbl,這是bbl(bootloader) + Linux kernel一體的。stage4-disk.img是根文件系統,你可以用busybox自己做一個。
stage4-disk.img和bbl同文件夾,然后在這個文件夾運行qemu-system-riscv64,命令參數還是看 https://wiki.qemu.org/Documentation/Platforms/RISCV
qemu-system-riscv64 \ -nographic \ -machine virt \ -smp 4 \ -m 2G \ -kernel bbl \ -object rng-random,filename=/dev/urandom,id=rng0 \ -device virtio-rng-device,rng=rng0 \ -append "console=ttyS0 ro root=/dev/vda" \ -device virtio-blk-device,drive=hd0 \ -drive file=stage4-disk.img,format=raw,id=hd0 \ -device virtio-net-device,netdev=usernet \ -netdev user,id=usernet,hostfwd=tcp::10000-:22
qemu就跑起來了。
windows下的bat腳本: 文件路徑自己改
cd C:\Program Files\qemu .\qemu-system-riscv64.exe ^ -nographic ^ -machine virt ^ -smp 4 ^ -m 2G ^ -kernel C:\fedora\bbl ^ -append "console=ttyS0 ro root=/dev/vda" ^ -device virtio-blk-device,drive=hd0 ^ -drive file=C:\fedora\stage4-disk.img,format=raw,id=hd0 ^ -device virtio-net-device,netdev=usernet ^ -netdev user,id=usernet,hostfwd=tcp::10000-:22
要看剛剛下載readme!!!
https://fedorapeople.org/groups/risc-v/disk-images/readme.txt
可以ssh登錄它:
ssh -p 10000 root@localhost
用戶名 root 密碼 riscv
root@localhost's password: riscv
windows效果,建議用powershell,cmd下字符亂碼: