Компиляция сборки отладки сетевых кода в Linux Kernel среды системы MenuOS

Компиляция сборки отладки сетевых кода в Linux Kernel среды системы MenuOS

Операции команды дается ссылка, разделить на следующие этапы:

  1. Установка компиляции ядра зависит

    Sudo APT установить встраиваемый существенно гибкий бизон libssl-DEV libelf-DEV libncurses-DEV

    Процесс установки может испытывать медленные скорости загрузки и привести к срыву, программное обеспечение может быть заменен из другого источника или сети. , ,
  2. Скачать и компилировать ядро
    • Загрузить ядро

      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) Выберите компилировать ядро с отладочная информация нажмите пробел, а затем сохранить непосредственно курсор по умолчанию влево , чтобы сохранить последний выход

  1. Производство корневой файловой виртуальной машины
    • Установка 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目录下)
      Начало MenuOS

  2. 构建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 #查看之前设置的断点
      Start GdB сервер
      GDB соединения с сервером и GDB

  3. 将TCP网络程序集成到MenuOS中运行
    • 集成服务端

      мерзавец клон https://github.com/mengning/linuxnet.git
      кд linuxnet / lab2
      марка
      CD ..

    • Встроенный клиент

      lab3 кд
      Gedit Makefile # измените версию Linux является 5.0.1-Linux
      в замыкающих корневой файловой системы

    Результаты таковы:
    Экспериментальные результаты

рекомендация

отwww.cnblogs.com/sa19225475/p/12018741.html