Fórum Ubuntu CZ/SK

Ubuntu pro osobní počítače => Instalace, aktualizace a spouštění => Téma založeno: JirkaZ 28 Listopadu 2022, 19:22:40

Název: Grub u multiboot PC - jak na to?
Přispěvatel: JirkaZ 28 Listopadu 2022, 19:22:40
Dávám k úvaze následující situaci:

multiboot PC, 1x Windows, 2x Kubuntu různých verzí (momentálně 18.04 a 22.04). Windows má svůj SSD, Linux taky, společná data a /home jsou na HDD.

Bootování zajišťuje grub spolu s os-proberem instalovaný v 18.04 na EFI oddílu (neboli obecně řečeno vždy v té starší a odladěné verzi Kubuntu). Novější verze nemá instalovaný ani grub, ani os-prober a související věci. Může se stát, že místo vyšší verze Kubuntu bude jiný Linux, nebo přibyde jako třetí.

No a teď o co jde:

jakmile udělám aktualizaci balíčků v novější verzi (buď příkazem s parametry, nebo Synapticem) a aktualizuje se jádro, tak se vždycky vnucuje dodatečná instalace grubu, os-proberu atd. i pro tuto novější verzi. Takže se to pak "tluče" s grubem z nižší verze. Řešitelné je to prakticky pouze v Synapticu, kde ještě před "odpálením" aktualizace ručně vyhledám a zruším označení doinstalace uvedených součástí... Zkoušel jsem zakázat instalaci grubu a os-proberu někde v nějakém definičním souboru pro apt (momentálně si přesně nevybavuju kde), ale nefunguje to.

Napadá někoho, jak celou věc vyřešit tak, aby grub zůstával aktualizací novější verze Kubuntu nedotčený a přesto "vnímal" změny verzí jader ve všech verzích Kubuntu atd.?

Ideální by byla nějaká úplně samostatná instalace grubu (mimo obě verze Kubuntu), ale nikdy jsem to nezkoušel a netuším, zda by se to chovalo tak, jak chci. Musel by se tam spouštět nějaký vlastní os-prober apod., aby si vždycky "osahal" aktuální stav a nastavil grub menu dle něj. To by se ale mělo dít samo při bootování, aby celá věc byla bezobslužná...

Hledal jsem to už před časem, našel (mezi mnohými dalšími) jednu stránku, která tuto problematiku taky probírala, ale tuším, že nedospěli ke kloudnému výsledku. Do záložek jsem si ji bohužel nedal ;-)

Díky za smysluplné úvahy.

Název: Re:Grub u multiboot PC - jak na to?
Přispěvatel: juwa2 28 Listopadu 2022, 19:46:27
Hm.. Já bych to řešil instalací grubu (z live --> chroot) do té novější verze. Pak už by tě to nemělo otravovat. (Ostatně, tohle je normální stav při koexistenci více vezí ubu na jednom PC = ta nejnovější si "přivlastní" grub a dál nemusíš nic řešit).
Název: Re:Grub u multiboot PC - jak na to?
Přispěvatel: Ventero 28 Listopadu 2022, 20:30:53
To vypadá hodně složitě. Asi bych to taky řešil tak, že bych odladěnou verzi už neaktualizoval, popř. z aktualizace u ní vynechal update grub a spol. a nechal to na vyšší verzi.

Osobně bych to ale řešil mít dva soubory zavaděče EFI a pomocí chainload - pak by si měl každý OS jet na svém písečku, ale ty by si docílil toho, že by jsi měl na výběr i plnohodnotné aktuální advencedmenu. Tedy teoretizuji - nemám sílu to teď testovat v praxi.

A nebo prostě aktualizuj jednou za 2 měsíce a jen tu novou verzi a pak nebude tolik štvát, že musíš ručně zakázat grub a spol. - Xubu to umí nativně i bez Synapticu. A nebo jak píše Juwa - nech grub na té novější verzi a tu starou nech jako konzervu, popř. jednotlivě via terminál aktualizovat jen apky, co třeba. Pak to bude jedno a kdyby něco selhalo úplně drsně, tak nabootuješ kam chceš pomocí live-media ..
Název: Re:Grub u multiboot PC - jak na to?
Přispěvatel: ramael 28 Listopadu 2022, 21:32:33
Pardon za diakriticka znamenka. Ta klavesnice na mobilu je na mne moc mrnava. Jsem rad, ze to dam takto.
Ja osobne "bojoval" s grubem minuly tyden. Zkousel jsem si nainstalovat vice systemu. A vyjma Archu mne kazda instalacka prepsala grub na EFI. Ac jsem to kdyz to bylo mozne, zakazal. Ve vysledku jsem to vyresil tak, ze jsem pak spustil OS jehoz grub jsem chtel pouzivat. A ten grub jsem v nem preinstaloval a tim prepsal predchazejici. Momentalne maji vsechny OS vyjma Archu nainstalovan svuj grub. Avsak pouziva se jen ten posledni nainstalovany. Update a upgrade uz nehraji zadnou roli, ty uz to neprepisou. Ani update-grub nema vliv, dokud se grub nepreinstaluje. A vesele upgraduju a pouziva se jen ten mnou posledne "zvoleny".
Název: Re:Grub u multiboot PC - jak na to?
Přispěvatel: Ventero 28 Listopadu 2022, 22:29:57
Jasně - update-grub přepíše jenom konfigurák ..

Nicméně, ten problém je, aby měl JirkaZ v nějaké nabídce i rozšířenou volbu, která se mění podle aktualizovaných jader - tedy vlastně aby měl jeden zavaděč, ale aktuální dvojí zavádění ..

... a těch konfiguráků může být několik a v několika umístění a není problém mezi nimi lavírovat pomocí configfile, ale jsme tady zase u té sekundární bezobslužnosti - a to si myslím, že by řešil master grub a lokál grub a chainload .. Jen nástřel ...
Název: Re:Grub u multiboot PC - jak na to?
Přispěvatel: TIBOR 28 Listopadu 2022, 22:49:49
A uz nefunguje ten system ze sa urci jedno ubuntu ako hlavne a jeho grub sa nainstaluje do MBR (napr. sda). Druhe ubuntu bude ako sekundarne a jeho grub sa nainstaluje na oddiel/particiu (napr. sda2). Pri aktualizacii hlavneho sa aktualizuje MBR a automaticky sa najde druhe ubuntu a prida sa do grubu. Pri aktualizacii druheho sa aktualizuje grub v particii a do MBR sa nezasahuje.
Pri starte sa najprv spusti grub v MBR kde si vy beries ktore ubuntu chces spustit, ak vyberies druhe tak sa spusti grub na sda2 kde si spustis druhe ubuntu.
Niekedy davno som to tak mal ale uz dost dlho som to neskusall
Samozrejme musi to byt MBR nie UEFI system.

P.s. Samozrejme pri aktualizacii druheho v sda2 treba ist do prveho/hlavneho a sputit update-grub aby sa do MBR grubu zapisalo spustanie noveho jadra v sda2.
Název: Re:Grub u multiboot PC - jak na to?
Přispěvatel: Ventero 28 Listopadu 2022, 22:58:50
Ano - to jsem psal - je to master a lokál grub (MBR a PBR), co se týče Legacy/CSM. Jde o to, jak toho docílit v EFI.

Osobně, když to jde, tak se EFI vyhnu, ale některé strojky to neumožňují - vypatlanci od výrobce tam nevím proč nedají plnohodnotný FW ..
Název: Re:Grub u multiboot PC - jak na to?
Přispěvatel: JirkaZ 28 Listopadu 2022, 23:00:17
Hm.. Já bych to řešil instalací grubu (z live --> chroot) do té novější verze. Pak už by tě to nemělo otravovat. (Ostatně, tohle je normální stav při koexistenci více vezí ubu na jednom PC = ta nejnovější si "přivlastní" grub a dál nemusíš nic řešit).

Skutečně pak starší verze nebude vnucovat doinstalaci "svého" grubu, jako to teď dělá ta novější? Mimochodem: vždy používám tu starší jako primární a pracovní, možná jsem to málo zdůraznil. Do nové bootuju jen občas a zkouším, zda fungují dříve běžné věci, abych na ni někdy v budoucnu mohl přejít.

Jo a i kdybych to udělal takto (vlastně jen vyměnil verzi, ve které by byl grub), tak mi zůstane problém s tím, že pokud budu aktualizovat jádro ve verzi bez grubu, tak musím poté nutně nabootovat do verze s grubem a nechat ho (nebo os-prober) znovu načíst konfiguraci, protože jinak se do verze bez grubu už nedostanu (minimálně se mění desetinná či setinná část v názvu jádra).

Potřeboval bych (jak nakonec píšu už výše) cosi jako nezávislý "hlavní grub", který by při bootování "osahával" aktuální situaci a nabídl vždy menu s aktuálními položkami...
Název: Re:Grub u multiboot PC - jak na to?
Přispěvatel: Ventero 28 Listopadu 2022, 23:29:41
Jenže grub nesahá a neaktualizuje se podle druhého systému - on jen umí detekovat a zařadit jeho přítomnost. Takže to co chceš jde myslím jen pomocí sekvence. Nástřely jsem dal ...

Taky bych zvážil, zda má smysl aktualizovat po desetinkách a setinkách jader ..

Celé mi to přijde trochu kostrbaté - pokud mám jeden stabilní hlavní pracovní systém, tak tam nedělám hokuspokusy a neaktualizuji jádra, když mám na to druhý systém ..

Název: Re:Grub u multiboot PC - jak na to?
Přispěvatel: ramael 29 Listopadu 2022, 22:24:59
Asi jsem to blbě napsal, nebo nechápu o co jde. Anebo nechápete vy. Tak to radši napíšu a podepřu praktickým testem. Můj hlavní zavaděč mám z AntiXu. Abych byl co nejblíže k dle mne dané problematice, rozhodl jsem se do ubuntu 22.04 nainstalovat novější jádro 6.0
Na notebooku mám nvme disk. EFI mám na oddílu nvme0n1p1, AntiX na nvme0n1p5.

