构建调试Linux内核网络代码的环境MenuOS系统
一、编译内核
源码下载
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
安装编译工具
sudo apt install build-essential flex bison libssl-dev libelf-dev libncurses-dev
编译内核
make x86_64_defconfig
make menuconfig
make
二、下载qemu加载虚拟内核
sudo apt install qemu qemu-system-x86_64 -kernel linux-5.0.1/arch/x86_64/boot/bzImage
三、构造menuos
git clone https://github.com/mengning/menu.git cd menu sudo apt-get install libc6-dev-i386 # 在64位环境下编译32位需安装 make rootfs cd .. qemu-system-x86_64 -kernel linux-5.0.1/arch/x86_64/boot/bzImage -initrd rootfs.img
四、调试内核
在start_kernel处设置断点调试
实验完成