wsl2 - Ubuntu 22.04 + VSCode + bochs + xfce4 + VcXsrv
筆者環(huán)境 wsl2 - Ubuntu 22.04
0. 安裝WSL2 & VSCode & 終端
網(wǎng)上教程千千萬,請(qǐng)自行查找
WSL2: WSL2安裝教程_pengege666的博客-CSDN博客
? 切換清華源:ubuntu | 鏡像站使用幫助 | 清華大學(xué)開源軟件鏡像站 | Tsinghua Open Source Mirror
? 備份:sudo cp /etc/apt/sources.list /etc/apt/sources.bak
? 修改:sudo vim /etc/apt/sources.list
? 更新:sudo apt update
VSCode:Visual Studio Code - Code Editing. Redefined
? 安裝插件:WSL
? 然后點(diǎn)擊左下綠色按鈕,按提示連接WSL
終端:Microsoft Store就有
1. 安裝軟件包
以下命令以行為單位粘貼到終端運(yùn)行
sudo apt update
sudo apt upgrade
sudo apt-get install -y neofetch
sudo apt-get install -y gcc
sudo apt-get install -y vim
sudo apt-get install -y build-essential
sudo apt-get install -y g++
sudo apt-get install -y libgtk2.0-dev
sudo apt-get install -y nasm
sudo apt-get install -y gdb
2. 配置 WSL2 圖形界面
采用 xfce4 + VcXsrv
xfce4是一個(gè)輕量級(jí)的類Unix的桌面系統(tǒng),提供桌面環(huán)境
VcXsrv提供圖形界面,使在windows子系統(tǒng)wsl里的操作能夠圖形化顯示
2.1 安裝VcXsrv
下載地址:https://sourceforge.net/projects/vcxsrv/files/latest/download
選擇one large window
一定勾選Disable access control
看到下圖即為成功
*解決高DPI模糊問題
2.2 安裝xfce4
sudo apt install -y xfce4
2.3 配置
打開 .bashrc:cd ~ & vim .bashrc
在 .bashrc 文件最后添加
# 配置xfce4
export DISPLAY=$(awk '/nameserver / {print $2; exit}' /etc/resolv.conf 2>/dev/null):0
添加后執(zhí)行source ~/.bashrc
命令。
2.4 啟動(dòng)
sudo startxfce4
此外,當(dāng)看到防火墻選項(xiàng)時(shí),請(qǐng)同意其通過
小技巧:當(dāng)在終端執(zhí)行sudo startxfce4
后,xfce4會(huì)在前臺(tái)輸出log無法執(zhí)行其他命令。此時(shí)可以再開一個(gè)終端窗口執(zhí)行其他命令(比如開bochs什么的)
問題解決:
當(dāng)連接到圖形化桌面時(shí),如果一陣未使用桌面,會(huì)導(dǎo)致桌面沒有反應(yīng)直接卡死
原因:因?yàn)閤fc4鎖屏了....
解決:把鎖屏刪掉 sudo apt purge xfce4-screensaver
3. 安裝bochs
bochs 2.6.2:https://sourceforge.net/projects/bochs/files/bochs/2.6.2/bochs-2.6.2.tar.gz
3.1 下載
在Linux下使用wget命令下載
wget https://sourceforge.net/projects/bochs/files/bochs/2.6.2/bochs-2.6.2.tar.gz
3.2 解壓
* 非必須
*移動(dòng)源碼到合適的目錄(筆者這里放在 ~/OS/實(shí)驗(yàn)3 下)
mv bochs-2.6.2.tar.gz OS/實(shí)驗(yàn)3
*打開源碼所在目錄
cd OS/實(shí)驗(yàn)3
解壓
tar -zxvf bochs-2.6.2.tar.gz
3.3 配置
1.進(jìn)入解壓出來的目錄
cd bochs-2.6.2/
2.生成 Makefile
請(qǐng)?jiān)诮K端粘貼下列命令(請(qǐng)整塊粘貼)
?。。。?!注意注意--prefix=/your_path/bochs \
處的your_path
要改成你自己想安裝的路徑
./configure \
--prefix=/your_path/bochs \
--enable-debugger \
--enable-disasm \
--enable-iodebug \
--enable-x86-debugger \
--with-x \
--with-x11 \
LDFLAGS='-pthread' \
LIBS='-lX11'
下對(duì)配置命令進(jìn)行解析 來源:《操作系統(tǒng)真相還原》
--prefix=/your_path/bochs \ # 指定安裝目錄,安裝目錄替換your_path
--enable-debugger \ # 打開bochs自身調(diào)試器
--enable-disasm \ # 使bochs支持反匯編
--enable-iodebug \ # 啟動(dòng)io接口調(diào)試器
--enable-x86-debugger \ # 使bochs支持x86調(diào)試器
--with-x \ # 使用x windows
--with-x11 \ # 使用x11圖像用戶接口
下給出筆者所用命令
./configure \
--prefix=/home/fwm-0100/bochs \
--enable-debugger \
--enable-disasm \
--enable-iodebug \
--enable-x86-debugger \
--with-x \
--with-x11 \
LDFLAGS='-pthread' \
LIBS='-lX11'
*3. 修改Makefile
vim Makefile
在92行添加
IBS =-lm -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lgdk_pixbuf-2.0 -lpangocairo-1.0 -lcairo -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -lpthread
為啥要搞這步捏? 來源:《操作系統(tǒng)真相還原》
3.4 編譯安裝
編譯:make
安裝:sudo make install
bochs安裝目錄如下:
3.5 配置bochs
打開bochs程序目錄,筆者這里是/home/fwm-0100/bochs/bin
創(chuàng)建bochsrc.disk
sudo vim bochsrc.disk
輸入以下內(nèi)容(注意路徑/home/fwm-0100要改成自己的bochs安裝目錄)
###############################################
######## Configuration file for Bochs #########
###############################################
# 第一步
# 設(shè)置Bochs在運(yùn)行過程中能夠使用的內(nèi)存,本例為32MB
megs: 32
# 第二步
# 設(shè)置對(duì)應(yīng)真實(shí)機(jī)器的BIOS和VGA BIOS
# 對(duì)應(yīng)兩個(gè)關(guān)鍵字:romimage 和 vgaromimage
# 注意這里的/home/fwm-0100 要替換為自己的安裝目錄
romimage: file=/home/fwm-0100/bochs/share/bochs/BIOS-bochs-latest
vgaromimage: file=/home/fwm-0100/bochs/share/bochs/VGABIOS-lgpl-latest
# 第三步
# 設(shè)置Bochs所使用的磁盤
# 軟盤的關(guān)鍵字為floppy。
# 若只有一個(gè)軟盤,則使用floppya即可,若有多個(gè),則為floppya,floppyb…
# floppya: 1_44=a.img, status=inserted
# 第四步
# 選擇啟動(dòng)盤符
# 默認(rèn)從軟盤啟動(dòng),將其注釋,我們使用從硬盤啟動(dòng)
# boot: floppy
boot: disk
# 第五步
# 設(shè)置日志文件的輸出
log: bochs.out
# 第六步
# 開啟或關(guān)閉某些功能
# 關(guān)閉鼠標(biāo)
mouse: enabled=0
# 打開鍵盤
keyboard_mapping: enabled=1,map=/home/fwm-0100/bochs/share/bochs/keymaps/x11-pc-us.map
# 硬盤設(shè)置
ata0: enabled=1,ioaddr1=0x1f0,ioaddr2=0x3f0,irq=14
# gdb支持(需要在配置的時(shí)候就開啟,不然會(huì)報(bào)錯(cuò))
# 這樣gdb便可以遠(yuǎn)程連接到此機(jī)器的1234端口調(diào)試
# gdbstub: enabled=1, port=1234, text_base=0, data_base=0, bss_base=0
################### 配置結(jié)束 ###################
3.6 運(yùn)行bochs
以下操作更加建議直接在圖形化界面下的終端執(zhí)行命令
進(jìn)入bochs安裝目錄下的bin目錄,運(yùn)行./bochs
此時(shí)在VcXsrv出現(xiàn)一個(gè)bochs的黑色窗口
所有需要輸入的地方請(qǐng)見下圖中框出部分
在終端輸入c
在VcXsrv下的bochs的黑色窗口出現(xiàn)bochs的UI
看到下面的窗口,證明已經(jīng)成功啦!?。?!
常見問題
原因:disk有tab(空格)
解決:刪除配置文件空格即可
原因:看圖,不應(yīng)該換行
解決:不換行嘍
原因:配置編譯的時(shí)候沒寫gdb
解決:配置文件就不要加gdb嘍,注釋掉
原因:配置文件沒有放在bochs安裝目錄的bin目錄下
解決:移動(dòng)到bin目錄下,如:/home/fwm-0100/bochs/bin
參考文檔
《操作系統(tǒng)真相還原》
通過 VcXsrv 在 WSL2 上使用圖形化界面(xfce4) - bluenlq - 博客園 (cnblogs.com)
WSL2(Ubuntu 22.04.2 LTS) + Win11 + Bochs-Gui_wsl安裝bochs_物與我皆無盡也的博客-CSDN博客
Linux下bochs打開黑屏解決方法
WSL2 Ubuntu + Xfce4 一段時(shí)間 Xfce4 卡死不動(dòng)文章來源:http://www.zghlxwxcb.cn/news/detail-420283.html
特別鳴謝:ZGY文章來源地址http://www.zghlxwxcb.cn/news/detail-420283.html
到了這里,關(guān)于操作系統(tǒng)實(shí)驗(yàn) & bochs 環(huán)境配置的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!