Instalace jádra v ubuntu:
Kód: [Vybrat]
radek@radek-ubuntu:~$ mkdir jadro
radek@radek-ubuntu:~$ cd jadro/
radek@radek-ubuntu:~/jadro$ wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v6.0/amd64/linux-image-unsigned-6.0.0-060000-generic_6.0.0-060000.202210022231_amd64.deb
--2022-11-29 20:21:34--  https://kernel.ubuntu.com/~kernel-ppa/mainline/v6.0/amd64/linux-image-unsigned-6.0.0-060000-generic_6.0.0-060000.202210022231_amd64.deb
Překládám kernel.ubuntu.com (kernel.ubuntu.com)… 91.189.94.216
Navazuje se spojení s kernel.ubuntu.com (kernel.ubuntu.com)|91.189.94.216|:443… spojeno.
HTTP požadavek odeslán, program čeká na odpověď… 200 OK
Délka: 12093632 (12M) [application/x-debian-package]
Ukládám do: ‘linux-image-unsigned-6.0.0-060000-generic_6.0.0-060000.202210022231_amd64.deb’

linux-image-unsigned-6.0.0-060000-generic_6 100%[========================================================================================>]  11,53M  1011KB/s    za 8,2s   

2022-11-29 20:21:43 (1,41 MB/s) – ‘linux-image-unsigned-6.0.0-060000-generic_6.0.0-060000.202210022231_amd64.deb’ uloženo [12093632/12093632]

radek@radek-ubuntu:~/jadro$ wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v6.0/amd64/linux-modules-6.0.0-060000-generic_6.0.0-060000.202210022231_amd64.deb
--2022-11-29 20:22:04--  https://kernel.ubuntu.com/~kernel-ppa/mainline/v6.0/amd64/linux-modules-6.0.0-060000-generic_6.0.0-060000.202210022231_amd64.deb
Překládám kernel.ubuntu.com (kernel.ubuntu.com)… 91.189.94.216
Navazuje se spojení s kernel.ubuntu.com (kernel.ubuntu.com)|91.189.94.216|:443… spojeno.
HTTP požadavek odeslán, program čeká na odpověď… 200 OK
Délka: 92365796 (88M) [application/x-debian-package]
Ukládám do: ‘linux-modules-6.0.0-060000-generic_6.0.0-060000.202210022231_amd64.deb’

linux-modules-6.0.0-060000-generic_6.0.0-06 100%[========================================================================================>]  88,09M  1,73MB/s    za 82s     s

2022-11-29 20:23:26 (1,08 MB/s) – ‘linux-modules-6.0.0-060000-generic_6.0.0-060000.202210022231_amd64.deb’ uloženo [92365796/92365796]

radek@radek-ubuntu:~/jadro$ wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v6.0/amd64/linux-headers-6.0.0-060000-generic_6.0.0-060000.202210022231_amd64.deb
--2022-11-29 20:23:29--  https://kernel.ubuntu.com/~kernel-ppa/mainline/v6.0/amd64/linux-headers-6.0.0-060000-generic_6.0.0-060000.202210022231_amd64.deb
Překládám kernel.ubuntu.com (kernel.ubuntu.com)… 91.189.94.216
Navazuje se spojení s kernel.ubuntu.com (kernel.ubuntu.com)|91.189.94.216|:443… spojeno.
HTTP požadavek odeslán, program čeká na odpověď… 200 OK
Délka: 3097056 (3,0M) [application/x-debian-package]
Ukládám do: ‘linux-headers-6.0.0-060000-generic_6.0.0-060000.202210022231_amd64.deb’

linux-headers-6.0.0-060000-generic_6.0.0-06 100%[========================================================================================>]   2,95M  2,65MB/s    za 1,1s   

2022-11-29 20:23:30 (2,65 MB/s) – ‘linux-headers-6.0.0-060000-generic_6.0.0-060000.202210022231_amd64.deb’ uloženo [3097056/3097056]

radek@radek-ubuntu:~/jadro$ wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v6.0/amd64/linux-headers-6.0.0-060000_6.0.0-060000.202210022231_all.deb
--2022-11-29 20:23:45--  https://kernel.ubuntu.com/~kernel-ppa/mainline/v6.0/amd64/linux-headers-6.0.0-060000_6.0.0-060000.202210022231_all.deb
Překládám kernel.ubuntu.com (kernel.ubuntu.com)… 91.189.94.216
Navazuje se spojení s kernel.ubuntu.com (kernel.ubuntu.com)|91.189.94.216|:443… spojeno.
HTTP požadavek odeslán, program čeká na odpověď… 200 OK
Délka: 12688478 (12M) [application/x-debian-package]
Ukládám do: ‘linux-headers-6.0.0-060000_6.0.0-060000.202210022231_all.deb’

linux-headers-6.0.0-060000_6.0.0-060000.202 100%[========================================================================================>]  12,10M   694KB/s    za 14s     

2022-11-29 20:24:00 (886 KB/s) – ‘linux-headers-6.0.0-060000_6.0.0-060000.202210022231_all.deb’ uloženo [12688478/12688478]

