Компиляция сборки отладки сетевых кода в Linux Kernel среды системы MenuOS
Операции команды дается ссылка, разделить на следующие этапы:
Установка компиляции ядра зависит
Sudo APT установить встраиваемый существенно гибкий бизон libssl-DEV libelf-DEV libncurses-DEV
- Скачать и компилировать ядро
Загрузить ядро
Wget https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.0.1.tar.xz
XD -d Linux-5.0.1.tar.xz
дегтя -xvf 5.0.1-Linux .tar # распаковать загруженный почтовый файл
CD Linux-5.0.1 # распаковать в папку, готовый к компиляции ядра
Здесь была небольшая проблема, которая является официальной скорость загрузки сайта слишком медленно .... предложения прямо на официальный сайт, скопируйте ссылку по нужному адресу, а затем использовать Гром скачать, про-тест скорость загрузки до 6 м / с
Компиляция ядра
сделать i386_defconfig # соответствие с файлом конфигурации ядра по умолчанию для создания
марку конфигурационного меню
марку или сделать -j #j как количество ядер процессора
После ввода этих двух команд будет ввести визуальный интерфейс для конфигурирования ядра, следующим образом :
(1) Ввод Выбор ядра взлому
(2) Выберите Compile времени проверки и опции компилятора каретка
(3) Выберите компилировать ядро с отладочная информация нажмите пробел, а затем сохранить непосредственно курсор по умолчанию влево , чтобы сохранить последний выход
- Производство корневой файловой виртуальной машины
Установка QEMU
sudo apt install qemu
qemu-system-i386 -kernel linux-5.0.1/arch/x86/boot/bzImage #qemu加载linux内核构建MenuOS
git clone https://github.com/mengning/menu.git
sudo apt-get install libc6-dev-i386 #安装libc6-dev-i386
qemu -kernel linux-5.0.1/arch/x86/boot/bzImage -initrd rootfs.img #创建系统镜像 (linux-5.0.1目录下)
make rootfs #初始化(menu目录下)
- 构建gdb调试环境
在qemu中启动gdb server
qemu -kernel linux-5.0.1/arch/x86/boot/bzImage -initrd rootfs.img -append nokaslr -s -S
建立gdb server和gdb之间的连接
不要关闭当前正处于黑屏状态的gdb server,打开一个新终端,输入gdb
cd linux-5.0.1
file vmlinux #加载符号表
break start_kernel #在内核函数处设置断点
target remote:1234 #建立gdb和gdb server之间的连接
c #回车让qemu上的Linux继续运行
list #查看之前设置的断点
- 将TCP网络程序集成到MenuOS中运行
集成服务端
мерзавец клон https://github.com/mengning/linuxnet.git
кд linuxnet / lab2
марка
CD ..Встроенный клиент
lab3 кд
Gedit Makefile # измените версию Linux является 5.0.1-Linux
в замыкающих корневой файловой системы
- Экспериментальная Ссылка: https://github.com/mengning/net/tree/master/lab3
- Чжан Хэн