ubuntu中,在qemu方式运行xinu

操作系统设计很头疼,本来不想学的,后来学分不够,只好来上。
这次的实验拖了一个星期才动手。因为从没学过什么xinu,一听就很头疼。
而且我还不想装虚拟机。不过搞一搞也快。

……

1.安装Ubuntu系统

之前有个实验是在virtualbox上做的,所以我就在上面装ubuntu了。
这个过程网上搜搜都有,我就不说了。
请添加图片描述

2.进行qemu,make安装

sudo apt install qemu-system-x86
sudo apt install make(如果我没记错)
在在这里插入图片描述
(这图差不多就是install 样子,原来的忘截了,随便发一张凑凑样子)

这是后边编译,启动要用的。

3.进行工具链安装(不安装也可)

sudo add-apt-repository ppa :team-gcc-arm-embedded/ppa
sudo apt-get update
sudo apt-get install gcc-arm-embedded

老师发的实验要求说有这步,但我运行的时候出错了,没做。
到后来发现这步完全不用。
您要是有时间,那做做也无妨。

4.安装编译c工具

sudo apt-get install gcc bison flex
在这里插入图片描述

5.从github上clone源代码

git clone https://github.com/xinu-os/xinu

在这里插入图片描述
在这里插入图片描述

6.修改文件

修改格式就是linux的patch

解决编译器 undefined reference to __stack_chk_fail 报错

— a/compile/Makefile
+++ b/compile/Makefile
@@ -24,7 +24,7 @@ TOPDIR := …
# Set the C compilation flags common to all Embedded Xinu platforms.
# platformVars can add more flags if desired.
-CFLAGS :=
+CFLAGS := -fno-stack-protector
在这里插入图片描述
修正 64 位环境下的链接问题

— a/compile/platforms/x86/platformVars
+++ b/compile/platforms/x86/platformVars
@@ -10,6 +10,7 @@ PLATFORM_NAME := Intel x86
# Add flags to compile 32 bit code
CFLAGS += -m32
ASFLAGS += --32
+LDFLAGS += -melf_i386
在这里插入图片描述
修改x86对应启动代码, 支持 Multiboot 规范, 从而可以直接由 QEMU 启动

— a/loader/platforms/x86/start.S
+++ b/loader/platforms/x86/start.S
@@ -10,6 +10,8 @@
.extern startup
.extern _end

+#define MULTIBOOT_HEADER_MAGIC 0x1BADB002
+#define MULTIBOOT_HEADER_FLAGS 0x00000003
_start:
/* disable any interrupts from coming in */
cli
@@ -22,3 +24,9 @@ _start:
movl %eax, %esp # set stack pointer

jmp startup

/* Enable multiboot support */
.align 4
.long MULTIBOOT_HEADER_MAGIC
.long MULTIBOOT_HEADER_FLAGS
.long -(MULTIBOOT_HEADER_MAGIC + MULTIBOOT_HEADER_FLAGS)
在这里插入图片描述

7.编译执行

进入 compile 目录, 执行 make;qemu-system-i386 -kernel xinu.elf -nographic, 启动出现xinu的banner和xsh的提示
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
完成