radek@radek-ubuntu:~/jadro$ sudo dpkg -i *.deb
Vybírá se dosud nevybraný balík linux-headers-6.0.0-060000-generic.
(Načítá se databáze … nyní je nainstalováno 199438 souborů a adresářů.)
Připravuje se nahrazení linux-headers-6.0.0-060000-generic_6.0.0-060000.202210022231_amd64.deb …
Rozbaluje se linux-headers-6.0.0-060000-generic (6.0.0-060000.202210022231) …
Vybírá se dosud nevybraný balík linux-headers-6.0.0-060000.
Připravuje se nahrazení linux-headers-6.0.0-060000_6.0.0-060000.202210022231_all.deb …
Rozbaluje se linux-headers-6.0.0-060000 (6.0.0-060000.202210022231) …
Vybírá se dosud nevybraný balík linux-image-unsigned-6.0.0-060000-generic.
Připravuje se nahrazení linux-image-unsigned-6.0.0-060000-generic_6.0.0-060000.202210022231_amd64.deb …
Rozbaluje se linux-image-unsigned-6.0.0-060000-generic (6.0.0-060000.202210022231) …
Vybírá se dosud nevybraný balík linux-modules-6.0.0-060000-generic.
Připravuje se nahrazení linux-modules-6.0.0-060000-generic_6.0.0-060000.202210022231_amd64.deb …
Rozbaluje se linux-modules-6.0.0-060000-generic (6.0.0-060000.202210022231) …
Nastavuje se balík linux-headers-6.0.0-060000 (6.0.0-060000.202210022231) …
Nastavuje se balík linux-modules-6.0.0-060000-generic (6.0.0-060000.202210022231) …
Nastavuje se balík linux-headers-6.0.0-060000-generic (6.0.0-060000.202210022231) …
Nastavuje se balík linux-image-unsigned-6.0.0-060000-generic (6.0.0-060000.202210022231) …
I: /boot/vmlinuz.old is now a symlink to vmlinuz-5.15.0-53-generic
I: /boot/initrd.img.old is now a symlink to initrd.img-5.15.0-53-generic
I: /boot/vmlinuz is now a symlink to vmlinuz-6.0.0-060000-generic
I: /boot/initrd.img is now a symlink to initrd.img-6.0.0-060000-generic
Zpracovávají se spouštěče pro balík linux-image-unsigned-6.0.0-060000-generic (6.0.0-060000.202210022231) …
/etc/kernel/postinst.d/initramfs-tools:
update-initramfs: Generating /boot/initrd.img-6.0.0-060000-generic
I: The initramfs will attempt to resume from /dev/nvme0n1p8
I: (UUID=7897ed19-78a5-4478-b129-9f3ddb6c3cf8)
I: Set the RESUME variable to override this.
/etc/kernel/postinst.d/zz-update-grub:
Sourcing file `/etc/default/grub'
Sourcing file `/etc/default/grub.d/init-select.cfg'
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-6.0.0-060000-generic
Found initrd image: /boot/initrd.img-6.0.0-060000-generic
Found linux image: /boot/vmlinuz-5.15.0-53-generic
Found initrd image: /boot/initrd.img-5.15.0-53-generic
Found linux image: /boot/vmlinuz-5.15.0-43-generic
Found initrd image: /boot/initrd.img-5.15.0-43-generic
Memtest86+ needs a 16-bit boot, that is not available on EFI, exiting
Warning: os-prober will be executed to detect other bootable partitions.
Its output will be used to detect bootable binaries on them and create new boot entries.
Found Linux Mint 21 Vanessa (21) on /dev/nvme0n1p2
Found Arch Linux on /dev/nvme0n1p3
Found antiX (22) on /dev/nvme0n1p5
Adding boot menu entry for UEFI Firmware Settings ...
done
Kontrola EFI:
Kód: [Vybrat]
efibootmgr -v
BootCurrent: 0002
Timeout: 0 seconds
BootOrder: 0002,0000,0018,0014,0001,0015,0016,0017,0019,001A
Boot0000* ubuntu HD(1,GPT,4e1b8eb5-027c-4001-94f4-9bbade878ced,0x800,0x30000)/File(\EFI\ubuntu\shimx64.efi)
Boot0001* Windows Boot Manager HD(1,GPT,4e1b8eb5-027c-4001-94f4-9bbade878ced,0x800,0x30000)/File(\EFI\Microsoft\Boot\bootmgfw.efi)WINDOWS.........x...B.C.D.O.B.J.E.C.T.=.{.9.d.e.a.8.6.2.c.-.5.c.d.d.-.4.e.7.0.-.a.c.c.1.-.f.3.2.b.3.4.4.d.4.7.9.5.}...\................
Boot0002* antiX22 HD(1,GPT,4e1b8eb5-027c-4001-94f4-9bbade878ced,0x800,0x30000)/File(\EFI\antiX22\grubx64.efi)
Boot0010  Setup FvFile(721c8b66-426c-4e86-8e99-3457c46ab0b9)
Boot0011  Boot Menu FvFile(86488440-41bb-42c7-93ac-450fbf7766bf)
Boot0012  Diagnostic Splash FvFile(a7d8d9a6-6ab0-4aeb-ad9d-163e59a7a380)
Boot0013  UEFI Diagnostics FvFile(f8397897-e203-4a62-b977-9e7e5d94d91b)
Boot0014* NVMe: SKHynix_HFM512GDHTNI-87A0B              PciRoot(0x0)/Pci(0x2,0x4)/Pci(0x0,0x0)/NVMe(0x1,AC-E4-2E-00-0A-25-73-F2)....2.LN........
Boot0015* ATA HDD: VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,91af625956449f41a7b91f4f892ab0f600)
Boot0016* ATA HDD1: VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,91af625956449f41a7b91f4f892ab0f601)
Boot0017* ATAPI CD: VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,aea2090adfde214e8b3a5e471856a354)
Boot0018* USB HDD: Generic MassStorageClass PciRoot(0x0)/Pci(0x8,0x1)/Pci(0x0,0x4)/USB(1,0)3.!..3.G..A.....
Boot0019* USB FDD: VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,6ff015a28830b543a8b8641009461e49)
Boot001A* USB CD: VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,86701296aa5a7848b66cd49dd3ba6a55)
Vše OK.
A teď pokračujem aktualizací AntiX (mnou zvoleného hlavního) zavaděče v ubuntu!:
Kód: [Vybrat]
radek@radek-ubuntu:~$ sudo mount /dev/nvme0n1p5 /mnt
radek@radek-ubuntu:~$ sudo mount /dev/nvme0n1p1 /mnt/boot/efi
radek@radek-ubuntu:~$ for i in /dev /dev/pts /proc /sys /sys/firmware/efi/efivars /run; do sudo mount -B $i /mnt$i; done
radek@radek-ubuntu:~$ sudo chroot /mnt
root@radek-ubuntu:/# update-grub
Generating grub configuration file ...
Found background: /usr/share/wallpaper/grub/back.png
Found background image: /usr/share/wallpaper/grub/back.png
Found linux image: /boot/vmlinuz-5.10.142-antix.2-amd64-smp
Found initrd image: /boot/initrd.img-5.10.142-antix.2-amd64-smp
Found linux image: /boot/vmlinuz-4.9.0-326-antix.1-amd64-smp
Found initrd image: /boot/initrd.img-4.9.0-326-antix.1-amd64-smp
Found mtest-64.efi image: /boot/uefi-mt/mtest-64.efi
Warning: os-prober will be executed to detect other bootable partitions.
Its output will be used to detect bootable binaries on them and create new boot entries.
Found Linux Mint 21 Vanessa (21) on /dev/nvme0n1p2
Found Arch Linux on /dev/nvme0n1p3
Found Ubuntu 22.04.1 LTS (22.04) on /dev/nvme0n1p4
Adding boot menu entry for UEFI Firmware Settings ...
done
root@radek-ubuntu:/# exit &&
> sudo umount /mnt/sys &&
> sudo umount /mnt/proc &&
> sudo umount /mnt/dev/pts &&
> sudo umount /mnt/dev &&
> sudo umount /mnt
exit
radek@radek-ubuntu:~$ efibootmgr -v
BootCurrent: 0002
Timeout: 0 seconds
BootOrder: 0002,0000,0018,0014,0001,0015,0016,0017,0019,001A
Boot0000* ubuntu HD(1,GPT,4e1b8eb5-027c-4001-94f4-9bbade878ced,0x800,0x30000)/File(\EFI\ubuntu\shimx64.efi)
Boot0001* Windows Boot Manager HD(1,GPT,4e1b8eb5-027c-4001-94f4-9bbade878ced,0x800,0x30000)/File(\EFI\Microsoft\Boot\bootmgfw.efi)WINDOWS.........x...B.C.D.O.B.J.E.C.T.=.{.9.d.e.a.8.6.2.c.-.5.c.d.d.-.4.e.7.0.-.a.c.c.1.-.f.3.2.b.3.4.4.d.4.7.9.5.}...\................
Boot0002* antiX22 HD(1,GPT,4e1b8eb5-027c-4001-94f4-9bbade878ced,0x800,0x30000)/File(\EFI\antiX22\grubx64.efi)
Boot0010  Setup FvFile(721c8b66-426c-4e86-8e99-3457c46ab0b9)
Boot0011  Boot Menu FvFile(86488440-41bb-42c7-93ac-450fbf7766bf)
Boot0012  Diagnostic Splash FvFile(a7d8d9a6-6ab0-4aeb-ad9d-163e59a7a380)
Boot0013  UEFI Diagnostics FvFile(f8397897-e203-4a62-b977-9e7e5d94d91b)
Boot0014* NVMe: SKHynix_HFM512GDHTNI-87A0B              PciRoot(0x0)/Pci(0x2,0x4)/Pci(0x0,0x0)/NVMe(0x1,AC-E4-2E-00-0A-25-73-F2)....2.LN........
Boot0015* ATA HDD: VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,91af625956449f41a7b91f4f892ab0f600)
Boot0016* ATA HDD1: VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,91af625956449f41a7b91f4f892ab0f601)
Boot0017* ATAPI CD: VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,aea2090adfde214e8b3a5e471856a354)
Boot0018* USB HDD: Generic MassStorageClass PciRoot(0x0)/Pci(0x8,0x1)/Pci(0x0,0x4)/USB(1,0)3.!..3.G..A.....
Boot0019* USB FDD: VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,6ff015a28830b543a8b8641009461e49)
Boot001A* USB CD: VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,86701296aa5a7848b66cd49dd3ba6a55)
radek@radek-ubuntu:~$ reboot

Následný start ubuntu a funguje s novým jádrem:
Kód: [Vybrat]
radek@radek-ubuntu:~$ uname -r
6.0.0-060000-generic
Zkrátka se namountuje jak AntiX do /mnt tak EFI do /mnt/boot/efi
Přimountují se i /dev /dev/pts /proc /sys a /sys/firmware/efi/efivars
Pak se chrootnem do AntiXu a updatujem jeho grub. Pak to zase odpojíme a hotovo. Při příštím startu PC už je grub s aktualizovanou nabídkou.
Nevím jak lépe to popsat. Nemusí se používat žádné externí utility, usb disky, ap. Jednodušeji by to šlo rebootem a startem OS který se používá jako hlavní a tam si to vygenerovat. Ale je to o jeden restart více. Jak je vidět, nebyl by problém si na to napsat jednoduchý skript.
Název: Re:Grub u multiboot PC - jak na to?
Přispěvatel: ramael 30 Listopadu 2022, 06:28:30
Sem jdou vkládat jen omezené velikosti obrázků a včera už nebyl čas to pořešit. Tak jsem foto grub nabídky před instalací přiložil k předešlému příspěvku. A v tomto jsou fota po instalaci.
Název: Re:Grub u multiboot PC - jak na to?
Přispěvatel: Ventero 30 Listopadu 2022, 07:54:29
To je pravda - jen se dohaduji o co vlastně jde. Myslím, že o toto:
Kód: [Vybrat]
Takže se to pak "tluče" s grubem z nižší verze.

Jde o to, že ti troubové v přechodu ze stable verze 1.98 na 2.02 a myslím, že i později v přechodu na 2.04 změnili konfigurační syntaxi. A pak je s tím patlačka - je tady na to celé dlouhé vlákno od Dredaté Žížalky tuším, co to může způsobit a jak to řešit. A co jsme se s tím s Juwou natrápili, než jsme se k něšemu dopracovali ...

Tam pokud nesladí verzi grubu ve všech distrech, tak vzniká nějaký renonc a jestli jsem zadání pochopil dobře, tak jde o to, aby toto se provést nemuselo, ale aby se to nějak automaticky bez dalšího zásahu vyřešilo.

Možná už by se měl ozvat Jirka a trochu to upřesnit :)
Název: Re:Grub u multiboot PC - jak na to?
Přispěvatel: ramael 30 Listopadu 2022, 08:37:05
No, ja mam za to, ze grub2 je tu uz od ubu16.04. Je fakt, ze grub2 je komplet jiny nez stary grub. Ale ve verzich o kterych se pise v tomto vlaknu se jedna uz o ten novejsi. Tudiz beze strachu. Muzu pozdeji nainstalovat ubu18 jen core system. Urcite prepise grub a stane se hlavnim. Pak treba v mintu nainstaluju vyssi jadro. A z mintu rovnou aktualizuju grub v ubu18. Pak dam vysledky. Jen to bude chvili trvat. Cas je jedine co mne ted chybi.
Sorry za hacky carky -> mrnavej mobil.
Název: Re:Grub u multiboot PC - jak na to?
Přispěvatel: Ventero 30 Listopadu 2022, 09:16:18
Však ať si JirkaZ chvíli zkouší sám - každý máme nějaké svoje činnosti a i tak mě udivuje, kolik jsi toho ochotný otestovat natvrdo :)
Diakritiku neřeš - na mobilech je to opravdu opruz a všichni rozumíme :)
Název: Re:Grub u multiboot PC - jak na to?
Přispěvatel: JirkaZ 30 Listopadu 2022, 10:30:24
...
Možná už by se měl ozvat Jirka a trochu to upřesnit :)

Jde přesně o to, co jsem napsal výše, neboli novější systém, co jsem mu neinstaloval grub a os-prober, tyto při pozdějších aktualizacích opakovaně chce doinstalovat, čili přepsat to, co instaloval systém starší (a pro mě hlavní).

Jinak to vůbec nehoří a v klidu ten problém ošetřím ručně způsobem, který jsem už taky popsal. Tohle vlákno jsem založil spíš proto, aby vznikl nějaký "brainstorming" a případně z toho vzešly nějaké závěry, tipy, nápady atd. Ona je to stejně celé především "finesa" ve smyslu doladění systému, nic havarijního apod.

