日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Ubuntu >内容正文

Ubuntu

Ubuntu环境下安装Bochs

發布時間:2025/3/15 Ubuntu 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Ubuntu环境下安装Bochs 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

首先說一下我的Ubuntu版本,敲命令
sudo lsb_release -a
就可以看到
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 14.04.3 LTS
Release: 14.04
Codename: trusty
所以,我的Ubuntu版本是14.04
也可以用
cat /etc/issue
查看版本號。

怎樣查看系統是32位還是64位呢?
用命令 uname -m
然后顯示:x86_64,這就說明是64位。

安裝:

1.去http://bochs.sourceforge.net/下載最新版本。
下文以bochs-2.4.5.tar.gz為例說明。

2.解壓下載的源代碼:
sudo tar zxvf bochs-2.4.5.tar.gz

3.進入bochs-2.4.5目錄,運行configure腳本:
sudo ./configure -enable-debugger -enable-disasm

(-enable-debugger和 -enable-disasm 表示開啟調試和反匯編功能)

4.第3步正確運行后,會產生一個Makefile文件,于是可以編譯:
sudo make

5.安裝:
sudo make install
至此,bochs安裝已經結束。

但是你也許不會成功。不要著急,下面是編譯安裝過程中可能出現的一些問題及解決方法:

【錯誤1】
error: C++ preprocessor “/lib/cpp” fails sanity check

因為Bochs是用C++寫的,所以這里要安裝GNU g++編譯器。

解決方法:
sudo apt-get install build-essential
sudo apt-get install g++

【錯誤2】
checking for default gui on this platform… x11
ERROR: X windows gui was selected, but X windows libraries were not found.

解決方法:
sudo apt-get install xorg-dev

【錯誤3】
ERROR: pkg-config was not found, or unable to access the gtk+-2.0 package.

解決方法:
sudo apt-get install libgtk2.0-dev

【錯誤4】

make的時候提示 /usr/bin/ld: gui/libgui.a(gtk_enh_dbg_osdep.o): undefined
reference to symbol pthread_create@@GLIBC_2.1 //
lib/i386-linux-gnu/libpthread.so.0: error adding symbols: DSO missing
from command line collect2: error: ld r

解決方法:
在makefile的“LIBS = ”這一行的最后面添加如下內容 :
-lz -lrt -lm -lpthread
于是變成了:
LIBS = -lm -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft 2-1.0 -lpangocairo-1.0 -lgdk_pixbuf-2.0 -lcairo -lpango-1.0 -lfontcon fig -lgobject-2.0 -lglib-2.0 -lfreetype -lz -lrt -lm -lpthread

【2017-3-12,我在ubuntu 16.04上安裝bochs2.6.8,在make的時候出現了以下錯誤。羅列如下】

【錯誤5】
X11/Xlib.h: 沒有那個文件或目錄
解決方法:
sudo apt-get install libx11-dev

【錯誤6】
X11/extensions/Xrandr.h:沒有那個文件或目錄
sudo apt-get install libxrandr-dev

【錯誤7】
undefined reference to symbol ‘XSetForeground’
解決方法:
./configure –enable-debugger LDFLAGS=’-pthread’
如果沒有報錯,再次
sudo make


如果已經安裝成功,那么我們肯定迫不及待地想用起來。
怎么用呢?這里舉一個例子。

1.下載linux0.11的鏡像文件
下載地址是:
http://www.oldlinux.org/Linux.old/images/bootroot-0.11

2.寫一個簡單的Bochs配置文件

#注意'#'后面為注內容megs:128 #模擬器的內存 romimage:file=/usr/local/share/bochs/BIOS-bochs-latest #這個是BIOS-bochs-latest的路徑,自己慢慢找,不一定和我的一樣vgaromimage:file=/usr/local/share/bochs/VGABIOS-lgpl-latest #這個是VGABIOS-lgpl-latest的路徑,自己慢慢找floppya:1_44=bootroot-0.11,status=inserted #這個是啟動軟盤,就是我們下載的那個,就在當前目錄下,如果不在當前目錄,需要指明路徑 boot:floppy #表示從軟盤啟動log:bochsout.txt #日志輸出文件#選項還有很多,想了解更多可以參照原始的.bochsrc(在bochs-2.4.5/目錄下)

=================小貼士==============
romimage:file=/usr/local/share/bochs/BIOS-bochs-latest
vgaromimage:file=/usr/local/share/bochs/VGABIOS-lgpl-latest

以上這兩行的路徑如何找?

一個方法是:點擊左側的文件圖標,再點擊計算機,再點擊搜索。

在搜索欄輸入“bochs”,如下圖

找到BIOS-bochs-latest, 右鍵查看屬性,即可找到位置。一般情況下,VGABIOS-lgpl-latest 也在這個路徑下.

另外,floppya:1_44=bootroot-0.11,一定要注意bootroot-0.11的路徑。
請確認bootroot-0.11在你運行bochs的當前路徑下。
舉例來說,如果你是在/home/Tom/Downloads/路徑下啟動的bochs,那么bootroot-0.11一定要在/home/Tom/Downloads/路徑下。

否則會出現如下提示:

還有一點要說明,在配置文件中不要出現~(表示家目錄),假如用戶名是Tom, 那么請用/home/Tom代替~。否則也會出現上面的提示。

——2017-3-12 補充

=========================================

假設我們保存為bochs_cfg.txt

3.啟動Bochs
我們敲命令:
bochs -f bochs_cfg.txt
(-f 選項表示指定配置文件)
然后我們就看到:

輸入6,回車
然后看到:

咦?怎么是一片漆黑呢?
注意到了嗎?屏幕底端顯示:
[0xfffffff0] f000:fff0 (unk. ctxt): jmp far f000:e05b
處理器在加電啟動時,CS=0xF000; IP=0xFFF0,也就是說地址線的低20位是0xFFFF0,且其他地址線被強制為高電平,所以方括號中的地址就是0xfffffff0,此處是一條跳轉指令jmp far f000:e05b ,這個地址指向了ROM-BIOS.
此時,Bochs停了下來,在等我們的調試命令。
我們輸入c(表示continue),回車
注意看Bochs的窗口,可以看到Linux-0.11啟動了!最后的畫面是:

哈哈,是不是很驚喜?!
今天的學習就到這里,下回見:)

總結

以上是生活随笔為你收集整理的Ubuntu环境下安装Bochs的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。