Ubuntu18/20安装配置Bochs2.6.9与编译运行GeekOS

ubuntu18.04 下bochs-2.6.7 安装的总结(试验成功后搬运) 先下载bochs,版本随意⼀般最新版即可,我装的是bochs-2.6.7,直接去官⽹的最下⾯找到下载区,点击⼀个版本之后会跳转到更详细的下载⻚⾯,我们是linux系统所以选择bochs-2.6.7.tar.gz这种的压缩格式。下载完成后开始解压,在Ubuntu下按 Ctrl+Alt+T 键打开命令⾏,也就是常说的终端模拟器。终端模拟器刚打开时默认的路径为:home⽬录⼀般刚下载的⽂件都在home下... 阅读详情
AI摘要

本文档详细介绍了如何在Ubuntu 18.04和20.04上安装Bochs 2.6.9,并编译运行开源操作系统GeekOS。首先,你需要安装必要的依赖,如build-essential、xorg-dev等。接着,下载并编译Bochs,创建和配置.bochsrc文件。然后,安装nasm并下载GeekOS源码,修改Makefile以解决编译错误。最后,通过dd命令将编译好的程序写入软盘映像,并在Bochs中运行GeekOS。

Ubuntu20.04/18.04安装Bochs2.6.9编译运行GeekOS

请注意:博主仅测试在Ubuntu18和Ubuntu20上成功安装Bochs-2.6.9、nasm-2.08.02、geekos-0.3.0,其它版本可能会出现不兼容的情况。若安装调试过程中出现各种奇奇怪怪的错误,请百度报错信息,或给我留言。博主也是在多次失败的情况下,总结各位大佬的解决方案,才成功的。

1.在电脑上安装Linux操作系统

安装过程就不多介绍了,放个Ubuntu的种子,需要的自行下载

  • Ubuntu 18.04 Desktop (amd64)

magnet:?xt=urn:btih:286D2E5B4F8369855328336AC1263AE02A7A60D5&dn=ubuntu-18.04.4-desktop-amd64.iso

  • Ubuntu 20.04 Desktop (amd64)

magnet:?xt=urn:btih:9FC20B9E98EA98B4A35E6223041A5EF94EA27809&dn=ubuntu-20.04-desktop-amd64.iso&xl=2715254784

Ubuntu20安装成功如下图
Ubuntu20图

2.编译安装Bochs需要准备好安装环境

安装Bochs之前需要联网安装下面这些软件:

sudo apt-get install build-essential
sudo apt-get install xorg-dev
sudo apt-get install bison
sudo apt-get install libgtk2.0-dev
sudo apt-get install gcc-multilib

下载安装速度可能较慢,需要点耐心,如果下载中出现失败,用手机开个热点给电脑试下

3.安装Bochs2.6.9

  1. 下载Bochs2.6.9
    进入链接: 下载地址.
    找到bochs-2.6.9.tar.gz并下载保存

  2. 解压bochs-2.6.9.tar.gz
    可以直接鼠标右键选择“提取到此处”

  3. 安装Bochs
    进入bochs-2.6.9目录
    在终端输入下列命令

sudo ./configure --enable-debugger --enable-disasm
sudo make
sudo make install
  1. 启动Bochs
    直接在终端输入bochs启动,这里可能会报错,不用着急,百度可以解决。
    若没有报错,则会出现Bochs的菜单
    但是建议选项为[2],没有找到配置文件
    1

  2. 配置Bochs
    当我们在终端输入bochs后,
    Bochs会自己在当前目录顺序寻找以下文件作为默认配置文件:
    .bochsrc
    bochsrc
    bochsrc.txt
    bochsrc.bxrc(仅对Windows有效)
    我们可以自己创建一个名为.bochsrc的文件,来指定Bochs配置我们想要的虚拟机
    (请将.bochsrc文件放在 geekos-0.3.0/src/project0/build 目录下。没有geekos?请看第4步!在此目录下会有一个自带的.bochsrc文件,但它是隐藏文件)
    在终端输入

