Linux

如何為 VyOS 核心編寫更新檔

  • December 16, 2015

我是 VyOS 開發的新手。我已經編寫了一個更新檔,它將從 VyOS 核心模組獲取資訊並將其寫入 netlink 套接字。但問題是我不確定是否應該直接編輯核心模組程式碼來呼叫我定義的函式,或者我應該編寫更新檔。如果我必須為它製作一個更新檔文件,那麼我應該將它放在核心原始碼中的什麼位置?我已經使用 diff 命令製作了一個更新檔文件。

經過長時間的搜尋,我解決了我面臨的問題。這是結論,以防你們中的任何人陷入同樣的問題。

  1. 是的,您可以在 VyOS 開發中編輯核心模組程式碼。但這種方法並不受歡迎。
  2. 是的,您也可以為核心模組編寫更新檔。它應該是 GIT 格式,如How to write VyOS Patch中所述。.patch很快我會更新,在 VyOS 核心程式碼中放置文件的位置。

要使用 來檢查調試輸出dmesg,請使用KERN_DEBUG選項。因為我不確定其他人。

printk(KERN_DEBUG "%s: Debuging info \n", __FUNCTION__);

此外,要檢查 VyOS 核心中的修改,您不需要一直製作完整的 ISO 文件。您只需要執行以下命令。

*請注意,每次從主 iso 建構目錄中描述每個路徑以避免路徑問題。

cd build-iso/
sudo make clean-linux-image
sudo make linux-image

然後

cd buil-iso/pkgs/

在這裡,您將找到這些 debian 軟體包。

buil-iso/pkgs/linux-image-3.13.11-1-amd64-vyos_999.dev_amd64.deb
buil-iso/pkgs/linux-libc-dev_999.dev_amd64.deb
buil-iso/pkgs/linux-vyatta-kbuild_999.dev_amd64.deb

將這些文件複製到已安裝的 VyOS 系統並在那里安裝它們。

dpkg -i linux-image-3.13.11-1-amd64-vyos_999.dev_amd64.deb
dpkg -i linux-libc-dev_999.dev_amd64.deb
dpkg -i linux-vyatta-kbuild_999.dev_amd64.deb

reboot系統並使用 . 檢查您的修改dmesg

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