概述
调试Linux Kernel就必须要有一台运行Linux的机器,有两种选择,一种是在本地机器上直接运行Linux操作系统,还有一种是在虚拟机中运行Linux操作系统,这里建议使用虚拟机的方式,因为对于调试来说,虚拟机具有以下优点(这里只列举了一部分):
-
可以充分利用现有的机器,不用再额外准备一台机器了。
-
虚拟机与主机相互隔离,即使在虚拟机中发生系统崩溃或者数据损坏等严重问题,也不会影响主机,主机上的数据也能得到很好的保护。
-
在进行Linux内核调试等操作时,可能会导致系统崩溃,使用虚拟机可以避免对实际硬件造成损害。而且,即使虚拟机崩溃,只需重新启动虚拟机即可,无需重启物理主机,节省了时间和精力。
虚拟机软件
虚拟机软件也有两种,分别是VirtualBox和VMware,这要是以前,我可能只会推荐使用VirtualBox,因为VMware以前是收费的,而现在不同了,VMware也免费使用了,所以,Linux Kernel Debug环境搭建分为两篇,分别为VirtualBox篇和VMware篇,这一篇详细介绍VirtualBox搭建Linux Kernel Debug环境,即安装Linux虚拟机^_^
这里我们选择安装Ubuntu 24.04.2 LTS作为我们的调试环境,虽然网上有很多关于VirtualBox安装Ubuntu的教程了,但是这里为了专栏的完整性,也为了阅读的方便性(省的读者再去搜索了),还是会介绍VirtualBox安装Ubuntu 24.04.2 LTS的详细步骤的。
安装VirtualBox
下载VirtualBox 7.1.8
win:https://download.virtualbox.org/virtualbox/7.1.8/VirtualBox-7.1.8-168469-Win.exe
mac-Intel: https://download.virtualbox.org/virtualbox/7.1.8/VirtualBox-7.1.8-168469-OSX.dmg
mac-Apple Silicon: https://download.virtualbox.org/virtualbox/7.1.8/VirtualBox-7.1.8-168469-macOSArm64.dmg
Linux版本到这里下载Linux_Downloads – Oracle VirtualBox,选择对应版本即可。
安装VirtualBox 7.1.8
由于我是在windows11上安装的,下面以windows为例,双击安装包即可安装,安装完成后如下:
安装VirtualBox Extension Pack
VirtualBox Extension Pack是VirtualBox虚拟机的一个扩展包,它为 VirtualBox 提供了一些额外的功能和增强特性。这里先下载VirtualBox 7.1.8 Extension Pack
然后打开VirtualBox软件,点击扩展菜单:
然后点击安装:
选择下载的VirtualBox 7.1.8 Extension Pack:
然后点击安装:
在许可界面,滚动到最下面,然后点击我同意:
即可安装完成:
安装Ubuntu 24.04.2 LTS
接下来,是安装Ubuntu 24.04.2 LTS
下载Ubuntu 24.04.2 LTS
国内镜像源下载速度快,所以我从中科大镜像站下载Ubuntu 24.04.2 LTS:
创建并设置Ubuntu虚拟机
打开VirtualBox虚拟机,点击控制-新建:
虚拟光盘选择刚才下载的ubuntu24.04的映像文件,勾选跳过自动安装,一会我们要手动修改一些设置,其他的名称和文件夹等,根据你自己的情况设置即可,然后点击下一步:
设置内存大小,cpu数量,根据你自己机器的情况设置,建议设置为主机的一半,勾选启用EFI,点击下一步:
设置虚拟硬盘,直接分配100GB,然后点击下一步:
之后点击完成:
这时候不要启动,点击设置:
在Basic-常规-高级中,将粘贴板和拖放都设为双向,方便后续和主机传输文件:
然后在Basic-显示-屏幕中将显存大小直接拖到最大,能让虚拟机更流畅:
然后在Basic-共享文件夹中点击右侧的添加按钮:
选择共享的文件夹,选择自动挂载,然后点击确定,这也是方便后续和主机传输文件的:
设置完之后,点击确定:
现在可以点击启动按钮了:
安装Ubuntu 24.04.2 LTS
启动虚拟机之后,选择Try or Install Ubuntu,回车即可:
等待一会,即可进入安装界面:
选择你使用的语言,我这里选择English,然后一路点击Next,直到Update available界面,点击skip:
然后选择Install Ubuntu,点击next:
创建账号:
最后,点击Install按钮即可开始安装,耐心等待这一步完成:
正在安装:
安装完成,点击Restart now:
根据提示,将虚拟光盘断开连接,然后回车,即可重启进入ubuntu24.04系统:
选择安装时创建的账户,输入对应的密码,即可登入系统,在欢迎界面,一路next或者skip:
全部完成的界面如下:
安装增强功能
首先打开终端(ctrl + alt + t),执行如下命令:
sudo apt update
然后点击virtualbox的设备-安装增强功能:
此时,虚拟机OS中挂载了一个虚拟光盘,点击打开该虚拟光盘:
然后点击Run software(或者使用命令行运行其中的安装脚本):
输入密码:
根据提示安装对应的包:
然后再运行,安装成功,回车即可,最好重启一下虚拟机OS:
安装完之后,虚拟机系统可以全屏了,也可以使用粘贴板了,之前配置的双向拖放也可以使用了。由于我用的是4K显示器,全屏后显示的图标很小,所以需要到系统Settings-Displays中把缩放设置为200%:
总结
至此,Linux Kernel Debug的第一步,环境搭建-VirtualBox篇就结束了,怎么样,是不是很简单,有些事情就是这样,尽管听起来很麻烦,但是真正操作起来,却很简单,我们在安装虚拟机的实际操作中,完全是一步一步完成的,比如安装增强功能时,我们提前并不知道会缺少一些包,只有当我们执行安装步骤时,根据分析的报错原因,才会发现,原来是缺少了一些依赖包,log还会提示你如何解决该问题,我在实际工作中发现,确实会有一些同事,一遇到问题,连log都不看,就去问别人,这种态度绝对不可取,我们在后面的实践中,会一直贯彻这种方法,只有自己实际操作了,并且认真分析了,才会大有收获!
需要注意的是,安装ubuntu,这仅仅是一个开始~