Linux

核心黑客環境

  • November 1, 2019

我一直在像 uCOS、ThreadX 這樣的嵌入式作業系統中工作。雖然我已經在 Linux 中編寫了應用程序,但現在我正計劃開始學習 Linux Kernel。我有幾個關於環境的問題。

  1. 哪個是最好的發行版,哪個具有易於使用的核心開發工具?(到目前為止,我使用過 RHEL 和 Fedora。雖然我對這些很滿意,但看起來 Ubuntu 也有內置的腳本,以便於核心編譯,比如make_kpkg等)
  2. 你能描述一下核心調試的最佳設置嗎?在調試其他嵌入式作業系統時,我使用串口轉儲進度、JTAG 等。Linux 核心開發人員使用哪種設置?(我的帶有串列埠的測試台 PC 是否足以滿足我的需求?如果是,如何配置核心轉儲到串列埠?)我計劃將核心消息重定向到串列控制台,該控制台將在我的筆記型電腦中讀取。
  3. 什麼工具最適合調試和跟踪核心程式碼?如前所述,串列控制台是唯一的方法嗎?或者 PC 是否存在任何 IDE/JTAG 類型的介面?

我個人對 Linux 核心開發的喜好是 Debian。現在為您的觀點:

  1. 正如您可能猜到的那樣,除了 Debian 中已經提供的功能之外,Ubuntu 並沒有為核心帶來任何新的東西來簡化開發 afaik。例如 make_kpkg 是 Debian 的功能,而不是 Ubuntu。以下是一些連結,可幫助您開始在 Debian 中執行常見的 Linux 核心開發任務:
  1. 進行核心調試的最簡單方法是使用 QEMU 和 GDB。一些幫助您入門的連結:
  1. 請參閱第 2 項。不幸的是,這裡沒有最終的最佳方法,因為每種工具/方法都有其優點和缺點。

引用自:https://unix.stackexchange.com/questions/9330