
是否有任何關於如何建立自訂內核包的文件以及將結果上傳到 PPA?特別是,我想建立主要穩定的上游核心(即 git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git)以及 MPTCP 補丁。由於 MPTCP 補丁需要非常特定的核心版本,因此我不能簡單地使用 Ubuntu 核心儲存庫。
到目前為止,我發現了這個:
- 當然,手動建立核心是可行的,即: fakeroot make-kpkg clean CONCURRENCY_LEVEL=
getconf _NPROCESSORS_ONLN
fakeroot make-kpkg --initrd --append-to-version=-mptcp \ kernel_image kernel_headers kernel_source kernel_doc kerneldeman kernel_denelde
然後,我得到 .deb 套件。 「dpkg -i ...」也可以,但我想使用 apt-get 和 PPA 來自動化套件處理。
make-kpkg 不會產生 dput 所必需的 .changes 檔案。我當然檢查了文件、 make-kpkg 的線上說明頁,並透過 kernel-package 套件的來源進行了 grep -> 沒有關於如何讓它產生正確輸出的資訊。
其他一些用戶(例如https://forum.ubuntuusers.de/topic/ppa-mit-custom-kernel-erstellen/)也沒有管理核心 PPA 上傳。至少,沒有可用的文件。
透過合理的努力建立 PPA 可上傳核心套件是否有任何變化?
答案1
我有同樣的問題,我終於找到了一個可行的解決方案。
以下內容對我有用。有些步驟當然可以優化。
取得主線建構的原始碼,檢查消息來源文件並獲取所有內容:
git clone git://git.launchpad.net/~ubuntu-kernel-test/ubuntu/+source/linux/+git/mainline-crack cd mainline-crack/ git checkout -b v4.7.10 b3afc4525a507f21e98cc7571ea8c3f28484241c wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.7.10/0001-base-packaging.patch wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.7.10/0002-UBUNTU-SAUCE-add-vmlinux.strip-to-BOOT_TARGETS1-on-p.patch wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.7.10/0003-UBUNTU-SAUCE-tools-hv-lsvmbus-add-manual-page.patch wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.7.10/0004-UBUNTU-SAUCE-no-up-disable-pie-when-gcc-has-it-enabl.patch wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.7.10/0005-debian-changelog.patch wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.7.10/0006-configs-based-on-Ubuntu-4.7.0-0.2.patch
應用補丁:
git 上午 000*
在 debian 中建立文件:
debian/規則乾淨
建構來源 debs(沒有簽名):
dpkg-buildpackage-us-uc-S
將 .changes 檔案中的 Changed-By: 調整為您的 ppa 上傳者帳戶
簽署包裹
deb-sign linux_4.7.10-040710.201610220847_source.changes
上傳
dput ppa linux_4.7.10-040710.201610220847_source.changes