首页 > 系统服务 > 详细

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

时间:2019-12-09 00:26:44      阅读:159      评论:0      收藏:0      [点我收藏+]

 

mkdir linuxkernel  #创建一个项目目录

cd linuxkernel

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

sudo apt install build-essential flex bison libssl-dev libelf-dev libncurses-dev #安装内核编译所需的库

make i386_defconfig  #生成32位x86的配置文件

make menuconfig

make

QEMU虚拟机加载内核

cd ~/LinuxKernel/

sudo apt install qemu  # 安装qemu命令

qemu-system-i386 -kernel  linux-5.0.1/arch/x86/boot/bzImage #qemu

构造MenuOS

#下载menu系统,并在LinuxKernel目录下建一个子目录rootfs,当作menuOS的根目录

 

git clone https://github.com/mengning/menu.git

 

mkdir rootfs

技术分享图片

 

 

安装libc6-dev-i386和修改Makefile

安装libc6-dev-i386

sudo apt-get install libc6-dev-i386

修改makefile,

cd menu

 

vim Makefile

 

qemu -kernel ../linux-3.18.6/arch/x86/boot/bzImage -initrd ../rootfs.img  #修改前

 

qemu-system-i386 -kernel  ../linux-5.0.1/arch/x86/boot/bzImage  -initrd ../rootfs.img #修改后

64为的就修改为 qemu-system-x86_64 -kernel ../linux-5.0.1/arch/x86_64/boot/bzImage -initrd ../rootfs.img

初始化根目录

linux启动后期会在根?录中寻找?个应?程序来运?,在根?录下提供init是?种可选?案

#在menu目录下执行一下命令

make rootf

 

gdb 调试

启动gdb server

1 关闭 之前打开的menuOS系统界面

2 执行 qemu -kernel ../linux-5.0.1/arch/x86/boot/bzImage -initrd ../rootfs.img -append  nokaslr -s -S

gdb客户端连接gdb server

#打开另一个终端

gdb

file ~/LinuxKernel/linux-5.0.1/vmlinux

break start_kernel

target remote:1234

c

list

技术分享图片

 

 

构建MenuOS的网络功能

将 TCP 服务端集成到 MenuOS 系统中

cd ~/LinuxKernel 

git clone https://github.com/mengning/linuxnet.git

cd linuxnet/lab2

make

cd ../../menu/

make rootfs #改一下Makefile

将 TCP 客户端集成到 MenuOS 系统中

cd ~/linuxkernel 

git clone https://github.com/mengning/linuxnet.git

cd linuxnet/lab3

make rootfs  #报错之后,修改Makefile

结果如图:menuOS下面已经多了replyhi,和 hello命令。

技术分享图片

 

 

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

原文:https://www.cnblogs.com/buzhidao1/p/12008475.html

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