WSL2(Ubuntu 22.04.2 LTS) + Win11 + Bochs-Gui

WSL2(Ubuntu 22.04.2 LTS) + Win11 + Bochs-Gui_第1张图片

安装VcXsrv(Win环境下)

之前在哪个博客看的用MobaXterm,一直有报错,没有gui,换成VcXsrv就ok了。

网站:Download VcXsrv Windows X Server (sourceforge.net)

下载后进入目录,执行xlaunch.exe,前两项直接过,最后记得选上Disable access control

WSL2(Ubuntu 22.04.2 LTS) + Win11 + Bochs-Gui_第2张图片

WSL环境下,vim ~/.bashrc,在末尾新增:

export DISPLAY=$(awk '/nameserver / {print $2; exit}' /etc/resolv.conf 2>/dev/null):0
export LIBGL_ALWAYS_INDIRECT=1

新增后执行source ~/.bashrc命令。

WSL2前置

  1. 换源

  2. 安装依赖(记不清具体哪些了,本人也装了几次,以下有可能不全,可以网上找个多的)

    sudo apt-get install libx11-dev xserver-xorg-dev xorg-dev libsdl1.2-dev bximage vgabios build-essential nasm 
    

安装Bochs

前几次装都是apt-get install bochs bochs-x,结果不行。

解决:依次执行以下

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

tar zxvf bochs-2.7.tar.gz

cd bochs-2.7/

./configure --enable-debugger --enable-disasm --enable-iodebug --enable-x86-debugger --with-x --with-x11

make

make install

至此就安装好了。

测试

进入自己的目录下,执行code .,可以打开vscode并自动连接到了WSL(没有vscode也没关系)。

执行bochs,输入4,再输入配置文件名称bochsrc,再输入7退出,能看到当前目录下生成的bochsrc文件。

bochsrc文件中display_library: x改为display_library: x, options="gui_debug"

bochsrc文件中boot: floppy改为boot: disk

新建文件boot.asm

mov ax, 3
int 0x10 

mov ax, 0xb800
mov ds, ax

mov byte [0], 'h'
mov byte [2], 'e'
mov byte [4], 'l'
mov byte [6], 'l'
mov byte [8], 'o'

halt:
    jmp halt
times 510 - ($ -$$) db 0
db 0x55, 0xaa

执行:

nasm boot.asm –o boot.bin

再执行bximage

WSL2(Ubuntu 22.04.2 LTS) + Win11 + Bochs-Gui_第3张图片

生成一个名为test.img的16M的虚拟硬盘,注意末尾的ata0-master: type=disk, path="test.img", mode=flat,替换掉bochsrc文件中的原值。

执行:

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

最后执行bochs -q,出现界面,大功告成。(下图是按了Continue [c]那个按键)

WSL2(Ubuntu 22.04.2 LTS) + Win11 + Bochs-Gui_第4张图片

你可能感兴趣的:(环境,ubuntu,linux)