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

Posted zwjsec

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了构建调试Linux内核网络代码的环境MenuOS系统相关的知识,希望对你有一定的参考价值。

1 .linux 5.0.1 内核

1.1首先下载linux内核

mkdir zwjKernel  #创建目录
cd zwjKernel #进入新目录
wget https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.0.1.tar.xz #下载linux-5.0.1的内核
xz -d linux-5.0.1.tar.xz
tar -xvf linux-5.0.1.tar #解压缩
cd linux-5.0.1

1.2安装编译工具

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

1.3编译menuconfig,通过图形化界面配置编译选项。

make menuconfig

执行该命令后,会弹出图形界面,进入“Kernel hacking ”>“Compile-time checks and compiler options”>“Compile the kernel with debug info”勾上y。 然后点击save按钮 ,配置好编译选项之后,就可以开始正式编译内核了。这个配置使得在编译内核时,会弹出调试信息,用处不大。弹出来了我也不会改,make失败我只有重来。

1.4编译内核

make

 

2 .qemu

2.1安装qemu命令

直接sudo apt安装qemu命令无法直接使用,还要执行一条命令过后,才能使用qemu命令。

sudo apt install qemu  # 安装qemu命令
sudo ln -s /usr/bin/qemu-system-i386  /usr/bin/qemu #建立一个软链接 之后才可以使用qem

 

 

 

 直接apt install之后,无法使用qemu命令,需要执行后一句。

2.2克隆git

git clone https://github.com/mengning/menu.git #gitclone
mkdir rootfs #创建根目录

2.3下载安装必要的库

sudo apt-get install libc6-dev-i386

2.4修改makefile文件

将其修改为5.0.1版本,如果不修改,将不能正确找到bzImage文件。

 

 

 2.5开始编译

执行make后,成功运行menuOS。

make rootfs

 

 

 

 

3.验证MenuOS

3.1 进入内核目录里

cd ~/zwjKernel  #这里目录名称是根据你编译内核时取的目录名字

3.2 在内核目录下gitclone“linuxnet.git”,并编译它。

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

3.3 再次回到menu目录,并编译运行menuOS

cd ../../menu/
make rootfs

3.4 再进入到lab3文件夹,同理修改makefile中的为5.0.1,然后make rootfs

 编译成功后,在menuOS下使用help命令,能够查看到replyhi和hello命令。

 运行结果:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

以上是关于构建调试Linux内核网络代码的环境MenuOS系统的主要内容,如果未能解决你的问题,请参考以下文章

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

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

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

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

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

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