Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
debian-utils - was haben die mit gentoo zu tun?
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) Diskussionsforum
View previous topic :: View next topic  
Author Message
ManfredB
Veteran
Veteran


Joined: 27 Dec 2007
Posts: 1742

PostPosted: Tue Feb 13, 2024 8:40 am    Post subject: debian-utils - was haben die mit gentoo zu tun? Reply with quote

Hallo zusammen!

Ich habe heute entdeckt, daß debian-utils bei mir installiert sind mit dem USE-Flage: installkernel.

Ich werde jetzt immer unsicherer, Was hat gentoo mit debian zu tun? Da sind dich 2 völlig unterschiedliche Systeme.

Dann gehören installkernel und systemd mit USE-Flag kernel-install offensichtlich nur deshalb im System dazu.

Meine Erfahrung bei gentoo-sources ist gut, aber bei gentoo-kernel-bin überhaupt nicht, denn wenn die Programme so
eingestellt sind, wird das /boot vollkommen anders eingerichtet als bisher.

Die Frage ist, warum wird so etwas überhaupt gemacht. Bisher war doch alles ok, aber nun kommt immer wiede WIrrWarr.

Es ist mir klar, daß ich nichts dagegen schreiben und tun kann, denn die Entwickler wollen offensichtlich ein anderes
/boot-System erstellen, was m. E. völlig unnötig ist.

Liebe Grüße
ManfredB
Back to top
View user's profile Send private message
sMueggli
Guru
Guru


Joined: 03 Sep 2022
Posts: 497

PostPosted: Tue Feb 13, 2024 3:57 pm    Post subject: Reply with quote

Das Paket installkernel kommt in zwei Geschmacksrichtungen daher: Traditionell (ein Skript [oder mehrere?] das von Debian nach Gentoo portiert wurde) und systemd (mit kernel-install). Mit dem USE=(-)systemd Flag bestimmst du, welche Geschmacksrichtung du möchtest.

Wenn du die Ausgabe von
Code:
emerge -pv installkernel
zeigst und sagst, wie du dein System bootest, könnte man dir helfen die richtige/passende USE Flag-Kombination zu finden.
Back to top
View user's profile Send private message
ManfredB
Veteran
Veteran


Joined: 27 Dec 2007
Posts: 1742

PostPosted: Tue Feb 13, 2024 5:25 pm    Post subject: Reply with quote

Hier das Ergebnis:

Code:

emerge -pv installkernel

These are the packages that would be merged, in order:

Calculating dependencies... done!
Dependency resolution took 6.12 s (backtrack: 1/20).

[ebuild   R    ] sys-kernel/installkernel-24::gentoo  USE="systemd -dracut* -grub -systemd-boot -uki -ukify" 0 KiB

Total: 1 package (1 reinstall), Size of downloads: 0 KiB

!!! Multiple package instances within a single package slot have been pulled
!!! into the dependency graph, resulting in a slot conflict:

sys-kernel/installkernel:0

  (sys-kernel/installkernel-24:0/0::gentoo, ebuild scheduled for merge) USE="systemd -dracut -grub -systemd-boot -uki -ukify" ABI_X86="(64)" pulled in by
    sys-kernel/installkernel (Argument)

  (sys-kernel/installkernel-24-1:0/0::gentoo, installed) USE="dracut systemd -grub -systemd-boot -uki -ukify" ABI_X86="(64)" pulled in by
    >=sys-kernel/installkernel-14[dracut(-)] required by (sys-kernel/gentoo-kernel-bin-6.6.13-1:6.6.13/6.6.13::gentoo, installed) USE="initramfs (-generic-uki) -modules-compress -test" ABI_X86="(64)"


Ich arbeite - solange ich schon mit gentoo beschäftigt bin - nach wie vor normal mit grub.
Die Änderungen von debian sind nicht mein Interesse, da ich von Debian bisher nie etwas gehalten habe.

Immer wieder werde ich bei Updates dazu aufgefordert, die USE-Flags für installkernel zu akzeptieren.
Wenn ich "n" eingebe, geht das Update nicht weiter.

Ergebnis: wenn ich bei gentoo-kernel-bin am Ende ins /boot-Verzeichnis schaue, sieht es vollkommen anders aus
als zuvor:
System-map
config
initramfs
vmlinuz

Eines kann ich schon mitteilen: ich werde mir dieses /boot-Verzeichnis nicht mehr kaputt machen lassen.
Vorteil: wenn das Verzeichnis nur noch 2 Zeilen enthält, dan lösche ich es sofort und kopiere von einem anderen System
die Zeilen im /boot-Verzeichnis herüberkopieren, was immer gut geklappt hat.

In diesem Sinne
liebe Grüße an euch alle
ManfredB

