
我有一個需要安裝在多個虛擬機器上的自訂核心。
一種方法是將原始程式碼傳輸到每個虛擬機,然後編譯和安裝。
我想知道是否有一種更快的方法可以在主機上編譯並簡單地傳輸一些檔案或透過主機檔案安裝核心。
主機和來賓作業系統都是 ubuntu 14.04,我使用 KVM 作為虛擬機器管理程式。
我用過這個關聯用於編譯和安裝核心。
答案1
我建議使用您的發行版的打包系統。建立您的自訂核心包,然後您可以以最簡單的方式將其分發到您的虛擬機器。許多發行版都提供瞭如何使用其首選套件管理器執行此操作的說明(請參閱下面的 Ubuntu 套件管理器)。
如果您發現自己經常重建核心(和/或其他軟體),您可以建立本機包儲存庫(例如在主機上)新增到來賓的儲存庫清單中。然後,客人將能夠在任何新包裹可用時立即提取它們。
如果您只有幾個套件要分發,將它們放在主機上的臨時本機套件快取中也同樣有效。使用 Samba 與客人共享此位置,或rsync
在需要時手動打包。
在Ubuntu上,建立自訂內核包歸結為:
取得原始碼
apt-get source linux-image-$(uname -r)
或者git clone git://kernel.ubuntu.com/ubuntu/ubuntu-<releasename>.git
準備您的建置環境
sudo apt-get build-dep linux-image-$(uname -r)
修改你的核心配置
chmod a+x debian/rules debian/scripts/* debian/scripts/misc/*
fakeroot debian/rules clean
fakeroot debian/rules editconfigs
(逐一瀏覽)- 將本機版本識別碼(例如
+myVer1
)新增至第一個版本號的末尾,以便debian.master/changelog
將apt
其識別為比官方儲存庫版本更新的核心。
建構核心
fakeroot debian/rules clean
fakeroot debian/rules binary-headers binary-generic binary-perarch
(快速建置)或fakeroot debian/rules binary
(如果需要 linux-tools 或低延遲,則速度較慢)
如果建置成功,您的自訂.deb
套件將位於建置根目錄之上的目錄中。