Momentálně bohužel nemám čas a ani podmínky na to, abych si "rozvrtal" celé PC na poměrně systémové úrovni. Čili jsem rád, když tentokrát experimentuje někdo jiný (obvykle to dělám sám)...
Název: Re:Grub u multiboot PC - jak na to?
Přispěvatel: ramael 01 Prosince 2022, 01:00:16
Takže je to tak jak jsem psal. Stáhnul jsem ubu18.04 server. Vytvořil spouštěcí disk z sdkarty:
Kód: [Vybrat]
sudo cat ubuntu-18.04.6-live-server-amd64.iso > /dev/sda
A nainstaloval. Z obrázku je patrné přepsání grubu. Reboot a start mintu. V mintu instalace šestkového jádra. Následuje chroot do ubu18 a "aktualizace" grubu. Následný reboot a zůstává grub z ubu18 s aktuálními jádry.
Kód: [Vybrat]
radek@radek-IdeaPad-5-15ARE05:~$ uname -a
Linux radek-IdeaPad-5-15ARE05 5.15.0-53-generic #59-Ubuntu SMP Mon Oct 17 18:53:30 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
radek@radek-IdeaPad-5-15ARE05:~$ mkdir jadro
radek@radek-IdeaPad-5-15ARE05:~$ cd jadro
radek@radek-IdeaPad-5-15ARE05:~/jadro$ wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v6.0/amd64/linux-headers-6.0.0-060000_6.0.0-060000.202210022231_all.deb
--2022-12-01 00:08:38--  https://kernel.ubuntu.com/~kernel-ppa/mainline/v6.0/amd64/linux-headers-6.0.0-060000_6.0.0-060000.202210022231_all.deb
Překládám kernel.ubuntu.com (kernel.ubuntu.com)… 91.189.94.216
Navazuje se spojení s kernel.ubuntu.com (kernel.ubuntu.com)|91.189.94.216|:443… spojeno.
HTTP požadavek odeslán, program čeká na odpověď… 200 OK
Délka: 12688478 (12M) [application/x-debian-package]
Ukládám do: ‘linux-headers-6.0.0-060000_6.0.0-060000.202210022231_all.deb’

linux-headers-6.0.0-060000_6.0.0- 100%[=============================================================>]  12,10M  1,12MB/s    za 12s     

2022-12-01 00:08:51 (1,03 MB/s) – ‘linux-headers-6.0.0-060000_6.0.0-060000.202210022231_all.deb’ uloženo [12688478/12688478]

radek@radek-IdeaPad-5-15ARE05:~/jadro$ wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v6.0/amd64/linux-headers-6.0.0-060000-generic_6.0.0-060000.202210022231_amd64.deb
--2022-12-01 00:09:00--  https://kernel.ubuntu.com/~kernel-ppa/mainline/v6.0/amd64/linux-headers-6.0.0-060000-generic_6.0.0-060000.202210022231_amd64.deb
Překládám kernel.ubuntu.com (kernel.ubuntu.com)… 91.189.94.216
Navazuje se spojení s kernel.ubuntu.com (kernel.ubuntu.com)|91.189.94.216|:443… spojeno.
HTTP požadavek odeslán, program čeká na odpověď… 200 OK
Délka: 3097056 (3,0M) [application/x-debian-package]
Ukládám do: ‘linux-headers-6.0.0-060000-generic_6.0.0-060000.202210022231_amd64.deb’

linux-headers-6.0.0-060000-generi 100%[=============================================================>]   2,95M   896KB/s    za 3,4s   

2022-12-01 00:09:04 (896 KB/s) – ‘linux-headers-6.0.0-060000-generic_6.0.0-060000.202210022231_amd64.deb’ uloženo [3097056/3097056]

radek@radek-IdeaPad-5-15ARE05:~/jadro$ wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v6.0/amd64/linux-image-unsigned-6.0.0-060000-generic_6.0.0-060000.202210022231_amd64.deb
--2022-12-01 00:09:35--  https://kernel.ubuntu.com/~kernel-ppa/mainline/v6.0/amd64/linux-image-unsigned-6.0.0-060000-generic_6.0.0-060000.202210022231_amd64.deb
Překládám kernel.ubuntu.com (kernel.ubuntu.com)… 91.189.94.216
Navazuje se spojení s kernel.ubuntu.com (kernel.ubuntu.com)|91.189.94.216|:443… spojeno.
HTTP požadavek odeslán, program čeká na odpověď… 200 OK
Délka: 12093632 (12M) [application/x-debian-package]
Ukládám do: ‘linux-image-unsigned-6.0.0-060000-generic_6.0.0-060000.202210022231_amd64.deb’

linux-image-unsigned-6.0.0-060000 100%[=============================================================>]  11,53M  1,05MB/s    za 11s     

2022-12-01 00:09:48 (1,02 MB/s) – ‘linux-image-unsigned-6.0.0-060000-generic_6.0.0-060000.202210022231_amd64.deb’ uloženo [12093632/12093632]

radek@radek-IdeaPad-5-15ARE05:~/jadro$ wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v6.0/amd64/linux-modules-6.0.0-060000-generic_6.0.0-060000.202210022231_amd64.deb
--2022-12-01 00:10:21--  https://kernel.ubuntu.com/~kernel-ppa/mainline/v6.0/amd64/linux-modules-6.0.0-060000-generic_6.0.0-060000.202210022231_amd64.deb
Překládám kernel.ubuntu.com (kernel.ubuntu.com)… 91.189.94.216
Navazuje se spojení s kernel.ubuntu.com (kernel.ubuntu.com)|91.189.94.216|:443… spojeno.
HTTP požadavek odeslán, program čeká na odpověď… 200 OK
Délka: 92365796 (88M) [application/x-debian-package]
Ukládám do: ‘linux-modules-6.0.0-060000-generic_6.0.0-060000.202210022231_amd64.deb’

linux-modules-6.0.0-060000-generi 100%[=============================================================>]  88,09M  1,24MB/s    za 88s     s

2022-12-01 00:11:50 (1,00 MB/s) – ‘linux-modules-6.0.0-060000-generic_6.0.0-060000.202210022231_amd64.deb’ uloženo [92365796/92365796]

radek@radek-IdeaPad-5-15ARE05:~/jadro$ sudo dpkg -i *.deb
Vybírá se dosud nevybraný balík linux-headers-6.0.0-060000-generic.
(Načítá se databáze … nyní je nainstalováno 369330 souborů a adresářů.)
Připravuje se nahrazení linux-headers-6.0.0-060000-generic_6.0.0-060000.202210022231_amd64.deb …
Rozbaluje se linux-headers-6.0.0-060000-generic (6.0.0-060000.202210022231) …
Vybírá se dosud nevybraný balík linux-headers-6.0.0-060000.
Připravuje se nahrazení linux-headers-6.0.0-060000_6.0.0-060000.202210022231_all.deb …
Rozbaluje se linux-headers-6.0.0-060000 (6.0.0-060000.202210022231) …
Vybírá se dosud nevybraný balík linux-image-unsigned-6.0.0-060000-generic.
Připravuje se nahrazení linux-image-unsigned-6.0.0-060000-generic_6.0.0-060000.202210022231_amd64.deb …
Rozbaluje se linux-image-unsigned-6.0.0-060000-generic (6.0.0-060000.202210022231) …
Vybírá se dosud nevybraný balík linux-modules-6.0.0-060000-generic.
Připravuje se nahrazení linux-modules-6.0.0-060000-generic_6.0.0-060000.202210022231_amd64.deb …
Rozbaluje se linux-modules-6.0.0-060000-generic (6.0.0-060000.202210022231) …
Nastavuje se balík linux-headers-6.0.0-060000 (6.0.0-060000.202210022231) …
Nastavuje se balík linux-modules-6.0.0-060000-generic (6.0.0-060000.202210022231) …
Nastavuje se balík linux-headers-6.0.0-060000-generic (6.0.0-060000.202210022231) …
/etc/kernel/header_postinst.d/dkms:
 * dkms: running auto installation service for kernel 6.0.0-060000-generic
   ...done.
Nastavuje se balík linux-image-unsigned-6.0.0-060000-generic (6.0.0-060000.202210022231) …
I: /boot/vmlinuz.old is now a symlink to vmlinuz-5.15.0-53-generic
I: /boot/initrd.img.old is now a symlink to initrd.img-5.15.0-53-generic
I: /boot/vmlinuz is now a symlink to vmlinuz-6.0.0-060000-generic
I: /boot/initrd.img is now a symlink to initrd.img-6.0.0-060000-generic
Zpracovávají se spouštěče pro balík linux-image-unsigned-6.0.0-060000-generic (6.0.0-060000.202210022231) …
/etc/kernel/postinst.d/dkms:
 * dkms: running auto installation service for kernel 6.0.0-060000-generic
   ...done.
