启动xv6遇坑记录

我是在VMware上的Ubuntu22.04.4搭建的,启动xv6遇到超多bug,搞了好几天,所以记录一下。

目录

git push的时候报错

make qemu缺少包

运行make qemu时卡住

可能有影响的主机设置


git push的时候报错

remote: Support for password authentication was removed on August 13, 2021.

说明GitHub不能用用户名和密码验证了,可以改成用SSH密钥验证身份。步骤如下:

1. 在终端中输入以下命令来生成新的 SSH 密钥:

ssh-keygen -t rsa -b 4096 -C your_email@example.com

2. 这将在 ~/.ssh 目录下生成 id_rsa 和 id_rsa.pub 两个文件,其中 id_rsa 是私钥,id_rsa.pub 是公钥。(默认生成的密钥在/root/.ssh)

用以下指令查看公钥,并复制到GitHub账号的SSH密钥设置中。(就是添加密钥到下图位置)

cat /root/.ssh/id_rsa.pub

我的虚拟机一开始无法复制内容到本机,参考这篇【完美解决VMware Tools一直灰色 无法安装问题!从问题分析 到成功安装 !保姆级教学!!_vmware安装tools是灰色的-CSDN博客】可以解决

3. 将远程仓库的URL更改为SSH地址(git@github.com:username/repository.git的形式)

git remote set-url <远程仓库名> git@github.com:<你的用户名>/<你的仓库名>.git

4. 将SSH私钥添加到ssh-agent中,以便在进行 SSH 连接时无需每次都输入私钥密码。

ssh-add ~/.ssh/id_rsa

5. 再进行git push

git push <远程仓库名> <要推送的本地分支名>

make qemu缺少包

一般是什么报错就下载什么包,下面是一些我报错之后下载的包(可能不完整,如果缺少其他包自行安装即可)

如果有报错说下载的包缺少文件,可以用apt update更新

apt install make

sudo apt install binutils-riscv64-linux-gnu

sudo apt install binutils-riscv64-linux-gnu-dbg

sudo apt install binutils-riscv64-unknown-elf

sudo apt install gcc-10-riscv64-linux-gnu

cd /usr/bin   # 进入 /usr/bin 目录,建立软连接

sudo ln -s riscv64-linux-gnu-gcc-10 riscv64-unknown-elf-gcc

cd /optmake/xv6-labs-2020

apt install gcc

运行make qemu时卡住

运行时卡在qemu-system-riscv64 -machine virt -bios none -kernel kernel/kernel -m 128M -smp 3 nographic -drive file=fs.img,if=none,format=raw,id=x0 -device virtio-blk device,drive=x0,bus=virtio-mmio-bus.0

无法继续运行也没有报错。

可以先用Ctrl+A松开再按X组合键正常退出。

是qemu-system-misc更新后和xv6的kernel不兼容,所以要下载以前版本的qemu-system-misc

wget https://download.qemu.org/qemu-5.1.0.tar.xz
tar xf qemu-5.1.0.tar.xz
cd qemu-5.1.0
./configure --disable-kvm --disable-werror --prefix=/usr/local --target-list="riscv64-softmmu"
make
sudo make install

参考下面链接:

MIT操作系统课程使用Ubuntu23.10.01安装qemu构建xv6_xv6未找到“qemu-system-misc”的“1:4.2-3ubuntu6”版本-CSDN博客

可能有影响的主机设置

我本机是Windows,下面有两个设置可能影响虚拟机

1. 打开”服务“,找到“HV主机服务”并停用

2. 在Windows安全中心中关闭内核隔离

相关推荐

  1. xv6项目开源—04

    2024-06-09 10:42:06       16 阅读
  2. xv6项目开源—05

    2024-06-09 10:42:06       15 阅读
  3. 记录下我过的问题

    2024-06-09 10:42:06       35 阅读
  4. centOS linux 宝塔 部署django 小记

    2024-06-09 10:42:06       31 阅读
  5. mac m芯片安装win11

    2024-06-09 10:42:06       6 阅读
  6. lab-1:Xv6 and Unix utilities

    2024-06-09 10:42:06       15 阅读
  7. xv6源码分析 001

    2024-06-09 10:42:06       15 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-06-09 10:42:06       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-09 10:42:06       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-09 10:42:06       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-09 10:42:06       18 阅读

热门阅读

  1. Mac电脑arm64芯片Cocoapods 的 ffi 兼容问题

    2024-06-09 10:42:06       5 阅读
  2. 0105__学习一个 Linux 命令:objcopy 命令

    2024-06-09 10:42:06       10 阅读
  3. 参观营业额变化增长(sql练习)

    2024-06-09 10:42:06       7 阅读
  4. g++ 预处理 编译 汇编 链接 命令

    2024-06-09 10:42:06       8 阅读
  5. Npm发布自己的插件包

    2024-06-09 10:42:06       7 阅读
  6. Linux基本指令查询硬件信息001

    2024-06-09 10:42:06       9 阅读
  7. 360数字安全:2024年3月勒索软件流行态势分析报告

    2024-06-09 10:42:06       8 阅读
  8. Redis中的发布/订阅模式:构建灵活的消息系统

    2024-06-09 10:42:06       8 阅读
  9. 2024年OceanBase数据库中级培训课程

    2024-06-09 10:42:06       9 阅读
  10. cocos入门9:三维向量点乘

    2024-06-09 10:42:06       11 阅读
  11. TypeScript 中的 tsconfig.json

    2024-06-09 10:42:06       7 阅读
  12. Tomcat 启动闪退问题解决方法

    2024-06-09 10:42:06       7 阅读