构建调试Linux内核网络代码的环境MenuOS系统
一,安装并编译最新版Linux内核
mkdir /Linux cd ~/Linux/ wget https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.0.1.tar.xz xz -d linux-5.0.1.tar.xz tar -xvf linux-5.0.1.tar cd linux-5.0.1
用以下命令安装gcc:
sudo apt-get install gcc-arm-linux-gnueabi
接下来我们设置编译文件:
sudo make menuconfig
之后依次选择Kernel hacking,Compile-time checks and compiler options,[*]Compile the kernel with debug info

然后一路enter exit保存配置。
之后我们就可以开始编译内核了,进入/Linux-5.0.0目录下,
sudo make
如果想要升级内核的话需要以下命令:
sudo make modules_install sudo make install
升级之后需要重启虚拟机,可以通过uname -a命令查看内核版本:

二, 安装qemu,并通过qemu启动MenuOS

安装MenuOS,我们用到如下命令:
mkdir rootfs git clone https://github.com/mengning/menu.git cd menu sudo apt-get install libc6-dev-i386
make rootfs
其中rootfs为MenuOS的新目录。若初始化成功,我们可以看到以下窗口:

输入help,下面会显示可选用的参数等等。
三,调试MenuOS,测试TCP链接,hello/hi程序并用gdb验证:
用以下命令来集成TCP网络通信程序:
cd /Linux/ git clone https://github.com/mengning/linuxnet.git cd linuxnet/lab2 make cd ../../menu/ make rootfs
#server cd ~/Linux/ cd linuxnet/lab3 make rootfs
#client
完成之后,尝试输入replyhi hello命令:

结果如图所示

浙公网安备 33010602011771号