Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Changes to dracut kernel module/microcode handling
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)
View previous topic :: View next topic  
Author Message
schmidicom
Veteran
Veteran


Joined: 09 Mar 2006
Posts: 1970
Location: Schweiz

PostPosted: Wed May 22, 2024 10:29 am    Post subject: Changes to dracut kernel module/microcode handling Reply with quote

Heute zum ersten mal, per "eselect news", diese "NEWS" bekommen/gelesen:
https://www.gentoo.org/support/news-items/2024-05-17-dracut-ext-kmods.html

Und erst mal habe ich gedacht das ich das ganze aufgrund von meinem eher schlechten Englisch einfach falsch verstanden habe (was noch immer sein kann, korrigiert mich bitte umgehend wenn es so ist) aber egal wie oft ich das durchlese es macht mich einfach fassungslos.
Werden hier wirklich die Standards (USE-Flags und das Upstream-Verhalten von "sys-kernel/dracut") so umgebogen das jedes Package welches irgendwelche Kernel-Module, Firmware-Dateien und/oder Microcode-Updates enthält eine extra initramfs-Datei in die boot-Partition kotzt? Was ist das den für eine Schnapsidee?
Ich benutze nicht ohne Grund "sys-kernel/dracut", unter anderem genau deswegen. "sys-kernel/dracut" soll mir für jeden Kernel genau EINE initramfs-Datei erstellen die alles enthält und die dann vom bootloader benutzt wird.

Bei mir bleibt das USE-Flag "initramfs" fürs erste global deaktiviert und "sys-kernel/dracut" so eingestellt das ALLES (Kernel-Module, Firmware-Dateien und/oder Microcode-Updates) in das eine initramfs gepackt wird. Das entspricht auch dem vom Upstream festgelegten Standardverhalten von "sys-kernel/dracut".

Sorry falls dieser Rant jetzt den einen oder anderen triggert aber ich musste mir jetzt echt erst mal Luft verschaffen.
_________________
Lenovo - ThinkPad P16s Gen 2 - 21K9CTO1WW
Back to top
View user's profile Send private message
firefly
Watchman
Watchman


Joined: 31 Oct 2002
Posts: 5317

PostPosted: Wed May 22, 2024 11:28 am    Post subject: Reply with quote

Soweit ich das bestehe betrifft das ganze hauptsächlich user, welche und/oder folgendes nutzen

  • "Out Of Tree" Kernel modul, welches unbedingt beim starten des systems geladen werden muss weil sonst das system überhaupt nicht started
  • Einen distribution kernel


Die Änderung soll vermeiden, dass die initramfs outdated kernel module beinhalten von out of tree kernel module.
Was bei usern ohne kenntnisse wie das ganze mit der initramfs funktioniert, probleme vermeiden helfen soll.

Da du genau weist was du in der initramfs brauchst und du dich mit dem thema befasst hast ist deine Änderung, nach meinem Verständnis, genau richtig für dein Usecase.

schmidicom wrote:
so umgebogen das jedes Package welches irgendwelche Kernel-Module, Firmware-Dateien und/oder Microcode-Updates enthält eine extra initramfs-Datei in die boot-Partition kotzt?

Das glaube ich hast du missverstanden. Die Änderungen erzeugen dracut configurationen welche dracut anweisen die entsprechenden firmware/out of tree kernel module beim bauen der initramfs zu inkludieren. (Wenn die useflags entsprechend gesetzt sind laut news)

Edit: Wobei das ganze hauptsächlich "passiert" wenn das useflag "dist-kernel" gesetzt ist. Zu mindestens im kontext der firmware/microcode ebuilds
_________________
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
schmidicom
Veteran
Veteran


Joined: 09 Mar 2006
Posts: 1970
Location: Schweiz

PostPosted: Wed May 22, 2024 12:14 pm    Post subject: Reply with quote

firefly wrote:
...
Die Änderung soll vermeiden, dass die initramfs outdated kernel module beinhalten von out of tree kernel module.
...
Die Änderungen erzeugen dracut configurationen welche dracut anweisen die entsprechenden firmware/out of tree kernel module beim bauen der initramfs zu inkludieren. (Wenn die useflags entsprechend gesetzt sind laut news)

Ist ja schön das Dracut mit zusätzlichen Konfigurationsdateien dazu gebracht werden soll extra installierte Module in sein initramfs zu packen aber dafür braucht es diese nutzlosen iniramfs-Dateien nicht:
equery b /boot/amd-uc.img /boot/intel-uc.img:
 * Searching for /boot/amd-uc.img,/boot/intel-uc.img ...
sys-firmware/intel-microcode-20240312_p20240312 (/boot/intel-uc.img)
sys-kernel/linux-firmware-20240513 (/boot/amd-uc.img)