cnzx005
关注 关注
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
解决QEMU安装debian arm64版本后无法启动的问题
shada的专栏
12-21 2391
在Windows10下使用QEMU安装debian-11.6.0-arm64后重启可进入系统(热启动)。只要退出了虚拟机进程,再次启动(冷启动),就会报这个错误:Press ESC in 5 seconds to skip startup.nsh, any other key to continue。使用iso进入救援模式,重写grub后热启动可进入系统,冷启动还是报上面的错误。如果是其它系统或架构,可以用ls命令查看具体文件名。
xinu操作系统源代码
11-07
xinu 操作系统是由普渡大学 Douglas Comer开发的,主要用于教学目的。
Qemu运行Xinu
qq_46015650的博客
11-03 262
本文分享在x86架构的linux上通过qemu运行Xinu方式
Qemu搭建x86学习环境
weixin_34061555的博客
02-25 1472
作者信息 作者:彭东林 邮箱:pengdonglin137@163.com QQ:405728433 软件平台 主机: Ubuntu14.04 64位版本 模拟器:Qemu-2.8.0 Linux内核版本: Linux-4.10 Busybox版本:busybox-1.24.2 工具链: gcc 具备的功能 模拟一个双核或者单核的x86架构的系统,根文件系统用ramdisk的...
xinu-x86的源码
03-10
xinu-x86源码,用于编译,可以使用xinu(要20字的简介)
Ubuntu系统编译方法
怨行客
09-02 1204
点它
ubuntu 23.04 QEMU图形化安装配置网卡桥接
最新发布
07-20
本文档将指导您如何在 Ubuntu 23.04 使用 QEMU 图形化安装配置网卡桥接。网卡桥接是指将物理网卡和虚拟网卡连接起来,以便虚拟机能够访问外部网络。本文档将详细讲解网卡桥接的配置过程。 一、安装 QEMU 和 virt-...
vmware+x86_ubuntu18.04+qemu+aarch64_openEuler
08-26
本文档详细介绍了:在windows10主机的vmware软件安装ubuntu18.04系统,再基于x86架构的ubuntu18.04,搭建openEuler_aarch64架构的qemu虚拟机。
用于 Ubuntu 20根文件的 qemu-arm-static
03-12
用于 Ubuntu 20根文件的 qemu-arm-static
Ubuntu18.04+Qemu调试Linux内核实验记录
01-09
Ubuntu18.04+Qemu调试Linux内核实验记录 实验环境 操作系统:Ubuntu18.04 依赖项安装: sudo apt-get install texinfo sudo apt-get install libncurses5-dev sudo apt-get install m4 sudo apt-get install flex ...
可以在安卓运行qemu
08-16
想过在安卓上运行windows系统么,可以在安卓运行qemu,创建img qocw2镜像,可对虚拟机的运行
ubuntu20.04使用qemu
qq_38595432的博客
10-12 1413
#安装 以mips虚拟机为例 1.如果需要系统级别的虚拟机,就是sudo apt-get install qemu-system-x86 2.如果需要进程级别的虚拟机,就是sudo apt-get install qemu-user 3.如果需要qemu的一些工具比如qemu-img,就是sudo apt-get install qemu-utils ...
xinu在vbox上,使用debian8,并在上面进行xinu编程
u011274209的专栏
03-05 1845
xinu在vbox上,使用debian8,并在上面进行xinu编程
qemu基础
m0_59012172的博客
04-11 1763
一、qemu基础 (1)1、Qemu 是纯软件实现的虚拟化模拟器,几乎可以模拟任何硬件设备,我们最熟悉的就是能够模拟一台能够独立运行操作系统的虚拟机,虚拟机认为自己和硬件打交道,但其实是和 Qemu 模拟出来的硬件打交道,Qemu 将这些指令转译给真正的硬件。 2、正因为 Qemu 是纯软件实现的,所有的指令都要经 Qemu 过一手,性能非常低,所以,在生产环境,大多数的做法都是配合 KVM 来完成虚拟化工作,因为 KVM 是硬件辅助的虚拟化技术,主要负责 比较繁琐的 CPU 和内存虚拟化,而 Qem
在VMWare安装Xinu
u011274209的专栏
02-27 3928
Xinu是一种教学用的操作系统,运行在路由器上。有本书就是以此为教学对象《操作系统设计-Xinu方法》 其实,相当于把官方教程弄成文而已。
iso qemu 安装ubuntu_ubuntuqemu使用:图文详解
weixin_34237703的博客
12-30 1126
1、qemu安装以ubuntu为例,执行(更换国内源请参考Ubuntu更换源)sudo apt install -y qemu如果安装失败执行sudo apt install -fsudo apt install -y qemu2、qemu能模拟的平台安装完成后在Terminal输入“qemu-"按两下Table键可以列出所有qemu可以模拟的平台。 3、qemu常用参数及解释-M(-machi...
操作系统 xinu方法笔记
a1023934860的博客
04-15 1582
IO 操作系统会为每个IO设备在总线地址空间分配一段地址,CPU就可以像访问内存一样,对IO设备进行存取。 DMA机制 DMA直接内存访问机制,解决了IO收发数据时CPU将数据传入传出缓冲区计算的操作。 为了接受数据包,操作系统会在内存分配一个缓冲区并启动以太网设备,当数据包到达时,硬件设备接收这个数据包,经过多次总线传输将这个数据包副本写入内存缓冲。一旦数据包接受完毕,设备会给CPU发送断请求。 只要CPUI处理数据包的速度比数据包到达的速度快,并向列表不断添加清空的缓冲区,网络硬件设备就会持续
《操作系统设计:xinu方法》实验环境的搭建
cang_xing的博客
01-25 4408
缘起 无意间在单位的一堆旧资料里发现了这本书,一直想了解操作系统方面的知识,以前曾尝试读过《操作系统的概念》、《30天自制操作系统》等书,一直没有坚持下来,感觉没有好的切入点,单凭纸上谈兵很难有所收获,而且正好这本书给了一个具体的实验环境,于是乎开干。 1、硬件环境。 硬件环境为linksys e2100l路由器,二手50大洋左右,拆掉底下四颗螺钉,把前盖撬下来,可能需要用点力。拆开以后就可
操作系统设计:Xinu方法
拟声的主扬在江湖
11-20 1793
操作系统设计:Xinu方法 以Xinu(一个小型简洁的操作系统)为例,全面介绍操作系统设计方面的知识。本书从底层机器开始,一步步地设计和实现一个小型但优雅的操作系统Xinu,指导读者通过实用、简单的原语来构造传统的基于进程的操作系统。本书回顾了主要的系统组件,并利用分层设计范式,以一种有序、易于理解的方式组织内容。 对其内容详细阅读
ubuntu安装qemu和virtinst
07-08
要在Ubuntu安装QEMU和virtinst,可以按照以下步骤进行操作: 1. 打开终端(Ctrl + Alt + T)。 2. 更新软件包列表,运行以下命令: ``` sudo apt update ``` 3. 安装QEMU和virtinst软件包,运行以下命令: ``...

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
写文章

