Cooker-frissítés: hda -> sda -> rendszer nem bootol - megoldva

Fórumok

Üdv!

Pár hónapja valamit nagyon megváltoztattak a kernelben, talán a 2.6.25-től kezdve. Csak sejtem, hogy ezután egyeduralkodó lett a libata a Mandriva kerneleiben, azaz ezzel fordítják, a régebbi ide driverek nincsenek is benne.

Van egy cooker-rel felhúzott rendszerem, amit az ajánlás ellenére arra használok, hogy mindig a legfrissebb szoftver legyen fenn a gépen. Az új kernelek a 2.6.25-től kezdve egyáltalán nem bootoltak, de pár napja lejött egy olyan frissítés, ami megoldotta, hogy a régebbi kernelek se bootoljanak. (2.6.24.xx)

Az alap probléma, minden sallangot lehámozva (ami nem jelenti azt, hogy nem szólhatnak bele az ügybe, csak jelenleg nem gondolom, hogy erre esély van) hogy van egy mezei PATA vinyó, amin a rendszer van, és eddig ugye hagyományosan /dev/hda-nak látszott. Mostantól /dev/sda, mert úgy néz ki, hogy libatával minden scsi.

Addig tudott működni a rendszer, amíg nem jött le egy mkinitrd frissítés, ami valahogy valamit máshogy csinál, és át nem csinálta a régi kernel initrd-jét is. (erre kurva sokáig tartott, amíg rájöttem, de véletlenül sikerült)

A jelenség az volt, hogy közölte a kernel induláskor, hogy tök jól megtalálta az /dev/sda eszközt, de nem tudja mountolni a root partíciót, ezért boot failure. Megnéztem az initrd-t, és a végén van egy script, amibe bele van drótozva, hogy neki a /dev/hda5-ről (a root partícióm) kell bootolnia. Ok, ez nem gond, ugye adjuk egy indítási paramétert a kernelnek, hogy root=/dev/sda5. Erre kernel pánik, mert még azelőtt akar róla bootolni, hogy bármilyen drivert betöltene az initrd-ből.
Jött az ötlet, hogy mivel az mkinitrd az fstab-ot használja a script létrehozására, átírom az fstab-ot, és újrabuildelem at initrd-t.
Ehhez kellett egy systemrescuecd, egy csomó mount kézzel, meg egy chroot. Miután újrabuildeltem az initrd-t és a script része már a /dev/sda5-öt tartalmazza, még mindig nem tud bootolni, még mindig baja van a root partícióval. Mondjuk most már eljut odáig, hogy megnyekkenti a vinyót amikor kiírja, hogy mounting root partition.

Jelenleg itt állok, a gépem élőhalott módban systemrescue cd-ről indítva (már a legújabb verzió, hogy minden eszköz scsi legyen, és a lilo se pofázzon a boot paraméterek megadásánál), chrootolva, úgy ahogy, mert azért a systemrescuecd kernele nem teljesen olyan, mint a mandriva kernelek.

Ja, volt egy újratelepítési próbálkozásom is, a 2008.1 -el akartam frissíteni a rendszert, de azon kívül hogy elcseszte a gyönyörűen beparaméterezett fstab-omat, csak kifagyni tudott a telepítő.

Kéne némi ötlet, mert én kifogytam most belőlük.

Ha valaki tudná, hogy mi történt a kernelben ez ügyben 2.6.25-óta, az is jó lenne. Örülnék bármilyen forrásra is ez ügyben, ahol van valami elmélet erről az átállásról (mandriva, cooker), illetve, hogy hogy is képzelték az ilyen típusú frissítéseket. Mert azért egy cooker-nek is illik eljutni odáig, hogy legalább bootol.

Hozzászólások

Ha az fstab atirasa mar megvolt, akkor lilo.conf atirasa/nezese se maradjon ki, (illetve ha grubot hasznalsz akkor menu.lst).

Lilo v grub?

Ha lilo, akkor lilo.conf-ban a boot = /dev/sda5 es az image resznel a root = /dev/sda5nek kell lennie. Utana futtasd a lilo-t.
Grub-ot nemreg ota hasznalok igy nem is volt dolgom meg a libata atallassal, de gondolom ott konnyebb.

Ahhoz meg hogy hozzaferhess a rendszerhez chroot kell a rescuecd (v gyakorlatilag barmelyik linuxlivecd) alol.
Mellesleg miert nem rakod a filerendszert a kernelbe? Root filerendszert modulba tenni a legnagyobb marhasag szerintem :)

>Ha az fstab atirasa mar megvolt, akkor lilo.conf atirasa/nezese se maradjon ki, (illetve ha grubot hasznalsz akkor menu.lst).

Megvolt.

> Lilo v grub?
Lilo.

>Ha lilo, akkor lilo.conf-ban a boot = /dev/sda5 es az image resznel a root = /dev/sda5nek kell lennie. Utana futtasd a lilo-t.

Megvolt.

>Ahhoz meg hogy hozzaferhess a rendszerhez chroot kell a rescuecd (v gyakorlatilag barmelyik linuxlivecd) alol.

Igen.

>Mellesleg miert nem rakod a filerendszert a kernelbe? Root filerendszert modulba tenni a legnagyobb marhasag szerintem :)

A Mandriva így csinálja, és nekik valahogy biztos működik. Mivel nem akarok custom kernelekkel taknyolni, ezért a Mandriva által szállított binárissal akarom megoldani.

--
Simplicitas Sigillum Veri

Akit érint/érdekel a következő a megodás:

A root partíciót érdemes megadni UUID-vel libata használata esetén, mert tökéletesen össze-vissza tudnak az eszköznevek beállni. Úgy tűnik ez még kernelen belül indulás közben sem konzekvens. Midnenestre kernel által kiírt eszközt beírva az fstab-ba nem képes megtalálni a root partíciót, UUID-vel képes megtalálni.

A másik érdekesség, hogy az mkinitrd program, amit minden egyes kernel frissítéskor futtat a mandriva, hibás tömörített formátumot generál, vagy a kernelnek hibás az a része ami olvassa. A jelenség az, hogy ha nem írom be neki, hogy ne tömörítse az inird-t akkor "Invalid compressed format"-al elpánikol a kernel.

--
Simplicitas Sigillum Veri

Hát nekem is mandriva volt fent hasonló felállásban.....szerintem

Bár szerintem nem a mandrivával van gond mert az opensuse (10.3-as talán) is csinált ilyet .
initdr lehalás és nem ment tovább csak live cd és utána kellett valamit az initbe nem emlékszem sajna :(

ide-s 80 gb+
160 sata

a 80-asra ment be rá nekem a grub (lilo muszály neked...)

40 GB xp+a többi mandriva 2008.1

a boot a masterbe hda-n volt.
nem volt külön boot partició

Grub telepítés szerintem próbáld meg ....

Üdv.:Azozo

Kérdezd a most indult mandrivalinux.hu-n :)