P.S. Ich wurde schon von Josef.95 beraten, installkernel -systemd zu gestalten, aber inzwischen ist noch dracut dazugekommen.
Nun ist der Weg der Zukunft offensichtlich anders geworden. Doch diesen Weg bin ich nicht bereit einzuschlagen.
Was ich statt dessen mache, habe ich oben beschrieben.
Back to top
View user's profile Send private message
pietinger
Moderator
Moderator


Joined: 17 Oct 2006
Posts: 5121
Location: Bavaria

PostPosted: Tue Feb 13, 2024 6:59 pm    Post subject: Reply with quote

Manfred,

vielleicht helfen Dir folgende Informationen weiter:

1. Debian hatten wir schon immer. Rate mal woher die Kernel Konfiguration unseres Dist-Kernels kommt ? Auch das Paket "debianutils" hatten wir schon ewig. Dies hatte auch schon ewig das Use-Flag" installkernel", damit dies auch installiert wird. Wenn man nämlich nach einem Kernel Build (mit "make") einen "make install" aufruft, startet dieses /sbin/installkernel. Und genau das braucht man, damit der "make install" auch die benötigten Dateien nach /boot kopiert ... das macht nämlich in Wirklichkeit der /sbin/installkernel. Soweit - so alt.

2. Was jetzt in der letzten Zeit passierte, war das Zusammenlegen mti dem systemd-part (Du bist ja auch systemd User). Dabei ging es anfangs "ein bischen chaotisch" zu. Unser Gentoo Entwickler hat sich dafür entschuldigt und auch bemerkt, dass er es unterschätzt hat. Er hat aber sehr aktiv hier in unserem Forum geholfen, Verbesserungen aufgegriffen und alles im Wiki dokumentiert. Link ist nach wie vor: https://wiki.gentoo.org/wiki/Installkernel (Hast Du aber glaub' ich schon bekommen).

3. Wie sicherlich bekannt, bin ich kein Freund von systemd (und kenne mich dementsprechend damit auch nicht aus). Wenn man allerdings ein modernes System nutzen will, sollte man bereit sein, Neuerungen die von dort kommen zu akzeptieren. Damit alle - wirklich alle - glücklich werden, hat unser Entwickler auch die Möglichkeit von systemd mit grub erhalten ... man muss nur die richtigen Use-flags wählen. Ja, es gab eine entprechende NEWS dazu => "eselect news read" ... die sind IMMER wichtig und sollten beachtet werden. Wenn man kein Englisch kann, MUSS MAN halt das von GOOGLE übersetzen lassen ... aber in Unkenntnis/Unwissenheit auf unsere Gentoo Entwickler zu schimpfen ist ganz sicherlich nicht zielführend ... und hinterläßt einen negativen Eindruck ...

4. Von einem anderen System etwas manuell rüber zu kopieren ... KANN gutgehen ... kann auch schief laufen ... und erhöht die Wahrscheinlichkeit, dass irgendwann mal etwas nicht funktioniert. Wenn dann noch dazu kommt, dass Du das bei einer Problem-Meldung nicht berichtest, könnte es irgendwann mal dazu führen, dass selbst unsere besten Experten ratlos sein werden und Dir nicht mehr helfen können ...

Nun konkret zu Deiner Situation:

Du brauchst einen installkernel, wo fast alle Use-flags AUSgeschaltet sind - auch "systemd" (das ja standardmäßig bei jeder systemd Installation global aktiviert ist). Da Du m.W. unseren Dist-Kernel benutzt MUSST Du "dracut" EINschalten". Siehe in unserem deutschen Handbuch (leider noch nicht übersetzt):
https://wiki.gentoo.org/wiki/Handbook:AMD64/Installation/Kernel/de#Distribution_kernels
Das einzige was Du zusätzlich einschalten KÖNNTEST ist "grub". Damit steuerst Du, ob Du noch ein manuelles "grub-mkconfig ..." machen musst, oder ob das gleich automatisch mit erledigt wird. Siehe: https://wiki.gentoo.org/wiki/Project:Distribution_Kernel
Das heisst Du musst speziell für das Paket "installkernel" die Use-flags in Deiner /etc/portage/package.use setzen:
Code:
sys-kernel/installkernel dracut -grub -systemd -systemd-boot -uki -ukify

oder
Code:
sys-kernel/installkernel dracut grub -systemd -systemd-boot -uki -ukify

und danach re-emergen:
Code:
# emerge -1v installkernel

Wenn Du danach unseren Dist-kernel installierst, sollte alles so wie immer funktionieren.


