Problem s instalaciou GRUBu

Pavel Kankovsky peak na argo.troja.mff.cuni.cz
Čtvrtek Leden 12 12:43:07 CET 2012


On Thu, 12 Jan 2012, Martin Mokry wrote:

> /usr/bin/grub2-mkimage -c /boot/grub2/load.cfg -d
> /usr/lib/grub2/i386-pc -O i386-pc --output=/boot/grub2/core.img
> --prefix=/grub2 biosdisk ext2 part_msdos search_fs_uuid
> 
> Podla mna su vsetky moduly (biosdisk, ext2, part_msdos,
> search_fs_uuid) asi potrebne. Co dalej ?

Tak to byste měl mít imho core.img znatelně menší než 33 kB.

Můžete ještě zkusit ten grub2-mkimage spustit s -v, protože tam může ještě
dávat i další věci podle závislostí.

Bohužel není tak úplně jednoduché říct, jak bude výsledek velký, protože
vezme kernel.img, naskládá za něj moduly a případně další soubory (zadaný
.cfg) a pak výsledek částečně komprimuje pomocí LZMA (mluvím o tom, jak to
funguje pro i386-pc) a před to přidá boot sektor z diskboot.img.

Hrubou představu o konečném výsledku lze získat tak, že se ty soubory
konkatenují a komprimují pomocí "lzma" ručně. Případně je lze zkoušet
komprimovat individuálně.

Zkouším to na jiném systému a tam jsem se dostal k cca 28 kB.
Použité komponenty byly následující:

Velikost   Kompr.v.   Soubor
   512       ---      diskboot.img
 28984    cca 18000   kernel.img
  4716    cca  2500   biosdisk.mod
  2800    cca  1600   fshelp.mod
  5804    cca  2900   ext2.mod
  2288    cca  1100   part_msdos.mod
  2912    cca  1400   search_fs_uuid.mod
  4382    cca  1400   grub.cfg

Součet individuálních komprimovaných velikostí dává o něco víc než
inzerovaných 28 kB, ale to je dáno tím, že jsou to jen nepřesné odhady,
které nezohledňují, že grub-mkimage odstraňuje hlavičky apod., navíc
komprimace všeho dohromady je asi účinnější.

Pokud Vám to vychází větší, pak musíte mít některý z těch souborů výrazně
větší (co ten konfigurák load.cfg?), nebo hůře komprimovatelný, nebo tam
máte něco navíc.

-- 
Pavel Kankovsky aka Peak                          / Jeremiah 9:21        \
"For death is come up into our MS Windows(tm)..." \ 21st century edition /




Další informace o konferenci Linux