当前位置: 首页 > news >正文

网站手机优化显示商业网站的创建程序

网站手机优化显示,商业网站的创建程序,一份完整的市场调查方案,万网域名注册官网Mit6.S081-实验环境搭建 注:大家每次做一些操作的时候觉得不太保险就先把虚拟机克隆一份 前言 qemu(quick emulator):这是一个模拟硬件环境的软件,利用它可以运行我们编译好的操作系统。 准备一个Linux系统&#xf…

Mit6.S081-实验环境搭建

注:大家每次做一些操作的时候觉得不太保险就先把虚拟机克隆一份

前言

qemu(quick emulator):这是一个模拟硬件环境的软件,利用它可以运行我们编译好的操作系统。
准备一个Linux系统,安装qemu以及其他依赖,通过git克隆下github的xv6源码,利用gcc编译源码得到可运行的操作系统,再利用qemu加载这个操作系统。

一、Linux系统

笔者用的是VM的ubuntu24.04,大家可以到网上找找安装教程,很多很详细,就不多说了

二、SSH连接工具

笔者使用的是xshell,大家可以到网上找找安装教程,很多很详细,就不多说了

三、环境搭建

6.S081 / 2020 年秋季

1、安装依赖

sudo apt-get install git build-essential gdb-multiarch qemu-system-misc gcc-riscv64-linux-gnu binutils-riscv64-linux-gnu 

2、克隆源码

只有克隆了源码才会有xv6-labs-2020目录,不然是没有的

git clone git://g.csail.mit.edu/xv6-labs-2020

3、分支说明

前面克隆下来的git代码库包含了多个分支,每个分支对应一个实验作业。
切换到克隆下来的代码库:cd xv6-labs-2020
查看此代码库的所有分支:git branch --remote
image-20241108222705579

4、源码目录简析

kernel:内核源码,system call的实现
user:系统自带工具源码,shell、echo、cat等工具实现
grade-lab-util:python实现的代码测试工具
Makefile:make配置文件

四、检测qemu是否安装成功

1.测试

依次输入

riscv64-unknown-elf-gcc --version
qemu-system-riscv64 --version

笔者的结果

darling@darling:~/MIT6.S081$ riscv64-unknown-elf-gcc --version
riscv64-unknown-elf-gcc (13.2.0-11ubuntu1+12) 13.2.0
Copyright (C) 2023 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.darling@darling:~/MIT6.S081$ qemu-system-riscv64 --version
QEMU emulator version 4.2.0 (Debian 1:4.2-3ubuntu6)
Copyright (c) 2003-2019 Fabrice Bellard and the QEMU Project developers

2.执行make qemu

如果出现make: *** 没有规则可制作目标“qemu”。 停止。

执行

git checkout util

然后再次执行make qemu

可能的第一个错误

user/sh.c: In function 'runcmd':
user/sh.c:58:1: error: infinite recursion detected [-Werror=infinite-recursion]58 | runcmd(struct cmd *cmd)| ^~~~~~
cc1: all warnings being treated as errors

就是检测到了这个递归函数没有合理的终止条件可能会无线递归

解决方法

在 runcmd 前添加 attribute((noreturn))

// Execute cmd.  Never returns.
__attribute__((noreturn)) 
void
runcmd(struct cmd *cmd)

就是给系统说你别管,我自己能管好我自己

可能的第二个错误

执行了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-devi
ce, drive=x0,bus=virtio-mmio-bus.0

停在了这么个倒霉地方

此时此刻,似乎软件包 qemu-system-misc 收到了一个更新,该更新破坏了它与我们内核的兼容性。如果运行 make qemu 并且脚本在 qemu-system-riscv64 -machine virt -bios none -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 之后出现挂起,则需要卸载该软件包并安装旧版本:

  $ sudo apt-get remove qemu-system-misc$ sudo apt-get install qemu-system-misc=1:4.2-3ubuntu6

成功运行界面

image-20241108222046344

执行ls命令

image-20241108222133732

qemu的退出方法

两种方法:

  1. 在另一个终端中输入 killall qemu-system-arm
  2. 在 qemu 中 按下ctrl+a 抬起后,再输入’x’。

真实一把辛酸泪啊

期间还因为软件源不能用去换了软件源

找了很多杂七杂八的方法,克隆了两次虚拟机,搞了2小时总算是给我搞定了

http://www.yayakq.cn/news/193274/

相关文章:

  • 做网站架构网站建设公司擅自关闭客户网络
  • 网站建设模板简单赤峰网站建设
  • 企业网站排名优化哪家好企业网站 建设流程
  • 中国建设注册管理中心网站首页wordpress 不支持中文
  • 自搭建网站营销思路
  • 网站建设规划书费用预算怎么做网站免费的教程
  • 百度网站优化是什么意思合购WordPress
  • 建设网站推广网站开发和网页设计的区别
  • 宁波医院网站建设外贸平台招聘
  • .net如何做网站iss服务器网站建设
  • 金山网站建设公司修改wordpress评论
  • 北京学做网站北京建设工程交易服务中心网站
  • 免费做初级会计试题网站有哪些网站数据库是什么
  • 徐州网站建设公司哪家好上海百度竞价托管
  • 学网站开发学费多少机械营销网站建设案例
  • 一般建设企业网站的费用花瓣官网设计网站
  • 做贸易的都有什么网站郑州seo方案
  • 学校做网站有些什么好处义乌国贸学校网站建设
  • 重庆网站设计公司网站制作建立网站兴田德润电话多少
  • 深圳建筑设计网站wordpress优化数据
  • 怎么自己做H5网站wordpress cd
  • 滨海营销型网站建设系统优化加速工具
  • 网站模板 金融网站群建设意义
  • 网站架构设计师简历上海专业的网站建设
  • wordpress站点名字体建设论坛网站自学
  • 做推广哪个平台网站好广州做网站星珀
  • 深圳最新通告今天南京网站seo找行者seo
  • 网站双域名可以做qq空间背景音乐的网站
  • 棕色网站设计wordpress中文主题站
  • 做二手家具回收哪个网站好招商网代理