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
-
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.
-
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).
-
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 ..
-
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".
-
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 ...
-
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.
-
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 ..
-
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...
-
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 ..
-
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:
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:
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!:
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:
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.
-
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.
-
To je pravda - jen se dohaduji o co vlastně jde. Myslím, že o toto:
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 :)
-
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.
-
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 :)
-
...
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)...
-
Takže je to tak jak jsem psal. Stáhnul jsem ubu18.04 server. Vytvořil spouštěcí disk z sdkarty:
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.
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
-
Se tam nevešlo do předchozího příspěvku.
-
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.
-
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.
-
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?
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?
exit &&
> sudo umount /mnt/sys &&
> sudo umount /mnt/proc &&
> sudo umount /mnt/dev/pts &&
> sudo umount /mnt/dev &&
> sudo umount /mnt
exit
-
Tohle, připojí systémové složky. Hrál jsem si s tím. Avšak jakmile se nějaká vynechá, končí to chybou:
for i in /dev /dev/pts /proc /sys /sys/firmware/efi/efivars /run; do sudo mount -B $i /mnt$i; done
A tohleexit &&
> 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: exit && sudo umount /mnt/sys && sudo umount /mnt/proc && sudo umount /mnt/dev/pts && sudo umount /mnt/dev && sudo umount /mnt
který 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í: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 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: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: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.
-
Výborná práce.
-
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
-
Tak zrovna toho grubu bych se nebál. Asi nejjednodušeji a nejjednodušší řešení tu už nastínil @Ventero:
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:[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: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
-
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.
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.
/etc/default/grub
Tohle 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.
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:
#GRUB_GFXMODE=640x480
Co 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.
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 ..
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í ..
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 ..
-
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é:
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:
#!/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
# 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čí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 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 nastavenoGRUB_CMDLINE_LINUX_DEFAULT="quiet"
Přidal bych to do mého menu takto: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á.
-
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:
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:
unlink /usr/sbin/update-grub2
mv /usr/sbin/update-grub /usr/sbin/update-grub2
Pak jsem vytvořil nový soubor update-grub:
>/usr/sbin/update-grub
chmod +x /usr/sbin/update-grub
A do něho vložil toto:
#! /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:
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.
-
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#! /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#!/bin/sh
set -e
exec grub-mkconfig -o /boot/grub/grub.cfg "$@"
Aby případný čtenář nemusel číst historii tohoto vlákna.
-
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:
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.