sudo gedit .bochsrc

粘贴以下内容(注意这里要确保romimage和vgaromimage这两项的路径是正确的,不然虚拟机启动时会提示“couldn’t open ROM image file”的错误,还有Bochs的版本不一样的话,键盘设置的方式也不太一样):

#################################################################
# Bochs的配置文件
# Configuration file for Bochs
#################################################################

# how much memory the emulated machine will have
megs: 32

# filenameof ROM images
romimage:file=/usr/local/share/bochs/BIOS-bochs-latest
vgaromimage:file=/usr/local/share/bochs/VGABIOS-lgpl-latest

# which disk image will be used 这个是启动软盘
floppya:1_44=fd.img, status=inserted

# choose the boot disk 确定启动方式
boot: floppy

# where do we send log messages?
log: bochsout.txt

# disable the mouse
mouse: enabled=0

# enable key mapping ,using US layout as default
keyboard:keymap=/usr/local/share/bochs/keymaps/x11-pc-us.map

保存退出

4.安装nasm和下载GeekOS

  1. 下载安装nasm
    进入链接: 下载地址.
    选择nasm-2.08.02.tar.gz,下载保存
    解压后进入nasm-2.08.02目录
    依次输入以下命令:
./configure
sudo make
sudo make install

再在终端输入nasm -version
出现2.08.02,OK继续!

  1. 下载GeekOS
    直接去GeekOS下载
    下载完成后解压

5.编译GeekOS

进入目录 geekos-0.3.0/src/project0/build
终端输入

sudo make depend
sudo make

会报错,因为Makefile在make时将warnings全部视为了errors
于是我们打开当前目录下的Makefile
3

sudo gedit Makefile

找到第149行的-Werror:

CC_GENERAL_OPTS := $(GENERAL_OPTS) -Werror 

修改为:

CC_GENERAL_OPTS := $(GENERAL_OPTS)

在Makefile文件的第148行 GENERAL_OPTS := -O -Wall $(EXTRA_C_OPTS) 后面添加编译选项:
(高版本的Ubuntu会有优化问题,导致project运行时线程报错,所以此处可以把-O改成-O0,取消优化)

-fno-stack-protector

然后把Makefile文件中的100行至109行修改为如下内容:

TARGET_CC := $(TARGET_CC_PREFIX)gcc -m32                                                  
 
# Host C compiler.  This is used to compile programs to execute on                        
# the host platform, not the target (x86) platform.  On x86/ELF
# systems, such as Linux and FreeBSD, it can generally be the same                        
# as the target C compiler.                                                               
HOST_CC := gcc -m32                                                                       

# Target linker.  GNU ld is probably to only one that will work.                          
TARGET_LD := $(TARGET_CC_PREFIX)ld  -m elf_i386

然后输入命令:

sudo make clean
sudo make depend
sudo make

会出现

cat geekos/fd_boot.bin geekos/setup.bin geekos/kernel.bin > fd.img

3

即为编译成功
注意:这里的fd.img是软盘文件,和.bochsrc文件相关,非常重要!如果启动Bochs出现黑色界面,但是有弹窗报错,多半和它有关。

6.运行GeekOS

进入目录 geekos-0.3.0/src/project0/build
终端输入:bochs
会出现Bochs菜单,且建议选项为[6]意思是开始模拟
输入"6"弹出黑色页面,然后再在命令行输入"c"
4

如果出现错误提示,可能是因为软盘映像中没有找到编译好的可执行程序,所以需要我们导入程序。
可以自己编写一段程序,也可以使用自带的示例程序,将编译好的引导扇区写进软盘。

Linux下自带了dd命令可以很方便地进行软盘读写:

sudo dd if=main.o of=fd.img bs=512 count=1 conv=notrunc

("main.o"是要写入软盘的程序文件,“fd.img"是目的软盘,可以用自己建的软盘"a.img”,也可以用自动生成的)

重新运行GeekOS,看到Bochs界面上出现的“Welcome to GeekOS!”,恭喜你成功了!

感谢观看

如果文章对你有用,点个赞再走吧,有问题的可以评论区讨论。

linux 0.11 bochs2.6.9配置文件 linux 0.11 bochs2.6.9配置文件,针对linux 0.11 在bochs2.6.9上的配置文件,带注释 立即下载

相关推荐

bochs-2.6.9

bochs是一个很好的虚拟机,能够完整的模拟一台电脑,而且具有很好的系统级代码调试的功能

GeekOS: 一、构建基于Ubuntu9.04的实验环境

  一、安装Ubuntu9(略) 二、下载Geekos 1.Ubuntu内置了Firefox3浏览器,打开网址 geekos.sourceforge.net,下载GeekOS 0.3到本地。 解压到 /home/[username]/geekos-0.3.0目录。 三、安装c/c++编译环境 1.修改使用国内镜像更新源,在这里(http://hi.baidu.com/xbourn/blog/ite...

weixin_34126557的博客 376

Bochs v2.6.9

Bochs是一个操作系统模拟机,也可用于制作硬盘镜像文件。

基于Bochs安装GeekOs

开发环境介绍 1.Ubuntu-16.04 2.boch2.6.11 下载地址: http://sourceforge.net/projects/bochs/files/bochs/2.6.11/ 3.nasm-2.08.01 下载地址: http://www.nasm.us/pub/nasm/releasebuilds/2.08.01/ 4.GeekOs0.3.0 下载地址: https://sourceforge.net/projects/geekos/files/ 安装bochs 前往bochs的官网

soviet1941的博客 1757

Bochs-2.6.9

Bochs是一个x86硬件平台的开源模拟器。它可以模拟各种硬件的配置。Bochs模拟的是整个PC平台,包括I/O设备、内存和BIOS。更为有趣的是,甚至可以不使用PC硬件来运行Bochs。事实上,它可以在任何编译运行Bochs的平台上模拟x86硬件。通过改变配置,可以指定使用的CPU(386、486或者586),以及内存大小等。一句话,Bochs是电脑里的“PC”。根据需要,Bochs还可以模拟多台PC,此外,它甚至还有自己的电源按钮

Bochs2.6.9可运行的Linux0.11

Ubuntu 16.04下可使用Bochs2.6.9运行的Linux0.11,亲测有效哦。

Bochs搭建GeekOS平台

一、前言最近接触的OS比较多,外加自己想多学点OS的知识,就在网上狂搜教学用的OS。除了Minix用VMware搭建外,看到还有个叫GeekOS的学习用OS,就拿来试试。 What is it?GeekOS is a tiny operating system kernel for x86 PCs.  Its main purpose is to serve as a simple

huangwei.pro 3942

UVM概述及uvm_component和uvm_object(一)

UVM:Universal Verification Methodology(通用验证方法学) UVM:是建立在systemverilog平台上的一个库,提供了一系列的接口,让我们能够更方便的进行验证。验证平台组成: Driver:用来把不同的激励施加给DUT; Monitor:用来检测DUT的输出; Scoreboard:专门用来比较期望值与monitor检测到的DUT输出; Refer

南国之邱 1万+

Linux原版镜像

本文章分享的链接,均是迅雷下载链接,选择你要的版本复制粘贴到迅雷即可下载。

XIAOBAIMEITOFA的博客 3万+

JLink 添加国产芯片手把手教程(雅特力 + 华大)

拷贝厂商算法文件夹 + 配置 JLinkDevices.xml。雅特力直接复制官方配置,华大按需添加芯片节点,操作一次,永久生效,以后调试 AT32、HC32 再也不用愁找不到型号。这套方法适配全版本 JLink,也是国产 MCU 替代项目的必备技能,看完照着做,新手也能轻松搞定。百度网盘资料分享:通过网盘分享的文件:jink驱动(包括新增芯片型号)链接: https://pan.baidu.com/s/14SLgrPfyof1lglD6VQguAw?pwd=cfuq 提取码: cfuq。

weixin_48867130的博客 713

CMOS锁相环核心:四种鉴频鉴相器(PFD)结构深度剖析与选型指南

本文深入剖析了CMOS锁相环中四种鉴频鉴相器(PFD)的结构与性能,包括传统RS触发器型、非时钟型、预充电型和边沿触发型PFD。通过详细的电路分析、实测数据和工程案例,提供了PFD选型的实用指南,帮助工程师根据速度、功耗和精度需求选择最优方案,提升锁相环设计效率。

weixin_42530458的博客 587

GNU/Linux环境下搭建GeekOS实验环境

我使用的操作系统为Debian GNU/Linux 6,基本系统安装好后GeekOS实验环境需要安装的组件只有bochs和nasm,直接使用源中的软件包即可: # apt-get install build-essential # apt-get install bochs b

雨婷的专栏 7877

Zipformer实战:5分钟快速搭建语音识别模型(附LibriSpeech测试结果)

本文提供了一份详细的Zipformer语音识别模型实战指南。通过清晰的步骤,指导读者在5分钟内完成从环境配置、LibriSpeech数据集准备到模型训练与测试的全过程。文章重点解析了关键配置参数,并分享了在LibriSpeech测试集上的性能结果,帮助开发者快速评估和应用这一高效的语音识别架构。

weixin_35578748的博客 163

Ubuntu18.04安装配置Bochs2.6.9与编译运行GeekOS

Ubuntu18.04安装Bochs2.6.9 下载Bochs2.6.9 进入下载地址 找到bochs-2.6.9.tar.gz并下载保存 解压bochs-2.6.9.tar.gz 可使用命令 sudo tar zxvf bochs-2.6.9.tar.gz 解压, 也可以直接右键选择“提取到此处” 安装Bochs 进入bochs-2.6.9目录 在终端输入下列命令 sudo ./configu...

Shane恆的博客 5493

SCI一区论文投稿终极技巧:Expert Systems With Applications;Knowledge-Based Systems

投稿计算机1区论文(如KBS、ESWA)的核心技巧包括:1)关键词选择需平衡范围与相关性,避免过细或过泛;2)研究内容聚焦单一核心创新点,避免内容分散;3)必须设计消融实验量化创新点的贡献;4)公开实验代码和数据集,确保可验证性;5)合理使用AI工具仅辅助写作,核心内容需自主完成;6)实验数据必须真实可靠。特别强调1区期刊对创新性和实验严谨性的高要求,需避免常见拒稿原因如内容分散、缺乏验证等。这些策略可提高投稿成功率,但前提是研究本身具有实质性创新。

ZhangJiqun&191cm&85kg 1154

SecOC专题之新鲜值TripCnt

本系列为一步步拆解新鲜值的分发及管理而撰写文章属于原创,根据自身开发经验及理解撰写,若有错误请指出Trip Counter是新鲜值中变化最慢的一个part,并且自增到最大值时,会从头开始翻转计数。Trip Counter需要收发双方都保存,由于其变化较慢,所以不会经常进行同步该值。这就要求开发过程中保证每次对该值的读写必须要正确。

qq_22969363的博客 1154

复古计算体验:用Bochs 2.6.9在Ubuntu上复活GeekOS 0.3.0

本文详细介绍了如何在Ubuntu系统上使用Bochs 2.6.9模拟器复活GeekOS 0.3.0,包括环境准备、Bochs编译配置、GeekOS源码修正及调试技巧。通过精确匹配组件版本和调试参数,成功重现这一教学用微内核系统,为技术极客提供复古计算体验。

weixin_30627341的博客 348

SAP采购申请审批策略配置简介

SAP采购申请审批策略配置简介 1、CT04创建特征

我小时候很黑的博客 8162

手把手教你用VMware和Bochs在Linux下编译运行GeeKOS 0.3.0(附完整配置文件)

本文详细介绍了在Linux环境下使用VMware和Bochs编译运行GeeKOS 0.3.0的全过程,包括环境搭建、源码准备、编译工具链配置、Bochs仿真环境调优以及调试技巧。特别针对操作系统课设中常见问题提供了解决方案,帮助开发者高效完成GeeKOS实验环境的构建与运行。

weixin_30437847的博客 541

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

手把手教你用VMware和Bochs搭建GeekOS实验环境(附详细配置文件)

本文详细介绍了如何使用VMware和Bochs搭建GeekOS实验环境,包括虚拟机配置、Linux开发环境搭建、Bochs调优及常见问题解决方案。通过实战指南,帮助操作系统课程设计的学生快速完成环境部署,提升开发效率。

weixin_30696427的博客 394

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

告别虚拟机:用Bochs在Ubuntu 18.04上搭建GeekOS教学环境全记录

本文详细介绍了如何在Ubuntu 18.04上使用Bochs模拟器搭建GeekOS教学环境,提供从安装配置到编译调试的完整指南。通过轻量化的Bochs模拟器和专为教学设计的GeekOS内核,学生可以高效学习操作系统核心原理,包括进程管理、内存分页等关键概念。

weixin_33327380的博客 355

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

不只是安装:用Bochs 2.6.9和GeekOS 0.3.0,在Ubuntu上搭建你的第一个‘玩具’操作系统实验环境

本文详细介绍了如何在Ubuntu系统上使用Bochs 2.6.9和GeekOS 0.3.0搭建操作系统实验环境。从编译安装Bochs模拟器到配置GeekOS教学内核,再到调试技巧和内核扩展实验,为学习者提供了完整的操作系统开发实践指南。通过这一环境,开发者可以深入理解操作系统核心原理并进行实际修改和调试。

weixin_29758911的博客 260

Ubuntu 20.04 安装bochs 2.6.2

最近突然对x86架构感兴趣,在看《操作系统真象还原》这本书,里面用到了bochs,版本为bochs2.6.2,我在用的虚拟机是Ubuntu20.04,为了原汁原味,决定不用最新版的bochs,而是在Ubuntu20.04上安装bochs2.6.2,安装期间遇到并解决了一些编译相关问题,记录在此处,供参考。安装完毕后,重新make,仍然报同样的错误,说明需要手动配置gtk的头文件和库路径。这样的报错说明需要gtk。(后来发现是gtk+2.0)修改后Makefile内容如下。

fhyangchina的专栏 446

Ubuntu下bochs的安装配置-自己动手写操作系统环境搭建

目前市面上流行的全虚拟化PC仿真软件系统主要有三种:VMware公司的VMware Workstation软件、Microsoft公司的Virtual PC以及开放源代码的Bochs。这3种软件都可以虚拟或仿真Intel x86硬件环境,可以让我们在运行这些软件的系统平台上运行多种其它的“客户”操作系统。 就使用范围和运行性能来说,这3种仿真软件有一定的区别。Bochs仿真了x86的硬件环境

time4的专栏 6576

bochs2.6.9 配置文件详解.和相关调试到虚拟机运行

简介 配置文件 写一段代码测试 开始编译 写进vhd虚拟磁盘 开始执行调试 最后运行结果 其他一些调试指令 在virtualBox虚拟机上运行 简介: 本文以windows平台为例 在开始之前,我假设你已经安装好了bochs. 用到工具 - bochs2.6.9 官网:http://bochs.sourceforge.net/ 我在写这篇文字的时候,...

筑梦 1万+
下一篇: 从Android Studio上传项目到Github的步骤教程
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值