Elég régen átálltam arra hogy a rendszert egy sima tar.gz -be mentem, egy live CD segítségével (leggyakrabban a RIP). Az eljárás kiválóan működik, mindaddig amíg nem változnak a partíciók, pl. a swap, vagy uram bocsánat a fájlrendszert is le kellene cserélnem. Most pl. a rendszer marad hda1/ext3 viszont, a swap /dev/hda5 lenne a /dev/hda2 helyett. Az initrd -betöltés során a folyamat leakad mert nem találja a swap -at. Ó gondoltam először nem gond, csinálok neki egy másik initrd.img -et, akrá a live cd segítségével. Az initrd.img kibontása így néz ki:
#zcat /valahol/boot/initrd.img-2.6.valami | cpio -i
Szépen ki is bontja, és megkerestem hol hivatkozik a swap partícióra (valami RESUME állomány, ami gyakorlatilag csak ezt a /dev/hda2 -tartalmazza). Nosza kijavítom, és új initrd.img -t készítek:
#find . | cpio --quit -o -H newc | gzip > új_initrd.img
Szépen elhelyezem a /boot könyvtárba, új linket definiálok a gyökérbe és futtatom a lilo -t:
#lilo -v -r /valahol/hda1
Ekkor viszont, szemmel láthatólag nincs /dev/ készlet és azért akad el a boot folyamat. Mit kellene még megcsinálni, ahhoz hogy ez az initrd.img működjön? Hogy lehet belecsalni a szükséges devicéket?
- 1650 megtekintés
Hozzászólások
hát ezt nem igazán értem ezt az initrd-s bohóckodást, mert:
1, hogyan akad el neked a boot? mert nekem még sosem akadt el a boot mert nem volt swap. ilyenkor legfeljebb kiírta, hogy nem tud resume-olni, mert nincs meg a swap, és megy tovább.
2, hda/sda hivatkozásokról le kell szokni! uuid
3, számtalanszor költöztettem már így tar-ral és livecd-vel rendszert, és semmi problémám nem volt. grub menüt és fstabot kellett az új uuid-kre frissíteni és kész.
- A hozzászóláshoz be kell jelentkezni
Akkor én valami nagyon peches figura vagyok :(
1. Első körben, a nem tud resum-olni után valami IO hibát irogatott, hogy a fizikai méreten túl írt!?
2. No akkor a vázolt módon csináltam egy új initrd.img -et (resume=/dev/hda5), lilo és boot. Ekkor tovább ment, viszont egyszer csak (nem igazán vágtam hol) leakadt azzal hogy nem bír írni a block(3,x) -re.
3. Végül is úgy sikerült megoldani, hogy a kibontott initrd.img könyvtárstruktúrába készítettem egy /dev könyvtárat, és létrehoztam benne a hda, hda1, hda2, hda5 és hda6 nódokat. Vissza tömörítettem, pakoltam, lilo, és voila! - működik.
Most majd csinálok egy igazi új initrd.img -et.
UI: Szaladtam bele olyanba is, hogy az eredeti fájlrendszer xfs volt, megpróbáltam átállítani az ext3 -ra, de persze ezt megint nem tudta kezelni a rendszer, akkor formáztam xfs -el, erre kijelentette hogy nem ismeri fel mint érvényes xfs fájlrendszert (ck. 5 évvel ezelőtt telepítették, így fájl rendszer driverek nem ismerték fel a mai eszközökkel készülteket). A vége az lett, hogy valahonnan előbányásztam egy korabeli Debian telepítő lemezt, és azzal partícionáltam/formáztam - így már jó lett.
Amivel most küzdöttem, az csak 2008 -as telepítés, így még működött minden. Az initrd.img -en belül egyébként látszik az udev meghívása az init -ből, valószínűleg még idáig sem jutott el.
* Én egy indián vagyok. Minden indián hazudik.
- A hozzászóláshoz be kell jelentkezni