系统相关
首页 > 系统相关> > 构建调试Linux内核网络代码的环境MenuOS系统

构建调试Linux内核网络代码的环境MenuOS系统

作者:互联网

一、编译Linux-5.0.1内核

在home目录下,创建一个名为MenuOS的文件夹。直接右击创建就可以,或者使用mkdir命令亦可。如下:

#切换到当前用户的家目录,~就代表当前用户的家目录,相当于/home/当前用户名
cd ~
#创建目录命令,在当前工作目录下创建MenuOS目录
mkdir MenuOS

下载网址为:https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.0.1.tar.xz。主要有两种方式,一是在Windows系统下下载,然后将文件拖到虚拟机中;另一种一种是通过wget命令进行下载。

wget https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.0.1.tar.xz 

接下来是解压,并进入MenuOS目录下的linux-5.0.1目录,具体命令如下:

xz -d linux-5.0.1.tar.xz
tar -xvf linux-5.0.1.tar
cd ./linux-5.0.1

安装编译内核所需依赖

sudo apt install build-essential flex bison libssl-dev libelf-dev libncurses-dev git -y

接下来是配置内核参数

#使用现存内核的配置文件:xxx指命令输入此处可以按Tab键补全
sudo cp /boot/config-xxx -r .config
#应用现存配置文件
sudo make oldconfig
#仅安装已有module
sudo make localmodconfig
#配置其他编译选项
sudo make menuconfig


紧接着就会出现下方的界面,用键盘↑↓键依次选择Kernel hacking,Compile-time checks and compiler options,[*]Compile the kernel with debug info并用Enter敲击,再用键盘←→键选定Save,Enter敲击,然后即可逐步选定Exit,直到退出该界面。

然后就是编译内核,等待完成。可能需要1个小时!!!

sudo make

二、qemu,装载MenuOS

下载安装qemu

cd ..
sudo apt install qemu
qemu-system-x86_64 -kernel linux-5.0.1/arch/x86_64/boot/bzImage
#构建MenuOS的根文件目录rootfs mkdir rootfs
#git clone所给的munuOS文件
git clone https://github.com/mengning/menu.git cd menu
sudo apt-get install libc6-dev-i386

构造MenuOS,编辑一下menu目录下Makefile文件的如下内容

然后在~/MenuOS/menu路径下执行,make rootfs命令,成功在能看到如下界面

三、验证MenuOS的网络

首先集成服务器端

cd ..
git clone https://github.com/mengning/linuxnet.git
cd ./linuxnet/lab2
make
cd ../../menu/
make rootfs

再集成客户端,修改lab3下Makefile文件内的内容

 

然后同理执行make rootfs把它集成到MenuOS中。完成之后我们就可以在MenuOS中进行测试。在QEMU下输入如下命令Replyhi和Hello,结果如下

四、GDB 内核代码跟踪

首先,修改menu目录下的Makefie文件

 

 

此时在~/MenuOS/menu路径下输入 make rootfs。注意此时不需要关闭终端以及QEMU界面。在MenuOS目录下重新开的终端,输入一下命令

gdb
file ./linux-5.0.1/vmlinux
target remote:1234
break start_kernel
c
list

 

 即证实通过gdb可以跟踪到内核代码。

 

 

 

标签:5.0,Linux,menu,make,sudo,MenuOS,内核,linux
来源: https://www.cnblogs.com/ai469/p/12019851.html