MDK10.1 a pridani moduly do initrd
Miroslav BENES
miroslav.benes na zdas.cz
Čtvrtek Leden 13 13:04:20 CET 2005
> BTW jak je ten initrd vlastně dělaný ?
> Na stroji s RH9.0 a kernelem 2.4 to byl zazipovaný 3MiB soubor
> naformátovaný na ext2, Byla v něm jednoduchá struktura adresářů,
> potřebné moduly a skriptík který je natahuje. Ruční editací se to dalo
> docela dobře upravit podle potřeb.
>
> Ale na FC3 s kernelem 2.6 se to popsaným způsobem neotevře a tím pádem
> nejdou ruční úpravy. Nebo je na to nějaký fígl ?
>
>
Nedalo mi to a tak jsem to vyzkoušel.
Ve FC3 se na initrd.img používá cpio archiv, zazipovaný pomocí gzip.
Prozradil mi to příkaz file. Ještě že ho v systému máme :)
Zkusil jsem to jen tak nanečisto porovnat (vzal jsem pár modulů z jádra)
a uložil jsem je jak ve starém (komprimovaný ext2) tak i v novém
(komprimovaný cpio) tvaru.
Výsledek:
tar 102400 (to je jen pro představu kolik jich vlastně bylo)
cpio 85504 (je viditelně úspornější než tar)
cpio.gz 24966
ext2.gz 29326
tar.gz 25579 (pro srovnání)
Příkaz gzip byl vždy spouštěn s parametrem "-9" (maximální komprese).
Takže ukládání pomocí cpio je o cca 15% úspornější než "klasický" postup
s ext2, ale IMHO se s tím bude v případě úprav hůř manipulovat (rozbalit
cpio, upravit, znova zabalit ..)
BTW tímto tématem jsem se /na kerenlu 2.4) zabýval před časem, protože
jsem potřeboval zavádět jako jeden z prvních modulů ovladač na Promise
(pseudo)RAID řadič, který mám mimo kernel. Zajímavé je, že se mi to
nakonec podařilo - tj. vyrobil jsem initrd, který se vešel na disketu
spolu s kernelem (cca 1175 kiB). Nevím jak se mi to povedlo - disketa se
dneska jeví jako nečitelná (linux hlásí FAT error a zobrazuje nesmysly,
Wokna ji ukazují jako prázdnou), ale přitom funguje !
Poslední dotaz k tématu - jak se dá vyřešit problém s velikostí ? Tj.
existuje nějaký standardní mechanismus, pomocí kterého by se
dalojednoduše nakonfigurovat natahování initrd např. z druhé diskety ?
Další informace o konferenci Linux