Ideapad & Linux

2019-10-20

Minule jsem opravil UEFI. Pro dual-boot systém celkem výhoda.

Stáhnul jsem Debian, dd ho na flash disk a spustil živý systém. Ale místo toho, aby se po kliknutí na Graphical Install spustil instalátor, vše zamrzlo.

Tak jsem se jal hledat důvod. S úplně stejným počítačem lze najít několik diskuzí v případě více distribucí: na Manjaro fóru radí přidat kernel argument noapic, jinde nomodeset. Ten je ale přítomný při instalaci (K)Ubuntu v módu Safe Graphical Install a zamrznutí to nezamezilo.

Hned následující komentář na fóru odkazuje na Launchpad a nabízí řešení vycházející z jiné diskuze na superuser. Pokud tomu rozumím správně, chybí IVRS (Input Output Virtualization Reporting Structure) tabulka udávající adresu IOMMU (Input Output Memory Management Unit), což je součást procesoru mapující virtuální adresy na fyzické v AMD hardwaru.

Když použiji slova pana Vutcoviciho, autora řešení na odkazovaném superuser.com, jsou dvě možnosti opravy: aktualizace firmware mateřské desky a obejití problému: "The proper fix should come from hardware manufacturer of the motherboard. So if you have BIOS/firmware update from your motherboard, install it as this might fix the problem."

Mně běží verze 7WCN36WW vydaná v květnu, na webu lenovo (pozor, při vyplých cookies se naprosto odmítne načíst) je vypsána jako nejnovější.

Takže možnost dvě. Protože hlavní menu funguje, je možné vybrat požadovanou možnost (například tedy Graphical Install), místo Enter stisknout E a tím otevřít textový editor. Zajímá nás řádek začínající linux: za existující parametry (u mě quiet splash) se přidá ivrs_ioapic[32]=00:14.0. Potvrdí se to Ctrl+X a systém zázračně nabootuje.

Pro permanentní nastavení je třeba upravit konfiguraci GRUBu ležící v /etc/default/grub: GRUB_CMDLINE_LINUX_DEFAULT="quiet splash ivrs_ioapic[32]=00:14.0" a změnu zapsat spuštěním sudo update-grub, případně to naklikat přes grub-customizer.

Takže jde spustit živý systém.

Když jsem otevřel zadní kryt poprvé, zjistil jsem, že je uvnitř volný SATA slot pro 2.5'' SSD disk. To je fajn - nemusí se tak vůbec zasahovat do EFI nastavení paměti primární a Windows netuší, že vedle nich běží jiný operační systém. Tím se eliminují malé bolístky, kterým se člověk rád vyhne.

Místo na disk

Při instalaci linuxu na druhý disk jsem vytvořil oddíly podle doporučení na AskUbuntu:

Instalátor Kubuntu se ve spodním řádku ptá na místo instalace GRUBu - vybral jsem vložené SSD (jen pozor, místo EFI oddílu se ukáže přímo celý disk).

Poslední problémek je s časem - Windows používá jiný systém než Unix-like systémy, takže se to při střídání systémů tluče. Fix jde provést příkazem sudo timedatectl set-local-rtc 1, případě ve Windows PowerShell příkazem New-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Control\TimeZoneInformation -Name RealTimeIsUniversal -PropertyType DWord -Value 00000001, což se ale může s každou aktualizací rozbít.

Rocket science