From a1b03d1517f68ab3f21ce3ef38759c52b42a1584 Mon Sep 17 00:00:00 2001 From: aiminick Date: Sun, 20 Jun 2021 20:02:12 +0800 Subject: [PATCH] Create RISC-V64_QEMU.md --- docs/RISC-V64_QEMU.md | 178 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 178 insertions(+) create mode 100644 docs/RISC-V64_QEMU.md diff --git a/docs/RISC-V64_QEMU.md b/docs/RISC-V64_QEMU.md new file mode 100644 index 0000000..26fa37d --- /dev/null +++ b/docs/RISC-V64_QEMU.md @@ -0,0 +1,178 @@ +## RISC-V QEMU VM Example + +- ENV: Ubuntu 1804 X86 + +#### Install Base Package + +``` +apt-get install gcc libc6-dev pkg-config bridge-utils uml-utilities zlib1g-dev \ +libglib2.0-dev autoconf automake libtool libsdl1.2-dev +``` + +#### Build riscv-gnu-toolchain + +``` +sudo apt-get install autoconf automake autotools-dev curl libmpc-dev libmpfr-dev \ +libgmp-dev gawk build-essential bison flex texinfo gperf libtool patchutils bc zlib1g-dev + +git clone --recursive https://github.com/riscv/riscv-gnu-toolchain --depth=1 +./configure --prefix=/opt/riscv-gnu-toolchain_install && make linux -j $(nproc --all) +echo 'export PATH=/opt/riscv-gnu-toolchain_install/bin:$PATH' >> ~/.bashrc +source ~/.bashrc +``` + +#### Build Risc-V64 Qemu + +``` +git clone https://git.qemu.org/git/qemu.git --depth=1 +cd qemu +$ ./configure --target-list=riscv64-linux-user,riscv64-softmmu \ +--prefix=/opt/qemu && make linux -j $(nproc --all) +``` + +#### Build Risc-V64 Kernel + +``` +git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git --depth=1 +make ARCH=riscv defconfig +make ARCH=riscv menuconfig +make CROSS_COMPILE=riscv64-unknown-linux-gnu- ARCH=riscv -j $(nproc --all) +``` + +#### Buidl Risc-V64 Debian rootFS + +``` +apt-get install debootstrap qemu-user-static binfmt-support debian-ports-archive-keyring +debootstrap --arch=riscv64 unstable /home/linux/riscv64-chroot \ +http://mirrors.perfxlab.cn/debian-ports/ +``` + +``` +cat >>/etc/network/interfaces <>/etc/default/u-boot <>./u-boot/boot.cmd <