/etc/kernel/postinst.d/initramfs-tools:
update-initramfs: Generating /boot/initrd.img-6.0.0-060000-generic
W: Possible missing firmware /lib/firmware/amdgpu/ip_discovery.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/vega10_cap.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/sienna_cichlid_cap.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/navi12_cap.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/psp_13_0_7_ta.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/psp_13_0_7_sos.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/psp_13_0_0_ta.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/psp_13_0_0_sos.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/aldebaran_cap.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/psp_13_0_4_ta.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/psp_13_0_4_toc.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/gc_11_0_2_imu.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/gc_11_0_1_imu.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/gc_11_0_0_imu.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/gc_11_0_2_rlc.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/gc_11_0_2_mec.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/gc_11_0_2_me.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/gc_11_0_2_pfp.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/gc_11_0_1_rlc.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/gc_11_0_1_mec.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/gc_11_0_1_me.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/gc_11_0_1_pfp.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/gc_11_0_0_toc.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/gc_11_0_0_rlc.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/gc_11_0_0_mec.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/gc_11_0_0_me.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/gc_11_0_0_pfp.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/sdma_6_0_2.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/sdma_6_0_1.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/sdma_6_0_0.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/sienna_cichlid_mes1.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/sienna_cichlid_mes.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/navi10_mes.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/gc_11_0_2_mes1.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/gc_11_0_2_mes.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/gc_11_0_1_mes1.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/gc_11_0_1_mes.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/gc_11_0_0_mes1.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/gc_11_0_0_mes.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/vcn_4_0_4.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/vcn_4_0_2.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/vcn_4_0_0.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/smu_13_0_7.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/smu_13_0_0.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/dcn_3_2_1_dmcub.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/dcn_3_2_0_dmcub.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/dcn_3_1_4_dmcub.bin for module amdgpu
I: The initramfs will attempt to resume from /dev/nvme0n1p8
I: (UUID=7897ed19-78a5-4478-b129-9f3ddb6c3cf8)
I: Set the RESUME variable to override this.
/etc/kernel/postinst.d/zz-update-grub:
Sourcing file `/etc/default/grub'
Sourcing file `/etc/default/grub.d/50_linuxmint.cfg'
Sourcing file `/etc/default/grub.d/init-select.cfg'
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-6.0.0-060000-generic
Found initrd image: /boot/initrd.img-6.0.0-060000-generic
Found linux image: /boot/vmlinuz-5.15.0-53-generic
Found initrd image: /boot/initrd.img-5.15.0-53-generic
Found linux image: /boot/vmlinuz-5.15.0-41-generic
Found initrd image: /boot/initrd.img-5.15.0-41-generic
Warning: os-prober will be executed to detect other bootable partitions.
Its output will be used to detect bootable binaries on them and create new boot entries.
Found Arch Linux on /dev/nvme0n1p3
Found Ubuntu 22.04.1 LTS (22.04) on /dev/nvme0n1p4
Found antiX (22) on /dev/nvme0n1p5
Found Ubuntu 18.04.6 LTS (18.04) on /dev/nvme0n1p6
Adding boot menu entry for UEFI Firmware Settings ...
done
radek@radek-IdeaPad-5-15ARE05:~/jadro$ sudo mount /dev/nvme0n1p6 /mnt
radek@radek-IdeaPad-5-15ARE05:~/jadro$ sudo mount /dev/nvme0n1p1 /mnt/boot/efi
radek@radek-IdeaPad-5-15ARE05:~/jadro$ for i in /dev /dev/pts /proc /sys /sys/firmware/efi/efivars /run; do sudo mount -B $i /mnt$i; done
radek@radek-IdeaPad-5-15ARE05:~/jadro$ sudo chroot /mnt
root@radek-IdeaPad-5-15ARE05:/# update-grub
Sourcing file `/etc/default/grub'
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-4.15.0-156-generic
Found initrd image: /boot/initrd.img-4.15.0-156-generic
  WARNING: Failed to connect to lvmetad. Falling back to device scanning.
Found Linux Mint 21 Vanessa (21) on /dev/nvme0n1p2
Found Arch Linux on /dev/nvme0n1p3
Found Ubuntu 22.04.1 LTS (22.04) on /dev/nvme0n1p4
Found antiX (22) on /dev/nvme0n1p5
Adding boot menu entry for EFI firmware configuration
done
root@radek-IdeaPad-5-15ARE05:/# exit &&
> sudo umount /mnt/sys &&
> sudo umount /mnt/proc &&
> sudo umount /mnt/dev/pts &&
> sudo umount /mnt/dev &&
> sudo umount /mnt
exit
radek@radek-IdeaPad-5-15ARE05:~/jadro$ reboot
Název: Re:Grub u multiboot PC - jak na to?
Přispěvatel: ramael 01 Prosince 2022, 01:02:16
Se tam nevešlo do předchozího příspěvku.
Název: Re:Grub u multiboot PC - jak na to?
Přispěvatel: juwa2 01 Prosince 2022, 01:08:08
Já bych to tedy nakonec shrnul - maximálně zestručnil:
Po instalaci "novějšího" OS je vždy třeba následně jít do staršího OS (chroot) a aktualizovat grub. Pak bude výchozím grubem ten naposled aktualizovaný = ten ze staršího OS.
Název: Re:Grub u multiboot PC - jak na to?
Přispěvatel: ramael 01 Prosince 2022, 01:13:58
Já bych to tedy nakonec shrnul - maximálně zestručnil:
Po instalaci "novějšího" OS je vždy třeba následně jít do staršího OS (chroot) a aktualizovat grub. Pak bude výchozím grubem ten naposled aktualizovaný = ten ze staršího OS.
Ano, jen to bylo třeba podepřít praktickým testem. Chtěl jsem jít do ještě nižší verze kvůli rozdílnému grubu, ale instalace na EFI je problematická a už se mne nechtělo řešit něco co už je stejně za náma.
Název: Re:Grub u multiboot PC - jak na to?
Přispěvatel: Ventero 01 Prosince 2022, 08:52:12
No to mi přijde docela komplikované - to už bych mohl rovnou restartovat a aktualizovat grub zase z té nižší verze. Nebo mi něco uniklo?

Kód: [Vybrat]
for i in /dev /dev/pts /proc /sys /sys/firmware/efi/efivars /run; do sudo mount -B $i /mnt$i; done
Tohle dělá co a proč to tam musí být?

A proč tohle a co tam dělají ty výstupní znaky ">"? Nestačilo by odpojit jen to co se ručně připojilo?
Kód: [Vybrat]
exit &&
> sudo umount /mnt/sys &&
> sudo umount /mnt/proc &&
> sudo umount /mnt/dev/pts &&
> sudo umount /mnt/dev &&
> sudo umount /mnt
exit
Název: Re:Grub u multiboot PC - jak na to?
Přispěvatel: ramael 01 Prosince 2022, 10:15:03
Tohle, připojí systémové složky. Hrál jsem si s tím. Avšak jakmile se nějaká vynechá, končí to chybou:
Kód: [Vybrat]
for i in /dev /dev/pts /proc /sys /sys/firmware/efi/efivars /run; do sudo mount -B $i /mnt$i; doneA tohle
Kód: [Vybrat]
exit &&
> sudo umount /mnt/sys &&
> sudo umount /mnt/proc &&
> sudo umount /mnt/dev/pts &&
> sudo umount /mnt/dev &&
> sudo umount /mnt
exit
to zase odpojí. Vynechání má za následek neodpojení celé větve /mnt
Je to jeden dlouhý řádek:
Kód: [Vybrat]
exit && sudo umount /mnt/sys && sudo umount /mnt/proc && sudo umount /mnt/dev/pts && sudo umount /mnt/dev && sudo umount /mntkterý to opět odpojí. Popravdě řečeno, jak jsem si s tím hrál, stačilo by jednodušší elegantnější řešení na odpojení:
Kód: [Vybrat]
sudo umount -R /mnt

Může se stát, že se nechtěný grub paličatě drží a ne a ne se ho zbavit. Pak je řešení se přepnout do systému a zadat
Kód: [Vybrat]
sudo grub-install /dev/nvme0n1p5
Kde /dev/nvme0n1p5 je oddíl na kterém je spuštěný preferovaný OS.

Nejsem takový specialista abych to vše střihal z hlavy. Je třeba si uvědomit, že chroot je něco jako sandbox. Není to, že by tím člověk spustil jiný systém v sytému. Ale jen proces v rámci systému. A náš proces bysme spustili v neběžícím systému, neaktuálním. Proto je třeba vybrané složky znova připojit, s aktuálním stavem který poskytne běžící systém. Ač výpis připojeného /mnt budí zdání, že je tam vše. Pomocí mount -B tam toho bude víc :-)
Příklad:
Kód: [Vybrat]
Radek@antix1:~
$ sudo mount /dev/nvme0n1p6 /mnt
[sudo] heslo pro Radek:
Radek@antix1:~
$ sudo mount /dev/nvme0n1p1 /mnt/boot/efi
Radek@antix1:~
$ sudo chroot /mnt
root@antix1:/# update-grub
/usr/sbin/grub-probe: error: cannot find a device for / (is /dev mounted?).
root@antix1:/# ls /dev
fd  full  null  ptmx  pts  random  shm  stderr  stdin  stdout  tty  urandom  zero
root@antix1:/# ls -a /dev
.  ..  fd  full  null  ptmx  pts  random  shm  stderr  stdin  stdout  tty  urandom  zero
root@antix1:/# exit
Radek@antix1:~
$ sudo mount -B /dev /mnt/dev
Radek@antix1:~
$ sudo chroot /mnt
root@antix1:/# ls -a /dev
.                drm_dp_aux1   loop1      nvme0n1p2  ram11   rtc0      tty16  tty30  tty45  tty6     userio  vcsa6        video1
..               fb0           loop2      nvme0n1p3  ram12   shm       tty17  tty31  tty46  tty60    v4l     vcsa7        watchdog
MAKEDEV          fd            loop3      nvme0n1p4  ram13   snapshot  tty18  tty32  tty47  tty61    vcs     vcsu         watchdog0
autofs           full          loop4      nvme0n1p5  ram14   snd       tty19  tty33  tty48  tty62    vcs1    vcsu1        zero
block            fuse          loop5      nvme0n1p6  ram15   stderr    tty2   tty34  tty49  tty63    vcs2    vcsu2
btrfs-control    gpiochip0     loop6      nvme0n1p7  ram2    stdin     tty20  tty35  tty5   tty7     vcs3    vcsu3
bus              gpmctl        loop7      nvme0n1p8  ram3    stdout    tty21  tty36  tty50  tty8     vcs4    vcsu4
char             hidraw0       mapper     nvram      ram4    tty       tty22  tty37  tty51  tty9     vcs5    vcsu5
console          hpet          mcelog     port       ram5    tty0      tty23  tty38  tty52  ttyS0    vcs6    vcsu6
core             hwrng         media0     ppp        ram6    tty1      tty24  tty39  tty53  ttyS1    vcs7    vcsu7
cpu_dma_latency  input         mem        psaux      ram7    tty10     tty25  tty4   tty54  ttyS2    vcsa    vfio
cuse             kfd           net        ptmx       ram8    tty11     tty26  tty40  tty55  ttyS3    vcsa1   vga_arbiter
disk             kmsg          null       pts        ram9    tty12     tty27  tty41  tty56  udmabuf  vcsa2   vhci
dma_heap         kvm           nvme0      ram0       random  tty13     tty28  tty42  tty57  uhid     vcsa3   vhost-net
dri              loop-control  nvme0n1    ram1       rfkill  tty14     tty29  tty43  tty58  uinput   vcsa4   vhost-vsock
drm_dp_aux0      loop0         nvme0n1p1  ram10      rtc     tty15     tty3   tty44  tty59  urandom  vcsa5   video0
root@antix1:/#

