Разница между make-kpkg и make deb-pkg

8

Я хотел бы знать точную разницу между make-kpkgи make deb-pkg. Этот вопрос задает почти то же самое, но без удовлетворительных ответов. Ранее я использовал

make -j `getconf _NPROCESSORS_ONLN` deb-pkg

скомпилировать исходное дерево ядра и сгенерировать пакеты debian header + kernel-image. Я обнаружил, что это очень медленно, поскольку компиляция на моем процессоре Intel i3 второго поколения занимает более 1 часа. Затем я нашел другой метод, make-kpkgкоторый в 5-6 раз быстрее, чем deb-pkgметод, который я использовал раньше. Код, который я запускаю

fakeroot make-kpkg --initrd --append-to-version=-custom kernel_image kernel_headers  -j `getconf _NPROCESSORS_ONLN`

и это займет всего 10-15 минут для компиляции и генерации пакетов deb. В обоих процессах компиляции задания делятся на _NPROCESSORS_ONLNто, что делает эту разницу? Заранее спасибо.

новичок
источник
2
make-kpkgподдерживается автором сценария (скорее всего, людьми из Debian) и make deb-pkgподдерживается ребятами из ядра. Люди Debian могут знать больше.
Arthur2e5
1
Кроме того, эти обратные пометки в вашей команде не выполняются в stackexchange. Либо оберните два галочки вокруг этих команд, либо используйте -j $(getconf blah)вместо -j `getconf blah` .
Arthur2e5
@ Arthur2e5, правильно. Кроме того , когда речь идет об интеграции linux-image-*.debи linux-headers-*.debт.д. в дистрибутив, то make-kpkgинструмент гораздо более вероятно, будут обновлены , чтобы воспользоваться другими помощниками , связанные ядра в дистрибутиве (например , dkmsи update-initramfsи другие). Цель ядра, Makefile deb-pkgвероятно, будет работать только тогда, когда она сломается.
Cas
Кстати, самый быстрый способ для двоичного пакета ядра - это bindeb-pkgцель.
Певик

Ответы:

6

make-kpkgна пенсии, официальный путь Debian есть make deb-pkg.
Официальный справочник ядра Debian использует make deb-pkg.

make-kpkgвключен в wheezy и jessie, но stretch (текущий стабильный) содержит его только для powerpc .

Powerpc больше не поддерживается в buster (тестирование), и неудивительно, что единственным попаданием для имен файлов, содержащихся, make-kpkgявляется информационный файл автозаполнения для zsh .

Это ясно указывает на то, какой из них является предпочтительным вариантом Debian.

(Однако, если вы тестируете, что работает, а что нет, много перекомпилируя, вы можете удалить «make clean» scripts/packages/Makefileв качестве первого шага. В конце концов, даже make-kpkg нацелен на создание пакета Debian из рабочего исходный код и конфигурация ядра, а не программирование и отладка ядра.)

Wolfgang
источник
1
К вашему сведению, kernel-packageпринадлежащие make-kpkg компании были сняты с испытаний в июне 2017 года, но снова добавлены в нестабильные и тестируемые в том же месяце. Более подробная информация: tracker.debian.org/pkg/kernel-package . Но я согласен, что лучше использовать make deb-pkg.
Певик