OS实践-1: Windows 11 配置 WSL

很早就收到 Windows 11 的推送,但一直在观望,最近终于更新了。可惜的是我笔记本是 Win10 家庭版,升级 Win 11 之后仍是家庭版,导致我开启 Hyper-V 还要另外折腾一番 ;-( 

一、安装 WSL

在 Microsoft Store 搜索 Ubuntu,选 18.0/20.0 都可以,我这里选最新的了

 

 

下载完后打开,会见到以下页面。主要关注这几行,输入用户名(是普通用户不是 root)和密码就行
 

 

之后上面这个窗口便可以关闭,我们可以去 Visual Code 配置 WSL了

二、在 Visual Code 配置 WSL

打开 Visual Code,按下 Ctrl J,选择 Terminal,选择刚才安装的 Ubuntu

 

 

我先改改 root 用户的密码,因为默认密码是什么我也不知道

 

 

此时可以先为 Ubuntu 更换包管理器的源为国内,效果是加快诸如  apt-get install  的下载速度,参考链接

 

(以下步骤是可选项:安装 zsh ——一个能更改命令符主题的软件,当然还有其他功能,而且这里我直接使用 oh-my-zsh 的配置)

先安装 zsh,再配置 oh-my-zsh。查看 zsh 版本发现不存在,故先安装zsh

 

 

接下来配置 oh-my-zsh 需要用到 git,还好 Ubuntu 20.x 自带 git

另外, git clone 速度慢的甚至连接失败的可以参考 linux 公社这篇解决方案

 

 

这里手工安装oh-my-zsh,照着官方链接一步步敲命令即可(我这里跳过了第二步备份),过程就不演示了,按着来就行

值得一提的是第四步我使用   chsh -s $(which zsh)  回车后没效果(需要重启终端 Terminals)

 

 

点亮 zsh 效果如下

 

 

接下来配置oh-my-zsh主题和插件,参考官方链接选主题

一旦选好主题就修改配置,我这里自己魔改一个主题

 

 

 

我在官方 ”bira“ 主题基础上稍微修改下

 

 

然后用  source ~/.zshrc 命令更新zsh

 

 

魔改主题,”bira”的配置在  ~/.oh-my-zsh/themes/ 

 

 

找到”PROMPT=”开头的行,我想用颜文字做一个这样的 prompt,配置地址。(最后配置完要  source ~/.zhsrc 

 

 

最后效果如下

 

 

zsh 还有其他可玩的地方,比如插件,我这里也配置几个常用插件(wd、zsh-syntax-highlighting、zsh-autosuggestions)

第一步是安装,只有wd是内置的,所以需要安装后两个 git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ~/.oh-my-zsh/plugins/zsh-syntax-highlighting  以及  git clone https://github.com/zsh-users/zsh-autosuggestions ~/.oh-my-zsh/plugins/zsh-autosuggestions 

 

 

修改配置,输入  vi ~/.zshrc ,找到  plugins=(git)  打头的这行

 

 

别忘了  source ~/.zshrc ,效果如下

 

 

(以上为安装和配置 zsh,非必需)

三、部署开发环境

查看版本发现缺少 gcc 和 g++

 

 

敲以下三条命令直接安装所有GNU开发组件(需要root权限)

apt-get install build-essential gdb       //GNU开发组件和gdb

apt-get install gcc-multilib              //64位机器的32位支持(后面是进行32位OS学习所以装32位支持)

之后安装 bochs

 

 

由于Bochs的启动需要X-Display(一种GUI)支持,安装Xming用以在Windows直接运行Bochs(相关知识点网上搜 ” WSL 启动 Xserver ”),因此现在安装Xming(随便一个 X-Server 软件即可,这里用 Xming )

 

 

之后全部默认即可,安装完成后启动 Xming(需要注意的是有两个 Xming,其实用哪个都行,只不过要先设置显存页面,所以先启动带 Launch 的)

 

 

第一次启动是这样的, 直接默认下一步即可,值得一提是显存分页貌似是 0-7 都可以,只是你要记住你选了哪一页,以后启动 X-GUI 时需要显式写上这一页(不显式启动 X-Server 也可以,但要修改配置,后文会谈及)

 

 

 

 

然后看看任务栏有无图标,有就成功了

 

 

注意,要使用 X11,需要先在 WSL 中设置 SSH(以下 WSL GUI 设置参考文章

# 删除默认 ssh
sudo apt-get remove --purge openssh-server

# 更新一下
sudo apt-get update
sudo apt-get upgrade -y

# 安装 SSH
sudo apt-get install -y openssh-server

然后修改 ssh 的配置文件,文件是 /etc/ssh/sshd_config 

 

 

找到  X11Forwarding  打头的行,作出以下修改

 

 

最后,开启 OpenSSH 服务, service ssh start 

 

 

然后在  ~/.zshrc 文件里添加下面两句:

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

 

 

执行  source ~/.zshrc  使之立即生效

 

现在便可以开始配置Bochs配置文件了

[注1] 如果想知道Bochs安装在哪里,可以用  dpkg -L bochs  来查询,一般来说包管理安装软件是放在  /usr/bin/  ,其文档是放在  /usr/share/doc/ 

 

 

[注2]WSL下  /mnt/d  相当于Windows的D盘,其他盘同理,这里我在D盘某个位置新建了个文件夹用来做实验,然后开始写Bochs配置文件

 

 

现在开始配置Bochs,先写配置文件,如下

 

 

现在开始创建刚才配置写上的软盘(启动Bochs需要image),所以接下来先创建软盘。这里借助 Bochs 的 bximage 创建软盘, /usr/bximage  创建软盘如下

 

 

创建软盘参数参考(需要注意的是最后一句话  The follow line should …  ,这句话其实上面已经加入了,在上两张图写 bochsrc 配置那里,所以这里忽略就好)

 

 

目前为止本地文件夹所有文件如下

 

 

这些事情完成后可以启动 Bochs 了,但要注意我们是用 Xming 启动的 Bochs,本来应该是 DISPLAY=:0 /usr/bin/bochs  启动,但上面我们在  ~/.zshrc  添上了启动配置,所以现在也可以直接 /usr/bin/bochs  启动

 

 

这里有个坑,WSL2 安装的 bochs 缺少了些东西,导致报错缺少 ROM,参考 ROM: couldn't open ROM image file '/usr/share/bochs/BIOS-bochs-latest' ,输入  sudo apt-get install -y bochsbios  安装这个 ROM 解决

 

 

 

 

之后再继续执行  /usr/bin/bochs 

 

按下回车后,桌面左上角会弹出 Bochs,这里我们只需要验证有这个窗口弹出来就行了,就说明启动成功了。(由于目前软盘是空软盘,所以就算输入”c”运行Bochs 也是提示 [PANIC],但这里我们只验证能不能开启 GUI 就行了)

 

 

所以实验成功

posted @ 2021-12-29 15:21  幼麟  阅读(917)  评论(0编辑  收藏  举报