Shrnu výsledný kód:
Kód: [Vybrat]
sudo mount /dev/nvme0n1p5 /mnt
sudo mount /dev/nvme0n1p1 /mnt/boot/efi
for i in /dev /dev/pts /proc /sys /sys/firmware/efi/efivars /run; do sudo mount -B $i /mnt$i; done
sudo chroot /mnt
# už v chrootu:
update-grub
exit
$mimo chroot
sudo umount -R /mnt
Kde /dev/nvme0n1p5 je diskový oddíl kde je nainstalován systém s preferovaným grubem
A /dev/nvme0n1p1 je oddíl s EFI
Fertig
Je zajímavé, že ty testy mě zabírají desetinu času toho jak to pak popsat, vyjádřit se.
Název: Re:Grub u multiboot PC - jak na to?
Přispěvatel: Ventero 01 Prosince 2022, 21:36:51
Výborná práce.
Název: Re:Grub u multiboot PC - jak na to?
Přispěvatel: juwa2 02 Prosince 2022, 00:42:05
Zatímco dříve jsem každou novinku/aktualizaci spíše vítal, nyní se jich (právem) děsím.  :-\
Zrovna před chvílí mi zde přistála aktualizace grubu. Bez vytvoření snapshotu (timeshift) bych se nyní neodvážil ji nainstalovat ani náhodou. To hovoří za mnohé... :-[
A různé "klacky pod nohy" samozř. následují.   Např. prohlížeč opera (v.93) už nejde v U18.04 nainstalovat/aktualizovat - nesplnitelné závislosti (verze libqt5gui5).  Samozřejmě, nabízí se verze snap - děkuji, tento hnůj nechci.... ;D
Název: Re:Grub u multiboot PC - jak na to?
Přispěvatel: ramael 02 Prosince 2022, 03:13:23
Tak zrovna toho grubu bych se nebál. Asi nejjednodušeji a nejjednodušší řešení tu už nastínil @Ventero:
Citace
No to mi přijde docela komplikované - to už bych mohl rovnou restartovat a aktualizovat grub zase z té nižší verze.
Já to bral tak, že @JirkaZ chce po instalaci mít rovnou nový kernel v nabídce. Tím odpadne jeden restart. grub2 je dle mne jednodušší než byl grub. Ač píšeme grub, stejně už je to dvojková verze. Dříve se museli editovat dva soubory, pokud si pamatuju. Dnes stačí jeden a ještě navíc má hodně jednoduchou syntaxi. Příklad mého grubu:
Kód: [Vybrat]
[radek@radkuv-arch ~]$ cat /media/radek/antix/etc/default/grub
# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
#   info -f grub -n 'Simple configuration'

GRUB_DEFAULT=saved
GRUB_SAVEDEFAULT=true
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR=`grep PRETTY_NAME /etc/lsb-release | cut -d= -f2 | cut -d\" -f2 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet"
GRUB_CMDLINE_LINUX=""
GRUB_FONT=/boot/grub/fonts/DejaVuSansMono24.pf2

# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"

# Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL=console

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
#GRUB_GFXMODE=640x480

# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true

# Uncomment to disable generation of recovery mode menu entries
GRUB_DISABLE_RECOVERY="true"

# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"

GRUB_DISABLE_OS_PROBER=false
GRUB_BACKGROUND=/usr/share/wallpaper/grub/back.png
To je jen "template". Vlastní font včetně velikosti je super. Protože základ se nedá na HiDPI monitoru číst jak je to mrňavý. Backgroundimage je už jen taková hračičková třešínka. Koukal jsem, že ostatní příslušné soubory jsou vlastně skripty. Takže si to člověk určitě může přiohnout. Kdežto u starého grubu mám za to, že takové věci nešli a tak jsem jen zadal nižší rozlišení monitoru a texťák.
Je fakt, že z těch novinek co na nás hrnou dodavatelé všeho možného mi bývá také úzko. Jen se na to musím podívat blíže, než to pošlu do mezi půlky. Zrovna včera jsem byl dost mrzutý z toho, že v antiXu se moc dobře nechoval můj touchpad. Juknul jsem na konfigurák xorgu a ejhle. Ono se to snaží používat starý synaptic. Chvíli jsem se snažil nastavit mnou vyžadované chování. Ale nešlo to dle mých představ. A tak jsem to přepsal ať to používá ten zatracenej libinput plus mnou vyžadované nastavení a ono to funguje přesně jak má. A pak jsou chvíle, kdy si říkám, že si ty "novinky" sami zbytečně instalujem, používáme a tím dáváme tvůrcům legitimitu pokračovat. Schválně kdo má kolik a jakých vymakaných programů na vytvoření instalačního disku z iso souboru? A přitom prográmek co to zvládne je v core už snad od počátků. Což jsem sem schválně nadhodil už včera, jen se nikdo nechytil:
Citace
Stáhnul jsem ubu18.04 server. Vytvořil spouštěcí disk z sdkarty:
Kód: [Vybrat]
sudo cat ubuntu-18.04.6-live-server-amd64.iso > /dev/sda
Název: Re:Grub u multiboot PC - jak na to?
Přispěvatel: Ventero 02 Prosince 2022, 09:20:14
Citace
Asi nejjednodušeji a nejjednodušší řešení tu už nastínil @Ventero
Nemám tak dobrej mozek na pochopení a tolik energie na testy, takže mi nezbývá, než mít těžiště syntézy na pokud možno nejjednodušší řešení.
A pokud bych chtěl docílit něčeho takového se vším všudy, tak na tohle co ty, bych nejspíše nikdy nepřišel a nakonec bych to řešil force editací konfigurace grubu. Ale spíš bych se na to vykašlal úplně, protože stabilní systém prostě neaktualizuji, toliko po potřebných částech, dle ducha, který nastínil Juwa.
Citace
grub2 je dle mne jednodušší než byl grub
To si nemyslím - konfiguračně a syntaxně je podle mě složitější, ale to by bylo na dlouhou diskuzi. Nejlepší na práci s tím, co jsem v téhle oblasti viděl byl modifikovaný grub1 a to grub4dos - jasně strukturované zavádění včetně možnosti tzv. tvrdý loop definovaný přímo na nosič, takže šel pomocí jednoduchého parametru instalovat i Win z ISO. To grub2 neumí. Respektive je třeba poměrně dost opičáren s tuším vytvořením nějakého ramdisku apod., což vyžaduje mnoho operační paměti a je to dost vošajzlich.
Kód: [Vybrat]
/etc/default/grubTohle je ta oblast, kde bez varování změnili syntaxi, takže přechod z 1.98 respektive z 2.02 na 2.2 byl opravdu problém, zvláště při multiboot - grub2 končil v safemodu a nebyl schopný některé distribuce v kombinaci s některými řadiči nabootovat - jen tu svou nativní, která ho zavedla.
Citace
Protože základ se nedá na HiDPI monitoru číst jak je to mrňavý
To se řeší nejjednodušeji vynucením rozlišení zde, což jsi později naznačil, že jsi to takto řešil dříve:
Kód: [Vybrat]
#GRUB_GFXMODE=640x480Co mě také na grub2 vadí, že plnohodnotně nefunguje, pokud se nenahraje jedna jeho pasáž do jakéhosi meziprostoru na disku, kde je ale dohledatelná jen pomocí spec. nástrojů a v hexu.
Grub2 je přesofistikovaná monstrózní koncepce a nese to sebou jistý diskomfort a je to přesně v tom mimózním a perverzním duchu dnešní mentality vývojářů a je to vskutku, jak psal opět Juwa, děsivé. O to více, když si uvědomíme, že tohle bude příčina zániku civilizace.
Citace
A pak jsou chvíle, kdy si říkám, že si ty "novinky" sami zbytečně instalujem, používáme a tím dáváme tvůrcům legitimitu pokračovat.
Myslím, že běžnější uživatel nemá moc na výběr - oni to tam prostě propašují a také jak vymýšlí spoustu hovadin, tak dělají chyby. Třeba s tím synaptic/libinput je to známá věc a to je interní bug, když si to sytém takto špatně vyhodnotí a uživatel si to musí přepsat sám. A to je jen špička ledovce - vývojáři, místo aby to posunuli, tak se pomalu vracíme daleko před rok 2014, kde byl Linux jen pro profíky.
Bez internetu a fór by na min. 1/2 HW např. Ubu a spol. ani celkem uspokojivě neběželo .. Je to cesta do pekel ..
Citace
Schválně kdo má kolik a jakých vymakaných programů na vytvoření instalačního disku z iso souboru?
Tady to tak jednoduché není - pokud chce člověk mít multiboot flashku a ještě ji zároveň používat jako datovou, tak je třeba to pojmout jinak. Osobně takový program nemám žádný - dělám si takový nosič ručně na bázi grub2 nebo kombinace grub2 a syslinux, když si chci ulehčit začátek Rufusem (syslinux ale opravdu nemám rád - je pro mě kvůli uzavřeným modulům ještě méně uchopitelný) a zveřejnil jsem podrobný návod zde i na stránkách LM.
Mimochodem Rufus je opravdu extratřída a dosud není port na Linux, přestože kód je otevřeně k dispozici a autor k tomu vyzval.
Neznáte někdo někoho, kdo by se ujmul kompilace? Tato aplikace prostě na Linux chybí ..
Citace
A přitom prográmek co to zvládne je v core už snad od počátků. Což jsem sem schválně nadhodil už včera, jen se nikdo nechytil:
Ale chytil - říkal jsem si, že to je zajímavé řešení a jaké to má asi odlišnosti oproti užití DD, který je také snad vždy přítomný v systému, coby základní výbava ..

Název: Re:Grub u multiboot PC - jak na to?
Přispěvatel: ramael 02 Prosince 2022, 12:31:09
Jen je to s cat jednodušší ;-)
Já si nemůžu pomoc, ale mě ten grub2 přijde docela ok. Je fakt, že předešlý grub jsem používal jen chvíli před hódně lety. S dovolením sem hodím krátký návod s příkladem na úpravu menu. Nejdříve si přečtu co je vygenerováno v /boot/grub/grub.cfg A tam je mimo jiné:
Kód: [Vybrat]
menuentry 'Arch Linux on /dev/nvme0n1p3' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinu
x-simple-ef406b82-d644-4133-8569-82642c864955' {
        savedefault
        insmod part_gpt
        insmod ext2
        search --no-floppy --fs-uuid --set=root ef406b82-d644-4133-8569-82642c864955
        linux /boot/vmlinuz-linux root=/dev/nvme0n1p3
        initrd /boot/initramfs-linux.img
}
Nakopíruju to a přidám to na konec souboru /etc/grub.d/40_custom
Ještě to malinko poupravím a výsledek:
Kód: [Vybrat]
#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.
menuentry 'Můj Arch Linux' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinu
x-simple-ef406b82-d644-4133-8569-82642c864955' {
        savedefault
        insmod part_gpt
        insmod ext2
        search --no-floppy --fs-uuid --set=root ef406b82-d644-4133-8569-82642c864955
        linux /boot/vmlinuz-linux root=/dev/nvme0n1p3
        initrd /boot/initramfs-linux.img
}
Což mne vytvoří novou položku v menu grubu. Pak bych mohl spustit Arch jak výběrem Arch Linux on /dev/nvme0n1p3
tak i výběrem Můj Arch Linux což se může hodit pokud bych testoval spouštění daného systému s různými parametry jádra. Můj cíl to není a tak os-proberu nařídím aby tuto položku ignoroval editací souboru /etc/default/grub
Kód: [Vybrat]
# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
#   info -f grub -n 'Simple configuration'

GRUB_DEFAULT=saved
GRUB_SAVEDEFAULT=true
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR=`grep PRETTY_NAME /etc/lsb-release | cut -d= -f2 | cut -d\" -f2 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet"
GRUB_CMDLINE_LINUX=""
GRUB_FONT=/boot/grub/fonts/DejaVuSansMono24.pf2


# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"

# Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL=console

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
#GRUB_GFXMODE=640x480

# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true

# Uncomment to disable generation of recovery mode menu entries
GRUB_DISABLE_RECOVERY="true"

# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"

GRUB_DISABLE_OS_PROBER=false
GRUB_BACKGROUND=/usr/share/wallpaper/grub/back.png
GRUB_OS_PROBER_SKIP_LIST="ef406b82-d644-4133-8569-82642c864955@/dev/nvme0n1p3"
Všimnite si posledního řádku a parametru ve tvaru <UUID>@<EFI FILE>
Pak už jen stačí
Kód: [Vybrat]
sudo update-grub
reboot
a je hotovo. Nové grub menu s vlastním výběrem. Ok, je to taková blbůstka. Ale pokud si třeba do nějakého systému nainstaluju nějaké extra jádro a chci ho spustit nebo testovat s přidanýma parametrama. Jen přidám sekci do /etc/grub.d/40_custom a je to. Příkaz update-grub načte a automaticky vloží defaultní nastavení do /boot/grub/grub.cfg a ještě tam vloží obsah menu co jsem vložil do 40_custom. Pak se může daný OS spustit jak v základu, tak s extra parametry.
Přiznám se , že mne teď na rychlo nenapadá jaký parametr bych měl přidat. Ale tvar je v tomto formátu při mém 40_custom souboru
Kód: [Vybrat]
linux /boot/vmlinuz-linux root=/dev/nvme0n1p3 sem se přidávají parametry oddělené mezerou
Pokud bych neměl globálně v /etc/default/grub nastaveno
Kód: [Vybrat]
GRUB_CMDLINE_LINUX_DEFAULT="quiet"
Přidal bych to do mého menu takto:
Kód: [Vybrat]
linux /boot/vmlinuz-linux root=/dev/nvme0n1p3 quiet
Jednoduše můžu spouštět sytém s různými parametry aniž bych se bál že mě něco nenaskočí a budu v ...
Alespoň tak to vnímám já.
Název: Re:Grub u multiboot PC - jak na to?
Přispěvatel: ramael 10 Prosince 2022, 00:14:12
Jsem se tomu tročku koukl na zoubek. Myšlenky běželi tímto směrem -> Po každé instalaci jádra se automaticky volá update-grub. Který obsahuje jen volání grub-mkconfig. Takže se automaticky volaný skript nahradí mým skriptem. Který načte pořadí bootu při staré konfiguraci. Pak následuje náma známá část s chrootem kde je třeba spustit už jen originál volání grub-mkconfig.
A nakonec nastavit boot pořadí jak bylo před instalací. Je třeba si v novém skriptu update-grub přepsat dvě adresy aby to sedělo na váš systém.
Je to hodně jednoduché ba přímo primitivně udělané bez kontroly chyb atd. Avšak jak je v testu vidět, tak to funguje dobře (minimálně u mne).

Vše následující jsem dělal jako root:
Kód: [Vybrat]
sudo -i
Smazal jsem symlink update-grub2 a přejmenoval update-grub na update-grub2. Takže pokud budu chtít někdy použít originál, napíšu jen update-grub2:
Kód: [Vybrat]
unlink /usr/sbin/update-grub2
mv /usr/sbin/update-grub /usr/sbin/update-grub2
Pak jsem vytvořil nový soubor update-grub:
Kód: [Vybrat]
>/usr/sbin/update-grub
chmod +x /usr/sbin/update-grub
A do něho vložil toto:
Kód: [Vybrat]
#! /usr/bin/env bash

# uloží se pořadí bootu do proměnné $poradi
echo čtu pořadí
read -r ffff poradi < <(efibootmgr | grep ^BootOrder)
# připojí se partition s hlavním grub OS na /mnt
# u mne je to na /dev/nvme0n1p5
echo připojuji oddíl s OS
mount /dev/nvme0n1p5 /mnt
# Připojí se EFI partition do souborového systému hlavního OS
# u mne je to /dev/nvme0n1p1
echo Připojuji EFI
mount /dev/nvme0n1p1 /mnt/boot/efi
echo Připojuji důležité body systému
for i in /dev /dev/pts /proc /sys /sys/firmware/efi/efivars /run; do mount -B $i /mnt$i; done
# chroot do /mnt a spuštění update grubu
echo chrootuji se a spouštím update-grub
chroot /mnt grub-mkconfig -o /boot/grub/grub.cfg
# vyskočí se z chroot
echo ***********************vyskočil jsem*************
# odpojí se /mnt
umount -R /mnt
# vrátí se původní pořadí
echo Odpojeno, jdu vrátit boot
efibootmgr -o $poradi
Mám to komentované.
Test.
Opět instalace nového jádra a stejně to přinutí grub aby to bylo po našem:
Kód: [Vybrat]
root@radek-ubuntu:~# wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v6.0/amd64/linux-headers-6.0.0-060000_6.0.0-060000.202210022231_all.deb
--2022-12-09 23:18:37--  https://kernel.ubuntu.com/~kernel-ppa/mainline/v6.0/amd64/linux-headers-6.0.0-060000_6.0.0-060000.202210022231_all.deb
Překládám kernel.ubuntu.com (kernel.ubuntu.com)… 91.189.94.216
Navazuje se spojení s kernel.ubuntu.com (kernel.ubuntu.com)|91.189.94.216|:443… spojeno.
HTTP požadavek odeslán, program čeká na odpověď… 200 OK
Délka: 12688478 (12M) [application/x-debian-package]
Ukládám do: ‘linux-headers-6.0.0-060000_6.0.0-060000.202210022231_all.deb’

   linux-headers-6.0.0-060000_6.0.0-  13%[========>                                                            ]   1,68M   510KB/s    zbývá 22s  ^x-headers-6.0.0-060000_6.0.0-060000.  25%[================>                                                    ]   3,10M   711KB/s    zbývá 16s  ^linux-headers-6.0.0-060000_6.0.0-060 100%[====================================================================>]  12,10M   984KB/s    za 15s     

2022-12-09 23:18:53 (840 KB/s) – ‘linux-headers-6.0.0-060000_6.0.0-060000.202210022231_all.deb’ uloženo [12688478/12688478]

root@radek-ubuntu:~# wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v6.0/amd64/linux-headers-6.0.0-060000-generic_6.0.0-060000.202210022231_amd64.deb
--2022-12-09 23:20:37--  https://kernel.ubuntu.com/~kernel-ppa/mainline/v6.0/amd64/linux-headers-6.0.0-060000-generic_6.0.0-060000.202210022231_amd64.deb
Překládám kernel.ubuntu.com (kernel.ubuntu.com)… 91.189.94.216
Navazuje se spojení s kernel.ubuntu.com (kernel.ubuntu.com)|91.189.94.216|:443… spojeno.
HTTP požadavek odeslán, program čeká na odpověď… 200 OK
Délka: 3097056 (3,0M) [application/x-debian-package]
Ukládám do: ‘linux-headers-6.0.0-060000-generic_6.0.0-060000.202210022231_amd64.deb’

linux-headers-6.0.0-060000-generic_6 100%[====================================================================>]   2,95M   845KB/s    za 3,7s   

2022-12-09 23:20:41 (817 KB/s) – ‘linux-headers-6.0.0-060000-generic_6.0.0-060000.202210022231_amd64.deb’ uloženo [3097056/3097056]

root@radek-ubuntu:~# wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v6.0/amd64/linux-image-unsigned-6.0.0-060000-generic_6.0.0-060000.202210022231_amd64.deb
--2022-12-09 23:21:49--  https://kernel.ubuntu.com/~kernel-ppa/mainline/v6.0/amd64/linux-image-unsigned-6.0.0-060000-generic_6.0.0-060000.202210022231_amd64.deb
Překládám kernel.ubuntu.com (kernel.ubuntu.com)… 91.189.94.216
Navazuje se spojení s kernel.ubuntu.com (kernel.ubuntu.com)|91.189.94.216|:443… spojeno.
HTTP požadavek odeslán, program čeká na odpověď… 200 OK
Délka: 12093632 (12M) [application/x-debian-package]
Ukládám do: ‘linux-image-unsigned-6.0.0-060000-generic_6.0.0-060000.202210022231_amd64.deb’

linux-image-unsigned-6.0.0-060000-ge 100%[====================================================================>]  11,53M  1,06MB/s    za 12s     

2022-12-09 23:22:02 (966 KB/s) – ‘linux-image-unsigned-6.0.0-060000-generic_6.0.0-060000.202210022231_amd64.deb’ uloženo [12093632/12093632]

root@radek-ubuntu:~# wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v6.0/amd64/linux-modules-6.0.0-060000-generic_6.0.0-060000.202210022231_amd64.deb
--2022-12-09 23:22:41--  https://kernel.ubuntu.com/~kernel-ppa/mainline/v6.0/amd64/linux-modules-6.0.0-060000-generic_6.0.0-060000.202210022231_amd64.deb
Překládám kernel.ubuntu.com (kernel.ubuntu.com)… 91.189.94.216
Navazuje se spojení s kernel.ubuntu.com (kernel.ubuntu.com)|91.189.94.216|:443… spojeno.
HTTP požadavek odeslán, program čeká na odpověď… 200 OK
Délka: 92365796 (88M) [application/x-debian-package]
Ukládám do: ‘linux-modules-6.0.0-060000-generic_6.0.0-060000.202210022231_amd64.deb’

linux-modules-6.0.0-060000-generic_6 100%[====================================================================>]  88,09M   802KB/s    za 97s     s

2022-12-09 23:24:19 (930 KB/s) – ‘linux-modules-6.0.0-060000-generic_6.0.0-060000.202210022231_amd64.deb’ uloženo [92365796/92365796]

root@radek-ubuntu:~# dpkg -i *.deb
(Načítá se databáze … nyní je nainstalováno 236562 souborů a adresářů.)
Připravuje se nahrazení linux-headers-6.0.0-060000-generic_6.0.0-060000.202210022231_amd64.deb …
Rozbaluje se linux-headers-6.0.0-060000-generic (6.0.0-060000.202210022231) přes (6.0.0-060000.202210022231) …
Připravuje se nahrazení linux-headers-6.0.0-060000_6.0.0-060000.202210022231_all.deb …
Rozbaluje se linux-headers-6.0.0-060000 (6.0.0-060000.202210022231) přes (6.0.0-060000.202210022231) …
Připravuje se nahrazení linux-image-unsigned-6.0.0-060000-generic_6.0.0-060000.202210022231_amd64.deb …
Rozbaluje se linux-image-unsigned-6.0.0-060000-generic (6.0.0-060000.202210022231) přes (6.0.0-060000.202210022231) …
Připravuje se nahrazení linux-modules-6.0.0-060000-generic_6.0.0-060000.202210022231_amd64.deb …
Rozbaluje se linux-modules-6.0.0-060000-generic (6.0.0-060000.202210022231) přes (6.0.0-060000.202210022231) …
Nastavuje se balík linux-headers-6.0.0-060000 (6.0.0-060000.202210022231) …
Nastavuje se balík linux-modules-6.0.0-060000-generic (6.0.0-060000.202210022231) …
Nastavuje se balík linux-headers-6.0.0-060000-generic (6.0.0-060000.202210022231) …
Nastavuje se balík linux-image-unsigned-6.0.0-060000-generic (6.0.0-060000.202210022231) …
Zpracovávají se spouštěče pro balík linux-image-unsigned-6.0.0-060000-generic (6.0.0-060000.202210022231) …
/etc/kernel/postinst.d/initramfs-tools:
update-initramfs: Generating /boot/initrd.img-6.0.0-060000-generic
I: The initramfs will attempt to resume from /dev/nvme0n1p8
I: (UUID=7897ed19-78a5-4478-b129-9f3ddb6c3cf8)
I: Set the RESUME variable to override this.
/etc/kernel/postinst.d/zz-update-grub:
čtu pořadí
připojuji oddíl s OS
Připojuji EFI
Připojuji důležité body systému
chrootuji se a spouštím update-grub
Generating grub configuration file ...
Found background: /usr/share/wallpaper/grub/back.png
Found background image: /usr/share/wallpaper/grub/back.png
Found linux image: /boot/vmlinuz-5.10.142-antix.2-amd64-smp
Found initrd image: /boot/initrd.img-5.10.142-antix.2-amd64-smp
Found linux image: /boot/vmlinuz-4.9.0-326-antix.1-amd64-smp
Found initrd image: /boot/initrd.img-4.9.0-326-antix.1-amd64-smp
Found mtest-64.efi image: /boot/uefi-mt/mtest-64.efi
Warning: os-prober will be executed to detect other bootable partitions.
Its output will be used to detect bootable binaries on them and create new boot entries.
Found Linux Mint 21 Vanessa (21) on /dev/nvme0n1p2
Skipped Arch Linux on /dev/nvme0n1p3 by user request.
Found Ubuntu 22.04.1 LTS (22.04) on /dev/nvme0n1p4
Found Ubuntu 18.04.6 LTS (18.04) on /dev/nvme0n1p6
Adding boot menu entry for UEFI Firmware Settings ...
done
***********************vyskočil jsem*************
Odpojeno, jdu vrátit boot
BootCurrent: 0001
Timeout: 0 seconds
BootOrder: 0001,0018,0014,0015,0016,0017,0019,001A
Boot0000* ubuntu
Boot0001* antix-22
Boot0010  Setup
Boot0011  Boot Menu
Boot0012  Diagnostic Splash
Boot0013  UEFI Diagnostics
Boot0014* NVMe: SKHynix_HFM512GDHTNI-87A0B             
Boot0015* ATA HDD:
Boot0016* ATA HDD1:
Boot0017* ATAPI CD:
Boot0018* USB HDD:
Boot0019* USB FDD:
Boot001A* USB CD:
reboot
A start mnou preferovaného grubu s položkou nového jádra bez následného hraní si v terminálu.
Vypichuji, že jsem vlastně jen stáhnul a nainstaloval šestkové jádro. Vše ostatní proběhlo samo.
Název: Re:Grub u multiboot PC - jak na to?
Přispěvatel: ramael 31 Prosince 2022, 13:09:38
Dnes jsem narazil na malý problém kdy os_prober vynechal jedno jádro. A ani za boha ho "nechtěl" vidět. A tak jsem jedním řádkem upravil skript a už to funguje.
/usr/sbin/update-grub
Kód: [Vybrat]
#! /usr/bin/env bash

# uloží se pořadí bootu do proměnné $poradi
echo čtu pořadí
read -r ffff poradi < <(efibootmgr | grep ^BootOrder)
# spuštění "lokálního" update grubu
update-grub2
# připojí se partition s hlavním OS grub na /mnt
echo připojuji oddíl s OS
mount /dev/nvme0n1p5 /mnt
# Připojí se EFI partition do souborového systému hlavního OS
echo Připojuji EFI
mount /dev/nvme0n1p1 /mnt/boot/efi
echo Připojuji důležité body systému
for i in /dev /dev/pts /proc /sys /sys/firmware/efi/efivars /run; do mount -B $i /mnt$i; done
# chroot do /mnt
echo chrootuji se
chroot /mnt grub-mkconfig -o /boot/grub/grub.cfg
# vyskočí se z chroot
echo ***********************vyskočil jsem*************
# odpojí se /mnt
umount -R /mnt
# vrátí se původní pořadí
echo Odpojeno, jdu vrátit boot
efibootmgr -o $poradi
Skript nejprve načte pořadí bootu. Pak nechá provést update grubu aktuálním systémem a pak provede update grubu preferovaného systému. A poté zapíše zpět pořadí bootu.
Pro jistotu ještě připojím /usr/sbin/update-grub2
Kód: [Vybrat]
#!/bin/sh
set -e
exec grub-mkconfig -o /boot/grub/grub.cfg "$@"
Aby případný čtenář nemusel číst historii tohoto vlákna.
Název: Re:Grub u multiboot PC - jak na to?
Přispěvatel: ramael 25 Ledna 2023, 17:50:12
Ještě se vrátím k tématu. Narazil jsem na jednodušší řešení. Stačí nainstalovat arch-install-scripts, mountnout systém v kterém je preferovaný grub. Dejme tomu do /mnt Pak se do něho chrootnout pomocí arch-chroot a tam spustit update-grub:
Kód: [Vybrat]
sudo -i
mount /dev/system_s _preferovaným_grubem /mnt
arch-chroot /mnt
update-grub
exit
Skript sám připojí všechny důležité body systému a spustí bash chrootnutého systému. Tz. že se spouští programy chrootnutého systému a né "hostitele". Takže pokud systém z kterého voláte arch-chroot nemá nainstalováno třeba vim a v chrootnutém systému je, tak ho tam spustíte. Jinak řečeno update-grub v arch-chrootu se spustí v rámci daného systému.
Ještě jinak řečeno Arch, Artix a Void mám bez grubu a přesto spustím update-grub na chrootnutém systému co ho má.
Sorry za můj češtin.