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

一、安装linux-5.0.1

   1. 在home下创建menuOS目录,并下载 linux-5.0.1内核

构建调试Linux内核网络代码的环境MenuOS系统_第1张图片

  2. 解压内核

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

  构建调试Linux内核网络代码的环境MenuOS系统_第2张图片

  3. 安装内核编译工具

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

  构建调试Linux内核网络代码的环境MenuOS系统_第3张图片

  4. 配置并编译内核

 生成64位x86配置文件,然后配置编译内核,在出现的界面中依次选择 Kernel hacking,Compile-time checks and compiler options,[ ]Compile the kernel with debug info ,按Y,出现[*]Compile the kernel with debug info,然后依次 Save,最后 Exit。然后在执行make命令。完成后可使用虚拟机快照功能保存当前状态。

make x86_64_defconfig
make menuconfig
sudo make

  构建调试Linux内核网络代码的环境MenuOS系统_第4张图片

       构建调试Linux内核网络代码的环境MenuOS系统_第5张图片

   5. 在menuOS目录中下载并安装QEMU虚拟机,并用它来加载内核

sudo apt install qemu #下载QEMU
qemu-system-x86_64 -kernel linux-5.0.1/arch/x86_64/boot/bzImage 
sudo apt install git   #下载git
mkdir roofs        
sudo git clone https://github.com/mengning/menu.git
cd menu
sudo apt-get install libc6-dev-i386 #安装

 构建调试Linux内核网络代码的环境MenuOS系统_第6张图片 

     编辑menu目录下Makefile文件的内容(可用sudo chmod 777 改变读写权限),如下图所示:

     构建调试Linux内核网络代码的环境MenuOS系统_第7张图片

    在 menu 目录下 执行 make rootfs

    构建调试Linux内核网络代码的环境MenuOS系统_第8张图片

 二、在menuos中实现 Hello Hi 的网络程序

    注意:先修改 lab3 文件夹下的makefile文件 如 上上图所示。

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

在menuos中执行replyhi 和 hello 即可实现简单网络通信。

 构建调试Linux内核网络代码的环境MenuOS系统_第9张图片

三、实现gdb调试

你可能感兴趣的:(构建调试Linux内核网络代码的环境MenuOS系统)