コンパイル、ビルド、デバッグのLinuxカーネルのネットワークコードシステム環境MenuOS

コンパイル、ビルド、デバッグのLinuxカーネルのネットワークコードシステム環境MenuOS

次のステップに分割参照所与の動作コマンド:

  1. カーネルのコンパイルインストールが異なり

    ビルド不可欠フレックスバイソンののlibssl-devのlibelfを-devのをlibncursesライブラリ-devのをaptのインストールSUDO

    遅いダウンロード速度を経験し、失敗につながる可能性があり、インストール・プロセスは、ソフトウェアは、別のソースまたはネットワークから交換することができます。
  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
      5.0.1-Linuxの-xvfタール.tar#解凍ダウンロードしたzipファイルの
      カーネルをコンパイルする準備ができてフォルダにCDのlinux-5.0.1#の解凍、

    ここでは、公式サイトのダウンロード速度が遅すぎるで少し問題が、....の公式ウェブサイトへの直接提案を持っていた右のアドレスへのリンクをコピーし、サンダーのダウンロードを使用して、プロのテストダウンロードが6M / sのスピードアップ
    カーネルをダウンロード

    • カーネルをコンパイルします

      生成するデフォルトのカーネル設定ファイルで#の合わせをi386_defconfig作る
      makeがmenuconfigの
      メイクをするか、CPUコアの数として-j #jのを作ります
      カーネルをコンパイルします

カーネルを設定するためのビジュアルインターフェイスを入力しますこれらの2つのコマンドを入力した後、次の通り:
(1)入力を選択カーネルハッキング
(2)選択コンパイル時チェックとコンパイラオプションキャリッジ
(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 #查看之前设置的断点
      スタートGDBサーバー
      サーバーの接続GDBとGDB

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

      gitのクローンhttps://github.com/mengning/linuxnet.git
      CD linuxnet / LAB2
      メイク
      CD ..

    • 統合されたクライアント

      LAB3 CD
      geditのMakefileを#変更のLinuxバージョンは5.0.1-Linuxのある
      メイクにrootfs

    結果は以下の通りであります:
    実験結果

おすすめ

転載: www.cnblogs.com/sa19225475/p/12018741.html