Dracut interessiert sich nicht für diese Dateien, dafür reicht es die Option "early_microcode" auf yes zu setzen (was Upstream standardmäßig bereits der Fall ist) und die Microcode-Dateien (ohne extra initramfs-Datei) installiert zu haben.

Und für die Kernel-Module braucht es auch nicht viel mehr als das was z. B. "app-admin/ryzen_smu" bereits macht:
equery f app-admin/ryzen_smu:
/lib
/lib/modules
/lib/modules/6.9.1-gentoo
/lib/modules/6.9.1-gentoo/extra
/lib/modules/6.9.1-gentoo/extra/ryzen_smu.ko
/usr
/usr/lib
/usr/lib/dracut
/usr/lib/dracut/dracut.conf.d
/usr/lib/dracut/dracut.conf.d/10-ryzen_smu.conf
/usr/lib/modules-load.d
/usr/lib/modules-load.d/ryzen_smu.conf
/usr/share
/usr/share/doc
/usr/share/doc/ryzen_smu-0.1.5
/usr/share/doc/ryzen_smu-0.1.5/README.md.bz2
/usr/lib/dracut/dracut.conf.d/10-ryzen_smu.conf:
omit_drivers+=" ryzen_smu "

Gerade den Nutzern von "sys-kernel/dracut" solche initramfs-Dateien in die boot-Partition zu schmeißen ist einfach unnötig.
_________________
Lenovo - ThinkPad P16s Gen 2 - 21K9CTO1WW
Back to top
View user's profile Send private message
firefly
Watchman
Watchman


Joined: 31 Oct 2002
Posts: 5317

PostPosted: Wed May 22, 2024 2:05 pm    Post subject: Reply with quote

schmidicom wrote:

Und für die Kernel-Module braucht es auch nicht viel mehr als das was z. B. "app-admin/ryzen_smu" bereits macht:
equery f app-admin/ryzen_smu:
/lib
/lib/modules
/lib/modules/6.9.1-gentoo
/lib/modules/6.9.1-gentoo/extra
/lib/modules/6.9.1-gentoo/extra/ryzen_smu.ko
/usr
/usr/lib
/usr/lib/dracut
/usr/lib/dracut/dracut.conf.d
/usr/lib/dracut/dracut.conf.d/10-ryzen_smu.conf
/usr/lib/modules-load.d
/usr/lib/modules-load.d/ryzen_smu.conf
/usr/share
/usr/share/doc
/usr/share/doc/ryzen_smu-0.1.5
/usr/share/doc/ryzen_smu-0.1.5/README.md.bz2
/usr/lib/dracut/dracut.conf.d/10-ryzen_smu.conf:
omit_drivers+=" ryzen_smu "

Gerade den Nutzern von "sys-kernel/dracut" solche initramfs-Dateien in die boot-Partition zu schmeißen ist einfach unnötig.


Hä? Das hab ich doch geschrieben.... Und dein beispiel ist genau das, was diese Änderung auch macht...
Denn das sind dracut config dateien...
_________________
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
firefly
Watchman
Watchman


Joined: 31 Oct 2002
Posts: 5317

PostPosted: Wed May 22, 2024 2:08 pm    Post subject: Reply with quote

schmidicom wrote:

equery b /boot/amd-uc.img /boot/intel-uc.img:
 * Searching for /boot/amd-uc.img,/boot/intel-uc.img ...
sys-firmware/intel-microcode-20240312_p20240312 (/boot/intel-uc.img)
sys-kernel/linux-firmware-20240513 (/boot/amd-uc.img)

Öhm sicher dass das so passiert nach dieser Umstellung? Wobei die neue logik nur ausgeführt wird, wenn dist-kernel + initramfs in diesen beiden paketen aktiv ist...
_________________
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
schmidicom
Veteran
Veteran


Joined: 09 Mar 2006
Posts: 1970
Location: Schweiz

PostPosted: Wed May 22, 2024 5:15 pm    Post subject: Reply with quote

firefly wrote:
schmidicom wrote:

Und für die Kernel-Module braucht es auch nicht viel mehr als das was z. B. "app-admin/ryzen_smu" bereits macht:
equery f app-admin/ryzen_smu:
/lib
/lib/modules
/lib/modules/6.9.1-gentoo
/lib/modules/6.9.1-gentoo/extra
/lib/modules/6.9.1-gentoo/extra/ryzen_smu.ko
/usr
/usr/lib
/usr/lib/dracut
/usr/lib/dracut/dracut.conf.d
/usr/lib/dracut/dracut.conf.d/10-ryzen_smu.conf
/usr/lib/modules-load.d
/usr/lib/modules-load.d/ryzen_smu.conf
/usr/share
/usr/share/doc
/usr/share/doc/ryzen_smu-0.1.5
/usr/share/doc/ryzen_smu-0.1.5/README.md.bz2
/usr/lib/dracut/dracut.conf.d/10-ryzen_smu.conf:
omit_drivers+=" ryzen_smu "

