Debian 9, make-kpkg und Kern 4.19

Welches Modul/Treiber für welche Hardware, Kernel compilieren...
Antworten
guennid

Debian 9, make-kpkg und Kern 4.19

Beitrag von guennid » 28.09.2019 14:04:20

Es gelingt mir nicht, einen 4.19 er Kern für i386 aus den Quellen von kernel.org mit make-kpkg unter stretch auf einer i386-Maschine zu kompilieren. Ich habe drei verschiedene Quellen probiert 4.19.41, 72, 75. Der Compiler hängt sich konsequent auf bei der Meldung:

Code: Alles auswählen

exec debian/rules  DEBIAN_REVISION=3.[Rechnername]  linux-image
. Mit

Code: Alles auswählen

make bindeb-pkg
läuft die Konfiguration anstandslos durch. 4.14er Kerne werden auch mit make-kpkg kompiliert, ebenso 4.19er Kerne für amd64 auf amd64-Maschinen. Abgesehen davon , dass mit bindeb-pkg ich im output jetzt einige Dateien bekomme, die ich persönlich nicht benötige, muss ich auch Debianfakeroot installieren, obwohl ich's gar nicht benutze - auf die Idee, einen Kern nicht als Root zu konfigurieren und zu kompilieren, bin ich in meinem Debian-Leben noch nicht gekommen - wieso funktioniert make-kpkg auf i386er Maschinen nicht mehr mit Kernel-Sourcen für 4.19 auf i386-Maschinen?

Grüße, Günther

Benutzeravatar
Livingston
Beiträge: 1813
Registriert: 04.02.2007 22:52:25
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: 127.0.0.1

Re: Debian 9, make-kpkg und Kern 4.19

Beitrag von Livingston » 28.09.2019 23:10:56

make-kpkg gehört zu Debiankernel-package und flog nach jessie aus dem Programm. Irgendwann sind die alten Werkzeuge halt abgenutzt. Ein wenig Hoffnung darfst Du haben, dass es wieder rein kommt, denn der Link sagt, dass das Päckchen wieder in sid steckt.

Und Debianfakeroot brauchst Du, damit Du nicht dauernd als root den Kernel kompilieren musst.
Wie bei jedem anderen Paket auch, sollte man nur make install und Artverwandtes als root durchführen müssen.

guennid

Re: Debian 9, make-kpkg und Kern 4.19

Beitrag von guennid » 29.09.2019 09:27:00

Livingston hat geschrieben:make-kpkg gehört zu Debiankernel-package und flog nach jessie aus dem Programm.
Hmmm... In den stretch-backports ist es drin. Vielleicht lag das Scheitern meiner Versuche daran, dass ich das Programm noch aus jessie-mit geschleppt und nicht den backport benutzt habe. Müsste ich nachsehen.
Livingston hat geschrieben:Irgendwann sind die alten Werkzeuge halt abgenutzt.
Sowas liest man ja öfter. Deutlich seltener liest man im Konkreten eine Begründung für das Allgemeine.
Das Handbuch (1) hält sich da wesentlich bedeckter:
Bevor die Umgebung zur Erstellung eines Linux-Systems die Fähigkeit erhielt, saubere Debian-Pakete zu bauen, war der empfohlene Weg, make-kpkg aus dem Paket kernel-package zur Erzeugung solcher Pakete zu verwenden.
Warum wohl? (s.u., Grabenkämpfe?)
Livingston hat geschrieben:Und Debianfakeroot brauchst Du, damit Du nicht dauernd als root den Kernel kompilieren musst.
Ich brauch's nicht, und make-kpkg braucht(e) es auch nicht. bindeb-pkg braucht es.
Und „dauernd“ kompiliere ich auch keine Kerne, aber wenn ich's tue, muss ich's, wie du selbst sagst, zumindest an manchen, ich meine an den entscheidenden, Stellen aus gutem Grund als Root machen. Und Ich sehe eigentlich keinen zwingenden Grund, wieso ich's dann nicht von Anfang bis Ende so machen soll. (*buntu lässt grüßen?) Aber es ist freie Software. Da darf jeder entwickeln, was er für richtig hält. Meine Freiheit als Benutzer besteht darin, ob so mancher Entscheidungen den Kopf zu schütteln und/oder mich nach Alternativen umzutun.

Klar sollte sein, dass deb-pkg/bindeb-pkg deutlich mehr bietet als make-kpkg und Ich stelle mir vor, dass es Szenarien gibt, in denen das, was ich als Overhead empfinde, dringend wünschenswert/notwendig sein mag - nur, ich brauche ihn nicht.

Wenn beide Programme von den gleichen Leuten gemacht werden (eigentlich nicht nur dann), wäre es unter arbeitsökonomischen Gesichtspunkten wahrscheinlich sinnvoll, make-kpkg zugunsten von deb-pkg/bindeb-pkg einzustampfen. Das wesentliche Ergebnis (das Kernel-image) ist schließlich das gleiche. Ich hätte kein Problem damit. Mein Herz hägt nicht an make-kpkg. Ansonsten gilt: es ist freie Software. Aber das Hickhack um make-kpkg und deb-pkg/bindeb-pkg und die Ausgestaltung des letzeren riecht mir verdächtig nach Grabenkämpfen, Egozentrik und ideologischer Gängelung (siehe auch apt/apt-get/aptitude. Im Kern die gleiche Problematik: vermeidbare(?) Doppelarbeit).

