F30 upgrade GRUB2 resume option(?)

 ( makgab | 2019. május 25., szombat - 9:43 )

Üdv!
Megfrissült a gép F30-ra, a grub2 megváltozott egy kicsit.
A gép hibernálásból nem tud visszajönni. A bejegyzzések (menu entry) átkerültek a /boot/loader/entries könyvtár alá külön txt fájlokba.
A korábbi "resume" opciót nem látom, gondolom ez lehet a gond.

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

Úgy tűnik a megfelelő /boot/loader/entries/ce******.fc30.x86_64.conf fájlba kell a szokásos bejegyzés:
# ----------------------------------------------------------------------------------------------------
title Fedora (5.0.17-300.fc30.x86_64) 30 (Thirty)
version 5.0.17-300.fc30.x86_64
linux /boot/vmlinuz-5.0.17-300.fc30.x86_64 resume=UUID=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
initrd /boot/initramfs-5.0.17-300.fc30.x86_64.img
options $kernelopts
grub_users $grub_users
grub_arg --unrestricted
grub_class kernel
# ----------------------------------------------------------------------------------------------------

ls -l /dev/disk/by-uuid/*

Innen a swap partíció uuid-ja kell.

Neked valami kimaradt az életedből:

https://fedoramagazine.org/setting-kernel-command-line-arguments-with-fedora-30/

A hölgy csak tudja, ha már kernel fejlesztő. :) Amúgy én root-ként csináltam, szerintem félrevezető a $ a sor elején.

grubby --update-kernel=ALL --args="resume=UUID=itt_van_a_swap_uuid"


tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

ok, kösz.
F29 alatt még nem volt így szétszedve nálam a "grub.cfg". :o

Hogy lehet alapértelmezetté tenni a "resume" opciót?
Kijött egy újabb kernel (5.1.5-300.fc30.x86_64), a hozzá tartozó konfig fájlba már nem tette be a rendszer.

Megpróbálom ezt:
https://wiki.archlinux.org/index.php/GRUB

Additional arguments

To pass custom additional arguments to the Linux image, you can set the GRUB_CMDLINE_LINUX + GRUB_CMDLINE_LINUX_DEFAULT variables in /etc/default/grub. The two are appended to each other and passed to kernel when generating regular boot entries. For the recovery boot entry, only GRUB_CMDLINE_LINUX is used in the generation.

It is not necessary to use both, but can be useful. For example, you could use GRUB_CMDLINE_LINUX_DEFAULT="resume=UUID=uuid-of-swap-partition quiet" where uuid-of-swap-partition is the UUID of your swap partition to enable resume after hibernation. This would generate a recovery boot entry without the resume and without quiet suppressing kernel messages during a boot from that menu entry. Though, the other (regular) menu entries would have them as options.

By default grub-mkconfig determines the UUID of the root filesystem for the configuration. To disable this, uncomment GRUB_DISABLE_LINUX_UUID=true.

For generating the GRUB recovery entry you have to ensure that GRUB_DISABLE_RECOVERY is not set to true in /etc/default/grub.

See Kernel parameters for more info.

Fentebb írtam, hogy a grubby paranccsal hogyan. Ott van Laura Abbott blog bejegyzése, linkeltem.

Viszont megnéztem a /proc/cmdline kernel által visszaadott virtuális file-t, s elszörnyülködtem. A telepítéstől kezdve az összes eddigi kernel BOOT_IMAGE= kezdetű paramétere benne van a kernelnek átadott paraméterek között. Mindamellett ami kell, az is megvan - ideértve a resume= kezdetű eposzt is -, de az elég goromba, amit most megkapott a kernelem. Azt hiszem, jelzem a fejlesztőknek...


tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Ma frissült a kernel, de nem állította be a resume opciót (/etc/sysconfig/grub -> GRUB_CMDLINE_LINUX_DEFAULT="resume=UUID=.....").
Csak ezzel működik?

grubby --update-kernel=ALL --args="resume=UUID=itt_van_a_swap_uuid"

Most automatikusan nem működik?
Ez a BOOT_IMAGE hol is van?

Lehet, hogy csak így működik, Laura Abbott szerintem nem azért írt erről, mert épp unatkozott. ;) Amúgy, miután kiadtad a parancsot, automatikus lesz, tehát megjegyzi az összes kernelparamétert, majd frissítéskor automatikusan hordozza azt tovább. Úgy emlékszem, azon a blogon írnak az ideiglenes módosítás lehetőségéről is, de az engem nem hoz lázba, hiszen a rendszer indulásakor a Grubtól promptot kérve ezt amúgy is megtehetem.

Írtam, a /proc/cmdline „file”-t nézd. Azért az idézőjel, mert ezt a kernel láttatja file-ként, az aktuálisan futó kernel paramétereit mutatja meg. Közben megtaláltam. Úgy tűnik, ezek a paraméterek a /boot/loader/entries alkönyvtárban lévő file-ból származnak.

Azt érdemes tudni, hogy a Fedorának több boot metódusa van. Például eltér ez EFI-s és régi BIOS-os gépen, de tudtommal régi gépen is különbözőképp képes indulni.


tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

cat /proc/cmdline:

BOOT_IMAGE=(hd0,msdos2)/boot/vmlinuz-5.1.6-300.fc30.x86_64 resume=UUID=bfbbd3b6-0fc2-4dcc-a81d-a28b1be67e5f root=UUID=714b5931-6379-4a7b-9e47-daf1504372f9 ro vconsole.font=latarcyrheb-sun16 rhgb quiet

Igazából ott van a paraméterek között, de mégsem használja a kernelfrissítéskor. Egyelőre manuálisan írom be...

Kernelfrissítés után az új kernellel boot-olva már nem lesz ott? Remélem, az megvan, hogy a /proc/cmdline nem olyan valami, amit konfigurációként használ, hanem ez a kernelnek ténylegesen átadott paraméter lista, a jelenlegi kernel ezen paraméterekkel lett indítva. Tehát itt a kernel azt mondja meg, mit kapott, így ebben az esetben nem kérdés, hogy megkapta a resume= paramétert. Hiszen látszik, hogy megkapta azt.


tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Igen tudom. Igaz én írtam be a /boot/loader/entries/* alá a megfelelő sorba a resume opciót. Ha nem írtam volna be, akkor gondolom a /proc/cmdline-ba se lenne ott.
De ha megint jön egy kernelfrissítés, akkor szintén nem lesz ott "resume" opció automatikusan gondolom. Sebaj... majd valamikor. :)

Ma megint volt egy kernelfrissítés.

grubby --update-kernel=ALL --args="resume=UUID="

Nem adta hozzá a kért opciót a /boot/loader/entries/*.conf fájlhoz... és a /proc/cmdline fájlba se került be (reboot után) - érthető módon.
Maradt a kézzel hozzáadás.

Gondolom, az UUID= után megadtad a swap uuid-ját, csak itt nem írtad le.


tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

igen.

Nem tudok többet hozzátenni. Követtem a blogban írottakat, s nekem működik. Viszont szerintem root joggal kell, a blogban szerintem helytelen a $ prompt. Sima userként a grubby-nak nem lesz joga módosítani a szükséges file-t. Mindenesetre én root-ként adtam ki a parancsot, működött is.


tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

én sudo-val.

Ez szokás Fedorán? Én root jogot szerzek

su -

paranccsal, s innen teszek-veszek.


tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

sudo rootként futtatja.
Igen, te áváltasz root-ra mindenféle beállításoakkal együtt és utána adod a commandokat. Lehet hogy másképp fut...

"Ez szokás Fedorán?"

Nem szokás. De én debianon, centoson és gentoon is használok. Mert azt mondják a nagyok, hogy biztonságosabb. És én alázatosan hallgatok a nagy elmékre. Lehet az egy számítástechnika-tanári diplomás rendszergazda egy városszéli vasutas cégnél vagy egy rendszermérnök valamilyen biztonsági alkalmazásokat fejlesztő cégnél.

De hamár a fedoramagazint felhoztad íme:

https://fedoramagazine.org/howto-use-sudo/

************************************
*powered by ©gentoo WITH SUDO!!! ;D*
************************************

Nekem nem sikerült megértenem, hogy ha benne vagyok a wheel csoportban, s innentől kezdve jelszó kérés nélkül sima user joggal kiadott sudo parancs futtatható, az mitől olyan biztonságos. Mivel nem kér jelszót, bármelyik script simán futtathat így bármit root joggal, ha jól sejtem. Nálam inkább marad a su -, s kérjen jelszót.


tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Lehet a sudoers-ben konfigolni hogy attól függetlenül hogy a wheel csoportban vagy kérjen jelszót, úgy mint a su - .

Jó, de akkor már nem egyszerűbb su --szal root shellt kérni, s onnan intézni a gép adminisztrálását? Valószínűleg Ubuntu-like rendszeren is sudo -i-vel kezdeném ezt. Olyannyira, hogy a munkshelyi Windows-om WSL-jében épp ezt teszem, ha például frissíteni szeretnék.


tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Akkor van értelme a sudonak ha több rendszergazda/üzemeltető is tolja a szervert. sudo parancs esetén egyrészt a rendszergazdáknak/üzemeltetőknek nem kell ismerniük a root jelszót, másrészt sudo esetén pontosan lehet tudni hogy melyik parancsot pontosan ki adta ki és mikor, emelt jogosultsággal (/var/log/secure). Nyilván sudo-val is meg lehet változtatni a root jelszót de erről ilyenkor készül naplóbejegyzés amiről a monitoring azonnal küld neked egy üzenetet, te meg intézed a többit.

Lehet, hogy ez lesz a jó megoldás:
Az /etc/grub.d és az /etc/default/grub alapján (itt van a resume opció) a "grub2-mkconfig" segítségével lehet generálni egy grub.cfg fájlt:

[root@fedora boot]# grub2-mkconfig -o /boot/grub2/grub.cfg

Ez a megjegyzés grub.cfg fájl első soraiban bent is van. :)

Megnézem a következő kernel frissítéskor mit csinál.

A második hozzászólásban adtam egy linket, ahol leírja Laura Abbott, hogyan kell hozzáadni bármilyen kernel paramétert, így a resume opciót is.


tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Igen, csak ott grubby-t írt, ami nálam nem működött. A grub2-mkconfig meglátjuk mit eredményez. :)

Miért nem működött? Root joggal próbáld! A prompt a leírásban valóban tévedés, baj is volna, ha ez user joggal sikerülne.

Én a leírást követve simán hozzáadtam a vágyott resume paramétert. A grub2-mkconfig nem fog segíteni, mert generál majd egy olyan konfigot, amelyik továbbra is valahonnan kívülről veszi a paramétereket.


tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

grub2-mkconfig a /etc/default/grub-bol szedi ki, hogy mi legyen a cmdline-ban (GRUB_CMDLINE_LINUX), szoval ha oda beirod, nem felejti el.

Naiv lélek vagy szerintem. Fedora 30 grub.cfg-jében nincs benne a kernel és az initrd sem, pedig a Grub boot-olja a gépet. Cseppet felforgatták az életet. Amúgy nem szeretem, mert mindig megbonyolítják, de azon túl, hogy csak kellemetlenség adódik belőle, valamint egyre nehezebben áttekinthető a gép boot-olása, s nem tudod, hova nyúlj baj esetén, nem látom az innovációból fakadó előnyöket. A grub.cfg-be raktak egy ilyen comment-et:

# This section was generated by a script. Do not modify the generated file - all changes
# will be lost the next time file is regenerated. Instead edit the BootLoaderSpec files.
#
# The blscfg command parses the BootLoaderSpec files stored in /boot/loader/entries and
# populates the boot menu. Please refer to the Boot Loader Specification documentation
# for the files format: https://www.freedesktop.org/wiki/Specifications/BootLoaderSpec/.


tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

$kernelopts szerintem a grubenv-bol szedi, amit ott van a grub.cfg mellett.

Nagyjából, de nem teljesen. A /proc/cmdline tartalmaz mást is, tehát a kernel valahonnan kap még paramétert. Ezen felül sohasem tudhatom, mi módosítja a grubenv-et, így szélmalomharc lehet annak módosítása. Ráadásul félnék hozzányúlni, olyan text file, ami kicsit bináris színezetű azáltal, hogy 0x23-akkal van padding-olva éppen 1024 byte-ig.


tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Lehet, hogy ezért nem megy: https://bugzilla.redhat.com/show_bug.cgi?id=1651686

Fedora doksiban: users can switch back to a non-BLS configuration by restoring the old configuration from a backup file and installing the grubby-deprecated package.

Sajnos most sem megy. Ma jött egy kernel update (5.2.14-200.fc30.x86_64) és a "resume" opció kimaradt.

Nézd meg, hogy a /etc/default/grub file-ban van-e ilyen sor:

GRUB_ENABLE_BLSCFG=true

Legyen. Utána root joggal add ki az alábbi parancsot:

grubby --update-kernel=ALL --args='resume=UUID=ami_a_swap-ed_uuid-je'

A swap uuid-jét az lsblk -f paranccsal tudod lekérdezni.

Aztán reboot, majd

cat /proc/cmdline


tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Nálam sima Arch alatt a resume mellé kellett egy offset is. Nem lehet hogy ez a gond?

Oh bocs az csak a swap fáljra vonatkozik...

dupla

Ez eddig is ott volt:
GRUB_ENABLE_BLSCFG=true

Ezt már próbáltuk (lsd. korábbi hozzászólások), de nem működött: a grubby --update-kernel=ALL --args='resume=UUID=ami_a_swap-ed_uuid-je' -re gondolom az összes bejegyzést frissítenie kellene a resume opcióval, de nem teszi meg. Most sem megy.
Kézzel kell hozzáadnom a /grub/loader/entries/*.conf fájl(ok)ban az új kernel esetén.

Csinálj mentést az entries alatti *.conf-ról, majd alakítsd át ilyen szerkezetűvé:

title      Fedora (5.3.0-1.fc31.x86_64) 31 (Thirty One)
version    5.3.0-1.fc31.x86_64
machine-id abcd
linux      /abcd/5.3.0-1.fc31.x86_64/linux
initrd     /abcd/5.3.0-1.fc31.x86_64/initrd
options    $kernelopts
grub_users $grub_users
grub_arg   --unrestricted
grub_class kernel

Szerintem ezek után már a megfelelő helyről fogja felszedni a konfigot. A titok szerintem az options paraméterében van.


tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Pont ilyen szerkezetűek a fájlok (kivéve a "machine-id", bár ennek nem lehet jelentősége).

Esetleg még ezzel tudok segíteni:

rpm -qa kernel\* systemd\* grub\* | sort
grub2-common-2.02-97.fc31.noarch
grub2-pc-2.02-97.fc31.x86_64
grub2-pc-modules-2.02-97.fc31.noarch
grub2-starfield-theme-2.02-0.42.fc26.x86_64
grub2-tools-2.02-97.fc31.x86_64
grub2-tools-efi-2.02-97.fc31.x86_64
grub2-tools-extra-2.02-97.fc31.x86_64
grub2-tools-minimal-2.02-97.fc31.x86_64
grubby-8.40-36.fc31.x86_64
kernel-5.3.0-1.fc31.x86_64
kernel-core-5.3.0-1.fc31.x86_64
kernel-devel-5.3.0-1.fc31.x86_64
kernel-headers-5.3.0-1.fc31.x86_64
kernel-modules-5.3.0-1.fc31.x86_64
systemd-243-1.fc31.x86_64
systemd-bootchart-233-5.fc31.x86_64
systemd-container-243-1.fc31.x86_64
systemd-devel-243-1.fc31.x86_64
systemd-libs-243-1.fc31.i686
systemd-libs-243-1.fc31.x86_64
systemd-pam-243-1.fc31.x86_64
systemd-rpm-macros-243-1.fc31.noarch
systemd-udev-243-1.fc31.x86_64


tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Nálam:
grub2-breeze-theme-5.15.5-1.fc30.x86_64
grub2-common-2.02-81.fc30.noarch
grub2-efi-aa64-modules-2.02-81.fc30.noarch
grub2-efi-arm-modules-2.02-81.fc30.noarch
grub2-efi-ia32-2.02-81.fc30.x86_64
grub2-efi-ia32-cdboot-2.02-81.fc30.x86_64
grub2-efi-ia32-modules-2.02-81.fc30.noarch
grub2-efi-x64-2.02-81.fc30.x86_64
grub2-efi-x64-cdboot-2.02-81.fc30.x86_64
grub2-efi-x64-modules-2.02-81.fc30.noarch
grub2-pc-2.02-81.fc30.x86_64
grub2-pc-modules-2.02-81.fc30.noarch
grub2-ppc64le-modules-2.02-81.fc30.noarch
grub2-tools-2.02-81.fc30.x86_64
grub2-tools-efi-2.02-81.fc30.x86_64
grub2-tools-extra-2.02-81.fc30.x86_64
grub2-tools-minimal-2.02-81.fc30.x86_64
grubby-8.40-31.fc30.x86_64
grubby-deprecated-8.40-31.fc30.x86_64
kernel-5.2.11-200.fc30.x86_64
kernel-5.2.13-200.fc30.x86_64
kernel-5.2.14-200.fc30.x86_64
kernel-5.2.15-200.fc30.x86_64
kernel-5.2.9-200.fc30.x86_64
kernel-core-5.2.11-200.fc30.x86_64
kernel-core-5.2.13-200.fc30.x86_64
kernel-core-5.2.14-200.fc30.x86_64
kernel-core-5.2.15-200.fc30.x86_64
kernel-core-5.2.9-200.fc30.x86_64
kernel-debug-devel-5.2.11-200.fc30.x86_64
kernel-debug-devel-5.2.13-200.fc30.x86_64
kernel-debug-devel-5.2.14-200.fc30.x86_64
kernel-debug-devel-5.2.15-200.fc30.x86_64
kernel-debug-devel-5.2.9-200.fc30.x86_64
kernel-devel-5.2.11-200.fc30.x86_64
kernel-devel-5.2.13-200.fc30.x86_64
kernel-devel-5.2.14-200.fc30.x86_64
kernel-devel-5.2.15-200.fc30.x86_64
kernel-devel-5.2.9-200.fc30.x86_64
kernel-headers-5.2.15-200.fc30.x86_64
kernel-modules-5.2.11-200.fc30.x86_64
kernel-modules-5.2.13-200.fc30.x86_64
kernel-modules-5.2.14-200.fc30.x86_64
kernel-modules-5.2.15-200.fc30.x86_64
kernel-modules-5.2.9-200.fc30.x86_64
kernel-modules-extra-5.2.11-200.fc30.x86_64
kernel-modules-extra-5.2.13-200.fc30.x86_64
kernel-modules-extra-5.2.14-200.fc30.x86_64
kernel-modules-extra-5.2.15-200.fc30.x86_64
kernel-modules-extra-5.2.9-200.fc30.x86_64
systemd-241-12.git1e19bcd.fc30.x86_64
systemd-bootchart-233-4.fc30.x86_64
systemd-container-241-12.git1e19bcd.fc30.x86_64
systemd-journal-remote-241-12.git1e19bcd.fc30.x86_64
systemd-libs-241-12.git1e19bcd.fc30.i686
systemd-libs-241-12.git1e19bcd.fc30.x86_64
systemd-pam-241-12.git1e19bcd.fc30.x86_64
systemd-rpm-macros-241-12.git1e19bcd.fc30.noarch
systemd-udev-241-12.git1e19bcd.fc30.x86_64

És mi most az uname -r és a cat /proc/cmdline ?


tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

5.2.15-200.fc30.x86_64

$ cat /proc/cmdline
BOOT_IMAGE=(hd0,msdos2)/boot/vmlinuz-5.2.15-200.fc30.x86_64 resume=UUID=bfbbd3b6-0fc2-4dcc-a81d-a28b1be67e5f root=UUID=714b5931-6379-4a7b-9e47-daf1504372f9 ro vconsole.font=latarcyrheb-sun16 rhgb quiet

De csak azért van bent a "resume=...", mert kézzel hozzáadtam a .conf fájlhoz! Automatice nem teszi be!

Van egy olyan sejtésem, hogy elég bután parse-ol. A resume=... paramétert tedd a végére. Az az érzésem, az elejétől az rhgb quiet-ig egyfajta konstans résznek tekinti, s csak az utána lévő résszel foglalkozik. Ez egy érzés csak, nem néztem meg a kódját, de megpróbálkoznék vele, s kiderül, mit alkot kernelfrissítést követően. Abban amúgy van ráció, hogy a root=... kernelparamétert ne lehessen törölni, viszont ha így van, az szembemegy a unixos filozófiával.


tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Ez valami aljas bug, mert nálam is mindig felülíródik, csak másképp. Nálam a BOOT= kezdetű paraméter kezd el szaporodni, megmarad a régi kernelhez való, s odakerül az újhoz való. Meg nincs benne a kernel verzió a Grub menüjében. Csak tudnám, honnan veszi a template-et!


tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Ez nem segít?
https://docs.fedoraproject.org/en-US/quick-docs/bootloading-with-grub2/

Nálam így néz ki "grubby --info ALL" kimenete:

index=0
kernel="/boot/vmlinuz-5.2.14-200.fc30.x86_64"
args="ro resume=/dev/mapper/fedora_localhost--live-swap rd.lvm.lv=fedora_localhost-live/root rd.lvm.lv=fedora_localhost-live/swap rhgb quiet rd.driver.blacklist=nouveau modprobe.blacklist=nouveau nvidia-drm.modeset=1"
root="/dev/mapper/fedora_localhost--live-root"
initrd="/boot/initramfs-5.2.14-200.fc30.x86_64.img"
title="Fedora (5.2.14-200.fc30.x86_64) 30 (Thirty)"
id="f823dec7cc76491d839feb0df12fdf9c-5.2.14-200.fc30.x86_64"

index=1...
index=2...

index=3
kernel="/boot/vmlinuz-0-rescue-f823dec7cc76491d839feb0df12fdf9c"
args="ro resume=/dev/mapper/fedora_localhost--live-swap rd.lvm.lv=fedora_localhost-live/root rd.lvm.lv=fedora_localhost-live/swap rhgb quiet rd.driver.blacklist=nouveau modprobe.blacklist=nouveau nvidia-drm.modeset=1"
root="/dev/mapper/fedora_localhost--live-root"
initrd="/boot/initramfs-0-rescue-f823dec7cc76491d839feb0df12fdf9c.img"
title="Fedora (0-rescue-f823dec7cc76491d839feb0df12fdf9c) 30 (Thirty)"
id="f823dec7cc76491d839feb0df12fdf9c-0-rescue"

Megvan minden csomagod?
"dnf list installed | grep grub"
grub2-common.noarch 1:2.02-81.fc30 @updates
grub2-efi-ia32.x86_64 1:2.02-81.fc30 @updates
grub2-efi-ia32-cdboot.x86_64 1:2.02-81.fc30 @updates
grub2-efi-x64.x86_64 1:2.02-81.fc30 @updates
grub2-efi-x64-cdboot.x86_64 1:2.02-81.fc30 @updates
grub2-pc.x86_64 1:2.02-81.fc30 @updates
grub2-pc-modules.noarch 1:2.02-81.fc30 @updates
grub2-tools.x86_64 1:2.02-81.fc30 @updates
grub2-tools-efi.x86_64 1:2.02-81.fc30 @updates
grub2-tools-extra.x86_64 1:2.02-81.fc30 @updates
grub2-tools-minimal.x86_64 1:2.02-81.fc30 @updates
grubby.x86_64 8.40-31.fc30 @updates

Most jónak tűnik. Talán a "grubby" parancs oldotta meg /nem tudom... :) /:

cat /proc/cmdline

BOOT_IMAGE=(hd0,msdos2)/boot/vmlinuz-5.2.16-200.fc30.x86_64 root=UUID=714b5931-6379-4a7b-9e47-daf1504372f9 ro vconsole.font=latarcyrheb-sun16 rhgb quiet resume=UUID=< my_swap_uuid_... >

A /boot/loader/entries/*.conf a template. Ide már nem kell beírnom, mert (gondolom) a $kernelopts változóból átveszi:
vagy: /etc/defult/grub #GRUB_CMDLINE_LINUX_DEFAULT="resume=UUID=..."
vagy: /boot/grub2/grubenv # kernelopts="... resume=UUID=......"