构建调试Linux内核网络代码的环境MenuOS系统
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了构建调试Linux内核网络代码的环境MenuOS系统,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1749字,纯文字阅读大概需要3分钟。
内容图文
![构建调试Linux内核网络代码的环境MenuOS系统](/upload/InfoBanner/zyjiaocheng/945/2de0da2938ac4ff4a109b92c6a668855.jpg)
一、Linux内核
1、下载解压内核源码
mkdir LinuxKernel #创建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
2、 配置编译信息
#进入解压出来的目录 cd /linux-5.0.1/ #使用现存内核的配置文件:(xxx处使用TAB补全) sudo cp /boot/config-xxx -r .config #应用现存配置文件 sudo make oldconfig #仅安装已有module sudo make localmodconfig #配置其他编译选项 sudo make menuconfig
3、下载依赖包
sudo apt-get install build-essential sudo apt-get install libelf-dev sudo apt-get install libncurses-dev sudo apt-get install flex sudo apt-get install bison sudo apt-get install libssl-dev
4、编译
sudo make
5、升级内核
#安装modules sudo make modules_install #安装 sudo make install #重启虚拟机 sudo shutdown -r now #查看内核版本 uname -a
二、qemu虚拟机
1、下载安装qemu
cd ~/LinuxKernel/ sudo apt install qemu # 安装qemu命令
2、构造menuOs
#下载menu系统,并在LinuxKernel目录下建一个子目录rootfs,当作menuOS的根目录 git clone https://github.com/mengning/menu.git mkdir rootfs cd menu sudo apt-get install libc6-dev-i386 #安装libc6-dev-i386 sudo ln -s /usr/bin/qemu-system-i386 /usr/bin/qemu #建立一个软链接 之后可以直接执行qemo
三、集成tcp服务端测试网络功能
在MenuOS中集成我们的TCP服务端程序:
1 git clone https://github.com/mengning/linuxnet.git 2 cd linuxnet/lab2 3 make 4 cd ~/LinuxKernel/menu/
四、gdb调试
1、启动gdb server
qemu -kernel ../linux-5.0.1/arch/x86/boot/bzImage -initrd ../rootfs.img -append nokaslr -s -S
2、建立gdb与gdb server连接
file ~/LinuxKernel/linux-5.0.1/vmlinux # # 在gdb界面中targe remote之前加载符号表 break start_kernel # 断点设置 target remote:1234 # 建立gdb和gdbserver之间的连接 c #按c list
内容总结
以上是互联网集市为您收集整理的构建调试Linux内核网络代码的环境MenuOS系统全部内容,希望文章能够帮你解决构建调试Linux内核网络代码的环境MenuOS系统所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。