Centos 7 bochs安装攻略(采坑血泪史)

安装步骤

环境 

CentOS release 7.5.1804

gcc version 4.8.5 

依赖库安装

sudo yum install gtk2 gtk2-devel

sudo yum install libXt libXt-devel

sudo yum install libXpm libXpm-devel

sudo yum install SDL SDL-devel

( sudo yum install libXrandr-devel.x86_64 )

( yum install xorg-x11-server-devel )

源码配置和安装

获取和解压

源码地址:https://sourceforge.net/projects/bochs/files/bochs/2.6.8/

wget https://sourceforge.net/projects/bochs/files/bochs/2.6.8/bochs-2.6.8.tar.gz

tar xvfz bochs-2.6.8.tar.gz

配置

./configure --enable-ne2000 \

          --enable-all-optimizations \

          --enable-cpu-level=6 \

          --enable-x86-64 \

          --enable-vmx=2 \

          --enable-pci \

          --enable-usb \

          --enable-usb-ohci \

          --enable-e1000 \

          --enable-debugger \

          --enable-debugger-gui \

          --enable-disasm \

          --with-sdl \

          --with-x11

错误解决方案

若遇到以下问题

checking how to run the C++ preprocessor...

/lib/cpp

configure: error: in `/home/shupan/source/bochs-2.6.8':

configure: error: C++ preprocessor "/lib/cpp" fails sanity check


缺少相关头文件,执行以下命令解决

sudo yum install glibc-headers gcc-c++


若出现以下错误

sdl.cc:36:17: fatal error: SDL.h: No such file or directory

#include <SDL.h>

                ^

compilation terminated.

则执行:  sudo yum install SDL SDL-devel

出现其他错误类似,yum search xxx, 然后再安装

安装

sudo make  && make install


添加环境变量

export BXSHARE=/usr/local/share/bochs

(可写入到~/.bash_profile中,记得source)

若安装在非系统目录下,则还需添加PATH环境变量,如

export PATH="$PATH:$HOME/opt/bochs/bin"

镜像文件制作

执行:bximage 

依次键入:

1

fd

Enter

boot.img


汇编程序编写

vim boot.asm

org 07c00h ;告诉编译器,程序加载到内存地址07c00h

    mov ax,cs

    mov ds,ax

    mov es,ax

    call DispStr    ;调用显示字符串例程

    jmp $          ;无限循环

DispStr:

    mov ax,BootMessage

    mov bp,ax      ;es:bp = 字符串地址

    mov cx,16      ;cx = 字符串长度

    mov ax,01301h  ; ah = 13h,  al = 01h

    mov bx,000ch    ;页号为0(bh = 0) 黑底红字(bl = 0Ch,高亮)

    mov dl,0

    int 10h        ;10h号中断

    ret

BootMessage:  db "Hello, OS World!"

times 510-($-$$)  db 0      ;填充剩下的空间,使生成的二进制代码恰好为512字节

dw 0xaa55          ;MBR结束标志

安装nasm

sudo yum install nasm

编译镜像文件

nasm boot.asm -o boot.bin

dd if=boot.bin of=boot.img bs=512 count=1 conv=notrunc

bochsrc配置

vim .bochsrc  【注意加载顺序】

# how much memory the emulated machine will have

megs: 32

# filename of ROM images

# BIOS已经修改,地址可以不加,可以根据文件大小进行推断,如里加地址要与文件大小相匹配

romimage: file=$BXSHARE/BIOS-bochs-latest

vgaromimage: file=$BXSHARE/VGABIOS-lgpl-latest

# what disk images will be used

# 配置镜像名

floppya: 1_44=boot.img, status=inserted

# choose the boot disk.

boot: a

# where do we send log messages?

log: run.log

# disable the mouse, since Finix is text only

mouse: enabled=0

# enable key mapping, using US layout as default.

# 键盘的映射方式也改变了

keyboard: keymap=$BXSHARE/keymaps/x11-pc-us.map

加载执行

bochs -f .bochsrc

注意:需要有对应的库和图形界面,若连接远程或者没有对应的图形界面库,则会报如下错误(当时采坑了好久)

>>PANIC<< Cannot connect to X display  

是本机,不是远程。  需要展示图形界面。



选6

再按C (continue)继续执行,展示如下界面,

展示出 “Hello,OS World!"




参考资料

https://www.cnblogs.com/pro-love/p/10947790.html

https://sourceforge.net/projects/bochs/files/bochs/2.6.8/

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,539评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,911评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,337评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,723评论 1 290
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,795评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,762评论 1 294
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,742评论 3 416
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,508评论 0 271
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,954评论 1 308
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,247评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,404评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,104评论 5 340
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,736评论 3 324
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,352评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,557评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,371评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,292评论 2 352

推荐阅读更多精彩内容