(1) https://debian-handbook.info/browse/de- ... ation.html

Benutzeravatar
habakug
Moderator
Beiträge: 4314
Registriert: 23.10.2004 13:08:41
Lizenz eigener Beiträge: MIT Lizenz

Re: Debian 9, make-kpkg und Kern 4.19

Beitrag von habakug » 29.09.2019 11:41:21

Hallo,

hier [1] ist der Grund:
Linus Torvalds hat geschrieben:make-kpkg directly includes the top Makefile of Linux kernel, and
appends some debian_* targets.
[...]

I did not know the kernel Makefile was used in that way, and it is
hard to guarantee the behavior when the kernel Makefile is included
by another Makefile from a different project.

It looks like Debian Stretch stopped providing make-kpkg. Maybe it is
obsolete and being replaced with 'make deb-pkg' etc. but still widely
used.
In der offiziellen Dokumentation ist das

Code: Alles auswählen

$ make -j`nproc` bindeb-pkg
bereits obsolet [2]. Es wird jetzt

Code: Alles auswählen

$ make deb-pkg
verwendet [3].

Gruss, habakug

[1] https://git.kernel.org/pub/scm/linux/ke ... 50f7ab6368
[2] https://wiki.debian.org/BuildADebianKernelPackage
[3] https://kernel-team.pages.debian.net/ke ... n-official
"4.5. Building a custom kernel from Debian kernel source"
( # = root | $ = user | !! = mod ) (Vor der PN) (Debianforum-Wiki) (NoPaste)

KP97
Beiträge: 3701
Registriert: 01.02.2013 15:07:36

Re: Debian 9, make-kpkg und Kern 4.19

Beitrag von KP97 » 29.09.2019 12:35:24

@Günther
Verwende lieber bindeb-pkg anstatt deb-pkg. Letzteres erstellt auch ein sehr umfangreiches debug-Paket, welches man nun wirklich nicht braucht.
Ich kompiliere in meinem Home den Kernel auch als root und ignoriere die Warnungen zu fakeroot. Ebenso lösche ich die nicht gebrauchten Pakete, wobei ich die Headers zwar nicht installiere, aber ich sichere das Paket auf meiner Backup Platte, falls man es doch mal braucht.
Das ist der Vorteil von bindeb-pkg, man hat direkt alle Pakete und braucht nichts extra vorzugeben.
Wenn ich mich recht entsinne, braucht es neben fakeroot auch das Paket bison ab 4.19. Aber das stört ja nicht, dafür entfällt das Paket kernel-package.
make-kpkg ist tot, man sollte das akzeptieren und überholte Abläufe nicht unnötig am Leben erhalten.

guennid

Re: Debian 9, make-kpkg und Kern 4.19

Beitrag von guennid » 29.09.2019 14:12:22

Zu habakug:
Eine Begründung (wofür eigentlich? Im wesentlichen habe ich ja zwei Fragen: 1. Warum "soll" make-kpkg vermieden werden 2.Warum soll ich einen Kernel-Bau nicht von vorn bis hinten als root durchführen?) finde ich nicht in den angegebenen Links, zur 2. Frage gar nicht und zur 1. kann ich auch nur wieder interpretieren:

So wie ich das lese, schreibt im ersten Link jemand (Torvalds?), dass er (bisher?) nicht gewusst habe, dass jemand das makefile in der Form nutze, wie make-kpkg es täte und dass er es für schwierig halte, das Verhalten des makefiles garantieren zu können, wenn das kernel makefile von anderen Projekten in einem anderen makefile verwendet verwendet werde (?). anschließend meint er, dass Debian vielleicht die Unterstützung für make-kpkg gestoppt hätte, obwohl es noch häufig genutzt würde. Im zweiten und dritten link werden alternative von Debianern entwickelte Methoden des Kernelbaus dargestellt. Man kann nur spekulieren, dass Debian sich deswegen andere Kernelbaumethoden überlegt hat, weil Torvalds(?) meint, dass er etwas nicht mehr garantieren könne. - Mag so sein. Wissen tut man's nicht.

Zu KP97
KP97 hat geschrieben:Wenn ich mich recht entsinne, braucht es neben fakeroot auch das Paket bison ab 4.19.
Kam schon früher, wenn ich recht erinnere. Außerdem meine ich zu erinnern, dass ich neuerdings zusätzlich hätte Debianflex installieren müssen.
KP97 hat geschrieben:make-kpkg ist tot, man sollte das akzeptieren und überholte Abläufe nicht unnötig am Leben erhalten.
Totgesagte leben länger! :wink:

Spaß beiseite: Es ist mir ziemlich wurscht, wie schon gesagt, sofern ich einen adäquaten Ersatz habe. Und wenn ich so am Bildschirm sehe, was da mit deb-pkg so abgeht, kann ich verstehen, warum offenbar make-kpkg is "still widely used". (Trauen die Macher nicht meiner Konfiguration in der .config oder warum fragt das Teil einige Entscheidungen, die ich in menuconfig bereits getroffen habe, nochmals ab? - Macht bindeb.pkg übrigens genauso.) In diesem Sinne werde ich zwar schauen, was man mit dem kernel-package aus den stretch-backports oder aus sid anfangen kann, aber ansonsten werde ich deinen Rat befolgen und mich mit bindeb-pkg beschäftigen - solange man uns dieses Spielzeug lässt. :wink:

Grüße, Günther

Antworten