Hlavní navigace

Názor ke zprávičce Některé nové notebooky od Samsungu nepřežijí instalaci Linuxu od Lael Ophir - Toho jsem si v linku nevšiml. Zdroj? Linkovaný článek...

  • Aktualita je stará, nové názory již nelze přidávat.
  • 4. 2. 2013 17:09

    Lael Ophir (neregistrovaný) ---.145.broadband14.iol.cz

    Toho jsem si v linku nevšiml. Zdroj?

    Linkovaný článek rozebírá situaci, kdy po instalaci Linuxu na Samsungu nejde vstoupit do BIOS Setupu pomocí F2. U Samsungu EFI volání GetNextVariable­Name() selže, pokud velikost předaného bufferu není 128 bytů, což je dokumentované v EFI 1.0, ale nemělo by to být třeba u EFI 2.0. Bohužel modul efivars.c definuje délku názvu proměnné i hodnoty jako 1024 (struct efi_variable), což u Samsungu neprojde. Až sem to možná bude chyba Samsungu (pokud je specifikace opravdu jednoznačná). Funkce virt_efi_get_nex­t_variable() z efi.c se chová správně, a vrátí chybu. Bohužel ale instalátor chybu neošetří; přitom by se měl zastavit a nahlásit chybu, pokud dostane cokoliv mimo EFI_SUCCESS (položka načtena) nebo EFI_NOT_FOUND (konec seznamu). Místo toho se instalátor chová, jako kdyby byla tabulka prázdná. Díky tomu pak s klidem přepíše položku zavaděče, která normálně implementuje BIOS Setup.

    Takže čí je to vina? Samsung si od Phoenix Technologies koupil EFI Runtime Services, které činí nesprávný předpoklad u nějakého parametru (vychází chybně z EFI 1.0). Nicméně instalátor neošetřuje chyby, a po chybě naprosto nesprávně přebuší tabulku boot entries. Můj verdikt? Mohou za to obě strany, a autor instalátoru výrazně víc.

    Co s tím? Takové věci se stávají odjakživa, a lze je vychytat jen při důkladném testování. To bohužel u Linuxu chybí. Při tom množství dister a tempu vydávání nových verzí se testuje špatně. Navíc když za distra uživatelé neplatí, nejsou na to peníze.