热门文章

  • torchtext 中文语料加载 3785
  • leetcode 第 305 场周赛 1428
  • AttributeError: ‘str‘ object has no attribute ‘dim‘ in pytorch 1144
  • 九坤投资专场竞赛 1106
  • torchtext 0.12 中文语料加载 1074

分类专栏

  • nlp 5篇
  • leetcode周赛 11篇
  • ZJUTOJ 9篇
  • vue 2篇
  • pat 3篇
  • docker 4篇

最新评论

  • torchtext 中文语料加载

    weixin_41762014: build vocab后,TEXT.vocab.vectors是全零矩阵吗,还是已经变为词向量矩阵了呢

  • torchtext 0.12 中文语料加载

    duoyasong5907: 就离谱,更新完API+以后网上的旧教程全部失效了

  • torchtext 中文语料加载

    Raku.: 0.10版本及后的torchtext好像把legacy给去掉了表情包

大家在看

  • 指针的相关知识 780
  • Tomcat 下载部署到 idea
  • 指针的相关知识
  • 基于java的网上订餐系统(源码+LW+PPT+部署教程)
  • VMware虚拟机扩容磁盘,有很详细图文 85

最新文章

  • linux服务器配置(自用)
  • leetcode 第 314 场周赛
  • leetcode 第 87 场双周赛
2023年1篇
2022年17篇
2021年14篇
2020年5篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

深圳SEO优化公司民治网站搭建南澳标王永湖网站推广工具坂田关键词按天扣费南联外贸网站制作东莞企业网站制作塘坑百度标王龙岗建网站福田百姓网标王观澜网站推广工具民治品牌网站设计塘坑网站推广东莞百度网站优化排名龙华seo网站优化丹竹头网页制作罗湖seo排名龙华关键词排名包年推广盐田阿里店铺运营吉祥关键词按天收费西乡关键词按天收费沙井网站搭建木棉湾设计网站坪山网站seo优化深圳网站优化按天收费宝安网站优化软件松岗网络营销南联模板网站建设南联网站优化按天扣费横岗网站seo优化深圳模板网站建设歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

深圳SEO优化公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化