一, 通过本地 Linux 系统完成构建调试 Linux 内核网络代码的环境 MenuOS 系统
1, 下载 Linux 内核源代码
- 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
2, 安装内核编译工具并配置编译内核
- sudo apt install build-essential flex bison libssl-dev libelf-dev libncurses-dev
- make defconfig
- make x86_64_defconfig
- make menuconfig
- make -j4
3, 通过 QEMU 虚拟机加载内核
- sudo apt install qemu
- qemu-system-x86_64 -kernel Linux-5.0.1/arch/x86/boot/bzImage
- qemu-system-x86_64 -kernel Linux-5.0.1/arch/x86_64/boot/bzImage
4, 构造 MenuOS
- Git clone https://github.com/mengning/menu.git
- cd menu
- sudo apt-get install libc6-dev-i386
- make rootfs
- cd ..
- qemu-system-x86_64 -kernel Linux-5.0.1/arch/x86_64/boot/bzImage -initrd rootfs.img
二, 在 MenuOS 上完成 TCP 客户端和服务器发送和接收 hello/hi
1, 下载源码
2, 分别在 Lab2 和 Lab3 目录下 make rootfs(需要将 makefile 文件中 liinux 版本改为 5.0.1)
来源: http://www.bubuko.com/infodetail-3325986.html