
Есть ли какая-либо документация о том, как собирать пользовательские пакеты ядра изагрузить результат в PPA? В частности, я хотел бы собрать в основном стабильное ядро upstream (т. е. 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 kernel_manual kernel_debug
Затем я получаю пакеты .deb. «dpkg -i ...» тоже работает, но я хотел бы автоматизировать обработку пакетов с помощью apt-get и PPA.
make-kpkg не генерирует файл .changes, который необходим для dput. Я, конечно, проверил документацию, man-страницу make-kpkg и выполнил grep по исходникам пакета kernel-package -> никакой информации о том, как заставить его генерировать правильный вывод.
Некоторые другие пользователи (например,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
применить патчи:
гит ам 000*
Файлы сборки в Debian:
debian/правила чистые
сборка исходных deb-файлов (без подписи):
dpkg-buildpackage -us -uc -S
измените Changed-By: в файле .changes на учетную запись вашего загрузчика ppa
подписать пакет
deb-sign linux_4.7.10-040710.201610220847_source.changes
загрузить
dput ppa linux_4.7.10-040710.201610220847_source.changes