Gerade den Nutzern von "sys-kernel/dracut" solche initramfs-Dateien in die boot-Partition zu schmeißen ist einfach unnötig.


Hä? Das hab ich doch geschrieben.... Und dein beispiel ist genau das, was diese Änderung auch macht...
Denn das sind dracut config dateien...

Ja genau deshalb habe ich es da rein gepackt, es braucht keine zusätzliche initramfs-Dateien die einem per Default in die boot-Partition gekippt werden.

firefly wrote:
schmidicom wrote:

equery b /boot/amd-uc.img /boot/intel-uc.img:
 * Searching for /boot/amd-uc.img,/boot/intel-uc.img ...
sys-firmware/intel-microcode-20240312_p20240312 (/boot/intel-uc.img)
sys-kernel/linux-firmware-20240513 (/boot/amd-uc.img)

Öhm sicher dass das so passiert nach dieser Umstellung? Wobei die neue logik nur ausgeführt wird, wenn dist-kernel + initramfs in diesen beiden paketen aktiv ist...

Ja, vorher hatte ich diese Dateien nicht. Diese Dateien kammen mit dieser Umstellung und dem dadurch per Default aktiviertem USE-Flag "initramfs".

Mir geht es bei diesem ganzen Fall vor allem darum wie diese NEWS geschrieben ist.
Extrem schlecht zu verstehen, mit einer fraglichen Begründung warum das jetzt angeblich so sein müsste und mit einer Warnung man solle dieses USE-Flag bloß nicht global deaktivieren. ???
_________________
Lenovo - ThinkPad P16s Gen 2 - 21K9CTO1WW
Back to top
View user's profile Send private message
pietinger
Moderator
Moderator


Joined: 17 Oct 2006
Posts: 5095
Location: Bavaria

PostPosted: Wed May 22, 2024 5:27 pm    Post subject: Reply with quote

schmidicom wrote:
[...] und mit einer Warnung man solle dieses USE-Flag bloß nicht global deaktivieren. ???

Na ja ... ich habe mich brav an diese Anweisung gehalten und es global deaktiviert (weil kein dracut und kein dist-kernel und kein installkernel und kein grub):
Quote:
Users who do not use sys-kernel/dracut or Distribution Kernels can safely disable the "initramfs" USE flag globally.

Ja, es ist ärgerlich, wenn man komplexe Auto-Magic-Sachen verwendet die sich dann auch mal ändern können ... die Begründung warum es geändert wurde hat mich aber überzeugt ... als jemand der im Forum des öfteren User mit :evil: -NVIDIA-Modulen helfen sollte ...
_________________
https://wiki.gentoo.org/wiki/User:Pietinger
Back to top
View user's profile Send private message
Max Steel
Advocate
Advocate


Joined: 12 Feb 2007
Posts: 2267
Location: My own world! I and Gentoo!

PostPosted: Thu May 23, 2024 8:56 am    Post subject: Reply with quote

Ich habe auch Gründe gegen den Einsatz des initramfs Use-Flags, da XEN nicht sonderlich gut auf mehrere initramfs-Module anspricht.
Aber auf anderen Systemen ohne XEN geniese ich es dass ich mich nicht um die intel/amd firmwareupdates kümmern muss beim system update.

Aber ich bau auch meinen Kernel selber und die initramfs dank linux/usr/gen_init_cpio selber, da dracut (oder genkernel/initramfs for that matter) zwar alles mögliche mitliefert... ich aber nicht alles brauche.

Aber das use-flags initramfs auf linux-firmware und intel-microcode existiert schon ein paar Tage länger. Und hatte dort schon immer dafür gesorgt dass diese Pakete die Dateien /boot/intel-uc.img respektive /boot/amd-uc.img generiert hat. Das kam jetzt nicht erst mit den Updates vom 17.05. Aber es steht auch beschrieben was passiert wenn dist-kernel nicht gesetzt ist, und wie es sich verhält wenn man dist-kernel zusätzlich zu initramfs setzt. Also dass dracut dann die generierten intel/amd initramfs inkludiert.
_________________
mfg
Steel
___________________

Heim-PC: AMD Ryzen 5950X, 64GB RAM, GTX 1080
Laptop: Intel Core i5-4300U, 16GB RAM, Intel Graphic
Arbeit-PC: Intel i5-1145G7, 16GB RAM, Intel Iris Xe Graphic (leider WSL2)
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) 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