《一个操作系统的实现》 ubuntu系统环境配置

电脑之前已经安装了gcc.

一.nasm安装:
sudo apt-get install nasm

官网下载http://sourceforge.net/projects/nasm
我下载到的是nasm-2.11.08-1.src.rpm(里面有nasm-2.11.08.tar.xz文件)
rpm的安装方式:

 $sudo apt-get install alien ##alien默认没有安装,所以首先要安装它
$sudo alien xxxx.rpm ##将rpm转换为deb,完成后会生成一个xxxx.deb
$sudo dpkg -i xxxx.deb ##这样xxxx软件就可以安装完成了
然后就得到nasm-2.11.08.tar.xz文件
解压 :
tar -axf XXX.tar.xz 选项 -a 可以让 tar 根据 .xz 选择解压缩工具; 然后执行命令:./configure make sudo make install

rpm

nasm安装tar.gz:

 解压:tar zxvf nasm-2.10.07.tar.gz

 进入刚解压的目录

 然后执行命令:./configure

 make

 sudo make install

tar.gz

二.bochs安装:
方法一:
$sudo apt-get install vgabios bochs bochs-x bximage
方法二:
$tar -vxzf bochs-2.3.5.tar.gz
$cd bochs-2.3.5
$./configure --enable-debugger --enable-disasm
$make
$sudo make install

我用方法二安装总是出问题,最后选用方法一。

三.创建软盘映像:
命令行输入bximage,步骤与书本一样。

四.修改配置文件bochsrc:
在/etc/bochs-init/目录下

display_library: sdl  - >安装sdl : sudo apt-get install bochs-sdl

(如果没有上面这句,默认display_library是x, 安装 sudo apt-get install bochs-x)

bochsrc文件中的配置:

 megs: 32
display_library: sdl
vgaromimage: file=/usr/share/vgabios/vgabios.bin
romimage: file=/usr/share/bochs/BIOS-bochs-latest
floppya: 1_44=a.img, status=inserted
boot: floppy
log: ./bochs.out
mouse: enabled=0

BOCHSRC

五.使用:
nasm boot.asm -o boot.bin
dd if=boot.bin of=a.img bs=512 count=1 conv=notrunc
bochs -f bochsrc

(把boot.asm->boot.bin、a.img、 bochsrc放在同一目录下)

ps:如果出现屏幕全黑,在终端输入c后按回车试试。

要安装

《一个操作系统的实现》中FreeDos下载地址:  http://bochs.sourceforge.net/diskimages.html

详细说明:

http://bochs.sourceforge.net/cgi-bin/topper.pl?name=New+Bochs+Documentation&url=http://bochs.sourceforge.net/doc/docbook/user/index.html

《一个操作系统的实现》 ubuntu系统环境配置的更多相关文章

  1. 4、Ubuntu系统环境变量详解

    参考:Linux公社Ubuntu系统环境变量详解 UNIX/Linux系统中的环境变量和库文件的使用方法 由于Linux系统严格的权限管理,造成Ubuntu系统有多个环境变量配置文件,因此我们需要了解 ...

  2. Ubuntu系统---配置OpenCV

    Ubuntu系统---配置OpenCV 目录 一.Ubuntu下配OpenCV 二.Ubuntu下配python-opencv   说明 上述一.二两种方式,配置OpenCV还是有区别的.按个人已有知 ...

  3. Ubuntu下配置python完成爬虫任务(笔记一)

    Ubuntu下配置python完成爬虫任务(笔记一) 目标: 作为一个.NET汪,是时候去学习一下Linux下的操作了.为此选择了python来边学习Linux,边学python,熟能生巧嘛. 前期目 ...

  4. 转[开发环境配置]在Ubuntu下配置舒服的Python开发环境

    在Ubuntu下配置舒服的Python开发环境 Ubuntu 提供了一个良好的 Python 开发环境,但如果想使我们的开发效率最大化,还需要进行很多定制化的安装和配置.下面的是我们团队开发人员推荐的 ...

  5. Ubuntu下配置L2TP

    发现PPTP已经不可用了,不知是不是又被墙了.只能尝试L2TP了. Ubuntu可视化配置界面network-manager默认是没有L2TP配置选项的,需要安装第三方插件软件: sudo apt-a ...

  6. Ubuntu下配置C/C++开发环境

    在 Ubuntu 下配置 C/C++ 开发环境 转自:白巴的临时空间 Submitted by 白巴 on 2009-04-27 19:52:12. 学习笔记 虽然 Ubuntu 的版本已经是9.04 ...

  7. ubuntu网络配置相关知识(转载)

    From:http://os.51cto.com/art/201003/188055.htm 文章主要介绍Ubuntu网络配置,希望能让Linux新手学习参考.更好使用Ubuntu.更有效的学习Ubu ...

  8. Ubuntu系统安装配置Pintos和Bochs

    Ubuntu系统安装配置 Pintos 和 Bochs 安装过程 首先是UEFI启动模式下Win8.1安装Ubuntu14.04双系统,由于篇幅过长,就不在这里详写.可见博主的另一篇博客http:// ...

  9. 阿里云服务器 ECS Ubuntu系统安装配置

    1. 登陆服务器 系统开通成功后手机会收到阿里云发来的短信,包含公网IP及root登录密码. WEB管理后台方式 可通过阿里云管理后台选择“连接管理终端…”进行登录 提示输入VNC密码 登录成功后显示 ...

随机推荐

  1. SQL Server中的锁

    死锁的类型 不同表之间的相互等待,第一个事务操作A->B, 第二个事务操作B->A - 每个事务都锁定对方下一步将要操作的表 同一张表之间的相互等待, 无索引导致的全表扫描,下文中说到的情 ...

  2. vue-router2.0 组件之间传参及获取动态参数

    <li v-for=" el in hotLins" > <router-link :to="{path:'details',query: {id:el ...

  3. 在sql server中建存储过程,如果需要参数是一个可变集合怎么处理?

    在sql server中建存储过程,如果需要参数是一个可变集合的处理 原存储过程,@objectIds 为可变参数,比如 110,98,99 ALTER PROC [dbo].[Proc_totalS ...

  4. redis数据结构详解之Hash(四)

    序言 Hash数据结构累似c#中的dictionary,大家对数组应该比较了解,数组是通过索引快速定位到指定元素的,无论是访问数组的第一个元素还是最后一个元素,所耗费的时间都是一样的,但是数组中的索引 ...

  5. html5中canvas的使用 获取鼠标点击页面上某点的RGB

    1.html5中的canvas在IE9中可以跑起来.在IE8则跑不起来,这时候就需要一些东西了. 我推荐这种方法,这样显得代码不乱. <!--[if lt IE9]> <script ...

  6. 前端学HTTP之客户端识别和cookie

    前面的话 Web服务器可能会同时与数千个不同的客户端进行对话.这些服务器通常要记录下它们在与谁交谈,而不会认为所有的请求都来自匿名的客户端.本文主要介绍客户端识别及cookie机制 HTTP首部 HT ...

  7. 门面模式的典型应用 Socket 和 Http(post,get)、TCP/IP 协议的关系总结

    门面模式的一个典型应用:Socket 套接字(Socket)是通信的基石,是支持TCP/IP协议的网络通信的基本操作单元.它是网络通信过程中端点的抽象表示,包含进行网络通信必须的五种信息: 连接使用的 ...

  8. 由css reset想到的深入理解margin及em的含义

    由css reset想到的深入理解margin及em的含义 原文地址:http://www.ymblog.net/content_189.html 经常看到这样语句,*{ margin:0px;pad ...

  9. Bloom Filter:海量数据的HashSet

    Bloom Filter一般用于数据的去重计算,近似于HashSet的功能:但是不同于Bitmap(用于精确计算),其为一种估算的数据结构,存在误判(false positive)的情况. 1. 基本 ...

  10. python 数据类型 ---字符串

    1. 字符串去除空白 ,strip() , 包括空格,tab键, 换行符 >>> name = " Frank " >>> name.strip ...