首页 > 系统服务 > 详细

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

时间:2019-12-10 13:34:35      阅读:113      评论:0      收藏:0      [点我收藏+]

安装编译linux内核

推荐内核下载网址:http://ftp.sjtu.edu.cn/sites/ftp.kernel.org/pub/linux/kernel/ (官网太慢)
mkdir linuxKernel  #创建项目目录
cd linuxkernel
cp /mnt/hgfs/share/
linux-5.0.1.tar.xz ~/linuxKernel/ #从共享文件夹中复制内核文件
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 i386_defconfig #生成32位的配置文件   
make menuconfig   #勾选Compile the kernel with debug info
make

通过QEMU加载内核

cd .. #退回到上一层目录 linuxKernel
sudo apt install qemu  # 安装qemu
qemu-system-i386 -kernel  linux-5.0.1/arch/x86/boot/bzImage #qemu加载linux内核

 

构造menuOS

git clone https://github.com/mengning/menu.git(网太差,没成功)
#从宿主机上下载了拷贝到虚拟机中
cp /mnt/hgfs/share/menu-master.zip ~/linuxKernel
unzip menu-master
cd menu-master
sudo apt-get install libc6-dev-i386 #在64位环境下编译32位需安装该库
vim Makefile #修改Makefile 如下图所示
make rootfs #执行结果如下

技术分享图片

技术分享图片

 

构建MenuOS的网络功能

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

cd ~/linuxKernel  
cd linuxnet/lab3
make rootfs  

结果如下图所示:

 技术分享图片

 

gdb调试

#在qemu中启动gdb server  此时新打开的qemu虚拟机黑屏
qemu-system-i386 -kernel linux-5.0.1/arch/x86/boot/bzImage -hda rootfs.img -append "root=/dev/sda init=/init nokaslr" -s -S #打开另一个终端 gdb file ~/linuxKernel/linux-5.0.1/vmlinux break start_kernel target remote:1234 c list

 

 技术分享图片

 

 

 

 

 

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

原文:https://www.cnblogs.com/mingjian6666/p/12012671.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!