Persönliches: Ich kenne Dich hier in unserem Forum als äußerst höflichen und freundlichen User. Ich verstehe es, wenn man verärgert ist, wenn etwas nicht funktioniert - das dürfte wohl jedem Menschen so gehen - auch mir. Das Forum ist aber nicht dafür da, sich eine etwaige Frustration von der Seele zu reden, sondern um zu HELFEN ... SUPPORT. Dies geschieht am besten durch SACHLICHKEIT. Persönliche Erzählungen interessieren vermutlich niemanden ... dafür fehlen oft Informationen, WAS WANN WIE gemacht wurde. Aufgrund unseres Alters wissen wir beide sicherlich, dass man es als Anfänger oft nicht leicht hat; aber Anfänger die auch noch rummotzen werden häufig gemieden. Wenn man "innerlich aufgewühlt" ist, ist es meist das Beste mal eine Pause zu machen ... bevor man Schaden anrichtet ...
_________________
https://wiki.gentoo.org/wiki/User:Pietinger
Back to top
View user's profile Send private message
firefly
Watchman
Watchman


Joined: 31 Oct 2002
Posts: 5320

PostPosted: Tue Feb 13, 2024 8:05 pm    Post subject: Reply with quote

pietinger wrote:
Wenn man nämlich nach einem Kernel Build (mit "make") einen "make install" aufruft, startet dieses /sbin/installkernel. Und genau das braucht man, damit der "make install" auch die benötigten Dateien nach /boot kopiert ... das macht nämlich in Wirklichkeit der /sbin/installkernel. Soweit - so alt.


Kleine Korrektur. make install braucht nicht installkernel. make install kopiert den kernel auch ohne installkernel nach /boot.
Das einzige ist, dass die make install funktionalität nur LILO kennt und versucht diesen aufzurufen um die konfiguration des LILO bootloaders den neuen/geänderten kernel mitzuteilen.

Wenn jetzt aber zusätzlich eine initrd/initramfs benötigt wird, damit der kernel das root dateisystem überhaupt finden kann, dann muss man das bisher von hand machen.
Da über die Zeit neben LILO andere bootloader für die Nutzung mit einem linux kernel auftauchten, haben die kernel entwickler wohl entschieden den support für andere bootloader und initrd/initramfs management in ein externes Programm aus zu lagern.
Dafür wurde dann eine art "spec" definiert mit welchen Parametern ein programm namens installkernel aufgerufen wird. Wobei die verwendeten Parameter architecture spezifisch sind (siehe auch den INSTALLKERNEL part in der kernel doku "linux/Documentation/kbuild/kbuild.rst")
Dadurch müssen die Kernel entwickler selbst keinen zusätzlichen Aufwand treiben für jede architektur/jedes system alle möglichen variationen zu unterstützen.

Und anscheinend war eine der ersten Umsetzungen dieser "spec" im kontext der Linux Distribution Debian entstanden, bzw. die auch von debian verwendet wird.
Und gentoo hat initial diese Implementierung genutzt bis später das projekt geforkt hat um die implementierung mehr an die besonderheiten von gentoo anpassen zu können.

systemd als init-system hat im kontext von installkernel überhaupt keine relevanz.
Im systemd projekt wurde nur eine eigene Implementierung der installkernel "spec" entwickelt. Welche vermutlich wohl initial hauptsächlich im zusammen spiel mit dem eigenen bootloader systemd-boot gedacht war.

Nur weil man systemd als init-system nutzt, muss man nicht die systemd implementierung von installkernel und/oder systemd-boot verwenden.

Ich z.b. nutze systemd als init system aber habe für sys-kernel/installkerne nur das useflag dracut aktiv, da auf meinem System das Root-Dateisystem (inklusive /boot) auf einem Software Raid-1 liegt.
Und dafür wird eine initramfs benötigt, welches das Software Raid online bringt bevor das root dateisystem gemounted werden kann.
Und da ich zu faul bin ein eigenes initramfs zu bauen (was im grunde nur mdadm aufrufen müssten um das Raid online zu bringen bevor in das system via "switchroot" gewechselt wird) verwende ich dracut um eine passende initramfs zu erzeugen.
Und durch das aktive dracut useflag, wurde ein hook für installkernel installiert, welches automatisch dracut für den kernel aufruft, welcher via make install "installiert" werden soll.
_________________
Ein Ring, sie zu knechten, sie alle zu finden,
Ins Dunkel zu treiben und ewig zu binden
Im Lande Mordor, wo die Schatten drohn.
Back to top
View user's profile Send private message
ManfredB
Veteran
Veteran


Joined: 27 Dec 2007
Posts: 1742

PostPosted: Wed Feb 14, 2024 6:55 am    Post subject: Reply with quote

Hallo pietinger und firefly!

Ich bitte herzlich um Entschuldigung, daß ich etwas aggressiv gegen debian-utils geschrieben habe.
Nachdem ich nun erfahren habe, daß die Kernel-Installation schon lange davon herkommt,
waren eure langen Erklärungen sehr gut für mich!!!

Nun werde ich in aller Ruhe und Entspannung die von euch gelieferten Artikel genauer studieren,
um in Zukunft keine Probleme mehr zu haben.

Ich wünsche euch einen angenehmen Mittwoch, 14.02.2024 und sage herzlichen Dank für die ausführliche
Unterstützung in diesem Thema.

Liebe Grüße
ManfredB
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) Diskussionsforum All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum