Perbedaan antara make-kpkg dan make deb-pkg

8

Saya ingin tahu perbedaan persis antara make-kpkgdan make deb-pkg. Pertanyaan ini menanyakan hal yang hampir sama tetapi tanpa jawaban yang memuaskan. Sebelumnya saya menggunakan

make -j `getconf _NPROCESSORS_ONLN` deb-pkg

untuk mengkompilasi struktur kode sumber kernel dan untuk menghasilkan paket + kernel-image debian. Saya menemukan bahwa ini sangat lambat karena membutuhkan lebih dari 1 jam untuk mengkompilasi CPU 2nd gen Intel i3 saya. Kemudian saya menemukan metode lain yang menggunakan make-kpkg5-6 kali lebih cepat daripada deb-pkgmetode yang saya gunakan sebelumnya. Kode yang saya jalankan

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

dan hanya butuh 10-15 menit untuk mengkompilasi dan menghasilkan paket deb. Dalam kedua proses kompilasi, pekerjaan dibagi untuk _NPROCESSORS_ONLNapa yang membuat perbedaan ini? Terima kasih sebelumnya.

pemula
sumber
2
make-kpkgdikelola oleh penulis skrip tersebut (kemungkinan besar orang-orang Debian), dan make deb-pkgdikelola oleh kernel guys. Orang Debian mungkin tahu lebih banyak.
Arthur2e5
1
Selain itu, backticks pada perintah Anda gagal di stackexchange. Bungkus dua backtick di sekitar perintah itu atau gunakan -j $(getconf blah)sebagai gantinya -j `getconf blah` .
Arthur2e5
@ Arthur2e5, benar. Juga, ketika datang ke mengintegrasikan linux-image-*.debdan linux-headers-*.debdll ke distribusi, make-kpkgalat ini jauh lebih mungkin diperbarui untuk mengambil keuntungan dari pembantu kernel terkait lainnya dalam distro (misalnya dkmsdan update-initramfsdan lain-lain). Makefile deb-pkgTarget kernel mungkin hanya bisa dikerjakan jika rusak.
cas
BTW cara tercepat untuk paket kernel biner saja adalah bindeb-pkgtarget.
pevik

Jawaban:

6

make-kpkgsedang pensiun, cara resmi Debian adalah make deb-pkg. Buku pegangan kernel Debian
resmi menggunakan .make deb-pkg

make-kpkgtermasuk dalam wheezy dan jessie tetapi peregangan (stabil saat ini) hanya berisi untuk powerpc .

Powerpc tidak lagi didukung dalam buster (pengujian), dan tidak mengejutkan satu-satunya hit untuk nama file yang mengandung make-kpkgadalah file info pelengkapan otomatis untuk zsh .

Itu akan dengan jelas menunjukkan yang mana dari keduanya adalah pilihan Debian.

(Namun, jika Anda menguji apa yang berhasil dan yang tidak, mengkompilasi ulang banyak, Anda mungkin ingin menghapus "make clean" dari scripts/packages/Makefilesebagai langkah pertama. Lagipula, bahkan make-kpkg ditujukan untuk membuat paket Debian dari suatu karya sumber kernel dan konfigurasi, bukan pemrograman kernel dan debugging.)

Wolfgang
sumber
1
FYI yang kernel-packagemenjadi milik make-kpkg telah dihapus dari pengujian pada Juni 2017, tetapi ditambahkan lagi menjadi tidak stabil dan pengujian pada bulan yang sama. Info lebih lanjut: tracker.debian.org/pkg/kernel-package . Tapi saya setuju lebih baik digunakan make deb-pkg.
pevik