Bootstrap

自我通信11

?ueCpG>5P%o_

 

1. 环境安装好vmware ,里面装个linux系统,比如ubuntu

2. 虚拟机里面安装qemu 

sudo apt update
sudo apt install qemu qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virt-manager

3. 虚拟机里面git下载Xv6 
git clone https://github.com/mit-pdos/xv6-riscv.git

4. 进入xv6-riscv,执行make qemu命令,就可以直接跑起来xv6系统了


如果报错,就安装对应的包

sudo apt install binutils-riscv64-linux-gnu
sudo apt install gcc-riscv64-linux-gnu
sudo apt install gdb-multiarch
sudo apt install qemu-system-misc opensbi u-boot-qemu qemu-utils

 

 

 

https://500ml.name/








 

qemu-system-riscv64 -machine virt -bios none -kernel kernel/kernel -m 128M -smp 3 -nographic -global virtio-mmio.force-legacy=false -drive file=fs.img,if=none,format=raw,id=x0 -device virtio-blk-device,drive=x0,bus=virtio-mmio-bus.0
make: qemu-system-riscv64: Command not found
Makefile:172: recipe for target 'qemu' failed
make: *** [qemu] Error 127

 

配置编译 RISC-V 支持:
./configure --target-list=riscv64-softmmu
make -j$(nproc)
sudo make install

 

https://stackoverflow.com/questions/33277246/qemu-system-riscv-command-not-found

 

https://nn0310.xn--8stx8olrwkucjq3b.com/link/8s81fB84wOfPwEFh?clash=1

 

 

 

①qemu:
wget https://download.qemu.org/qemu-9.1.1.tar.xz

tar xvJf qemu-9.1.1.tar.xz

cd qemu-9.1.1

sudo apt install autoconf automake autotools-dev curl libmpc-dev libmpfr-dev libgmp-dev \
                 gawk build-essential bison flex texinfo gperf libtool patchutils bc \
                 zlib1g-dev libexpat-dev git \
                 libglib2.0-dev libfdt-dev libpixman-1-dev \
                 libncurses5-dev libncursesw5-dev

./configure --prefix=/opt/qemu --target-list=riscv64-softmmu,riscv64-linux-user
(如果缺少包报错,就把包安装就行)

make -j $(nproc)

sudo make install

qemu-system-riscv64 -version
(这里可能输出的是6.2.0版本的)

/opt/qemu/bin/qemu-system-riscv64 --version
(这个测试以下,看qemu版本是不是9.1.1)

export PATH=/opt/qemu/bin:$PATH
qemu-system-riscv64 -version
(执行这一条,重新看版本是不是变了)

②RISC-V 工具链
sudo apt install gcc-riscv64-unknown-elf
(我是ubuntu22.04,可以用这个直接下载。可以问一下gpt看能不能用这个,不能的话就很麻烦,先省略)

③xv6-riscv(先确定前面的qemu版本是对的)
git clone https://github.com/mit-pdos/xv6-riscv.git
cd xv6-riscv
make
make qemu

 

 

 

 

 

;