[MEGOLDVA] Alaplap csere - centos újraindul - kernel csere

Fórumok

Adva van egy gép, amin futott az X, dübörgött a MySQL grub/centos és egy videó feldolgozó célszoftver.
Meghalt az alaplap - kicserélték, sajnos nem tudom mi volt az eredeti felállás. Úgy tűnik mintha a kernelt forgatták volna - ki tudja minek.
Mindenesetre az új alapap+cpu -val folyamatosan újra indul. Kell egy új kernel, lehetőleg nem ilyen zárt. A centos nekem teljesen idegen - a grub-ot sem használtam soha (bár ez nem tűnik nagyon bonyolultnak, végül is fel van telepítve). Debian és lilo az én barátom!
Elképzelt menetrend:

1. Le kell menteni a komplett diszket. Tartok tőle hogy dd -vel kicsit soká tartana, az lenne a legszebb, ha a szokásos módon tar a komplett partíció (van belőle 4), viszont a grub esetében nem tudom hogy lehet a botolhatóságot helyreállítani (a lilo -val ezt már számtalanszor megcsináltam).

2. Vajon milyen kernelt lehet ez alá a cucc alá telepíteni? Nem tudom pontosan milyen dolgokat állítottak be, az ideális valami moduláris kernel lenne intrd -vel, hogy tág legyen a hardware lehetőség. Szerintem a Debian stable kernel-2.6.26-2-686 megfelelne, de nem tudom, hogy a centos egyéb dolgai hogy fogják ezt megemészteni - még azt sem tudom milyen verzió :(
Minden ötletet, kiegészítést szívesen fogadok.

Hozzászólások

Cigaretta szünet vége - merülés!
RIP Linux 11.0 nem bootol - se 32 se 64 bites verzió - 2.6.35.8 kernel
RIP 10.x szintén zenész :(
RIP 9.3 32 bites bebootolt - kernel-2.6.29.6 :)
Látja a hálókártyát!
Lát egy szép, 160 G SATA diszket, négy partícióban:
sda1 ext3 /boot
sda2 ext3 /
sda3 XFS /Images1 - ez csaknem 150 G
sda5 ext3 /var/lib/mysql/
sda6 ext3 /netavis
sda7 swap

A /proc/cpuinfo szerint ez egy Pentium(R) Dual-Core CPU E6500 @2.93GHz
A gépben 1Gbájt RAM lakik
Az alaplap egy GA-g31M-ES2L és semmilyen kártya nincs beledugva, minden alaplapi integra.
Most ezt a diszket kéne valahogy intelligensen lemásolni, és azzal folytatni a kísérletezést.

* Én egy indián vagyok. Minden indián hazudik.

man grub

és

info grub

A kernelfordítás pedig talán a videofeldolgozás miatt kellett.

Nincs valami rescue kernel a gépen?

Az eredeti nem mai gép volt - min. 3 éves. Annak biztos minden sebesség kelhetett (de sok olyan "perverz" informatikusról halottam, aki mindenhez forgat valamit).
A man, az info sőt még a http://www.gnu.org/software/grub/manual/grub.html -oldalt is meg tudom találni. Most az is kielégítene, ha valaki megsúgná, hogy ha átmásolom fájl rendszer szinten a szükséges dolgokat, akkor vajon a grub képes "újra" települni?

MEGJ: A lilo -val ezt úgy szoktam, hogy particionálok, formázok, kibontom a rendszer.tar.gz -et a megfelelő helyre és lilo -v -r /mnt/"rendszerpartíció" - mindezt egy Live Linux segítségével, parancssorból.

* Én egy indián vagyok. Minden indián hazudik.

Az egész diszket másolni - partimage? Kezeli az xfs -t?
dd - egy örökké valóság - 160 Gbájt. Különösen ha azt nézed hogy a hasznos cucc, gzip -elve kevesebb mint 700Mbájt.
Ami a rescue jellegű CD-ket illeti én a RIP -et preferálom és PXE/tftp -vle bootolok - a 2.6.29.6 -al szépen működik. De inkább valami Debian -t veszek elő - azt is inkább mert "ismerem". Már csak az a gondom, hogy nem tudom mi ez a rendszer.
Találtam olyat mint centOS és találtam olyat, hogy netavis az utóbbi egy video megfigyelő, stream kezelő rendszer, aminek a támogatási listáján centos, red hat meg valami "SLES 10 (Unbundled)" szerepel. Ebben az esetben, úgy tűnik, a centos -ra van pakolva a netavis.
Mindegy, egyenlőre akkor hogy is kellene a grubot rávenni, hogy bootoljon a klón?

* Én egy indián vagyok. Minden indián hazudik.

Most vagyok ott hogy valahogy bootolhatóvá kellene tenni egy másik diszkre csinált "klónt".
Partíciós tábla sfdisk -d segítségével másoltam.
Minden fájlrendszert legeneráltam.
Minden partíció külön letömörítve (tar.gz) majd kibontva a megfelelő helyre. Az eredeti 160 Gbájtból lett nem egészen 700Mbájt :)
Nézegetem a rendszerpartíciót - megőrülök hol a syslog?
Eddig mindig a /var/log/syslog alatt lakott itt meg nincs!? Most akkor honnan derül ki hol akad le? Van valami /var/log/bootlog az utolsónak a cups felállását jelzi október 6 -án. Ez egyre zavarosabb :(

* Én egy indián vagyok. Minden indián hazudik.

Na ez egyre jobb :(
Telepítve a GRUB4DOS 0.4.5b van - ez most linux?

* Én egy indián vagyok. Minden indián hazudik.

Tudtam, hogy a grub meg fog sz'vatni :(
Betöltöttem a RIP rendszert.
Amint azt fent írtam, a boot kernel image a /dev/sda1 -en van míg a root a /dev/sda2 -n. Semmi gond grub manual:
#grub-install --root=directory=/boot /dev/sda
Could not find device for /boot/boot: Not found or not a block device.
Jó, némi töprengés után, bemountoltam a /dev/sda2 (root) a /mnt/sda2 -re
majd a /mnt/sd2/boot -ra a /dev/sda1 és újra:
#grub-install --root=directory=/boot /dev/sda
Nem találja az eszközt nincs ilyen hogy /dev/sda
Valóban, no akkor mknod /dev/sda b 8 0 stb.
Még egyszer:
#grub-install --root=directory=/boot /dev/sda
Itt kiírt néhány dolgot - egy sor /dev/fd0 és egy sor /dev/sda és ha nem tetszik akkor tegyek vlmit
Erre azt gondoltam no akkor így kellene ezt csinálni. Újra tölt.
Elindult a GRUB és parancssort kínált fel, tök jó, most ezzel mit kezdjek?

* Én egy indián vagyok. Minden indián hazudik.

Találtam valami ilyet:
grub>find /boot/grub/stage1
(hd0,0)
grub>root (hd0,0)
grub>setup(hd0)

Checkingf "/boot/grub/stage1" exists... yes
Checking if "/boot/grub/stage2" exists... yes
Running "embed /boot/grub/e2fs_stage1_5 (hd0)"... 16 sectors are embedded.
succeeded
Running "install /boot/grub/stage1 (hd0) (hd0)1+16 p (hd0,0)/boot/grub/stage2 /boot/grub/grub.conf"... succeded
Done.
grub>reboot

és megint ez a nyomorult parancssor, most akkor mi van?
A lilo -val ez gyerekjáték! Mondja még nekem valaki hogy milyen király a grub!

* Én egy indián vagyok. Minden indián hazudik.

Jó, némi töprengés után, bemountoltam a /dev/sda2 (root) a /mnt/sda2 -re
majd a /mnt/sda2/boot -ra a /dev/sda1 és újra:

Eddig jó. Szerintem ezután

#grub-install --root=directory=/mnt /dev/sda

Kérdés, hogy a device.map-ben /dev/sda, vagy /dev/hda van beírva? (milyen néven kezeli a kernel a HDD-t?)

Pont ezen morfondíroztam. A RIP kernele /dev/sda -ként kezeli a map fájlban:
(fd0) /dev/fd0
(hd0) /dev/sda
szerepel.
Lehet hogy valami kimaradt az idézetből, de most utoljára is chroot -al csináltam:
mount /dev/sda2 /mnt/sda2 - ez a root
mount /dev/sda1 /mnt/sda2/boot - ez a /boot/ és a /boot/grub

aztán
chroot /mnt/sda2

grub-install --root-directory=/boot /dev/sda

de továbbra is a grub shell -ben kötök ki :(

* Én egy indián vagyok. Minden indián hazudik.

Ugyan az az eredmény :(
A device.map fájlt nem módosítottam, azaz maradt:
(fd0) /dev/fd0
(hd0) /dev/sda

mount /dev/sda2 /mnt/sda2 - ez a root
mount /dev/sda1 /mnt/sda2/boot - ez a /boot/ és a /boot/grub

chroot nem kell:
grub-install --root-directory=/boot /dev/sda

Megint a grub shell :(
Az eredeti grub 0.95 volt, amit most telepítettem az 0.97. Ez lehet gond?

* Én egy indián vagyok. Minden indián hazudik.

No ez itt a másik ami összezavar, valamiért úgy gondoltam a root alatt a /boot partíciót érti - persze hogy butaság. De az is amit te írtál az sem korrekt, így a jó:
grub-install --root-directory=/mnt/sda2 /dev/sda
a lilo -nál ez a parancs így festene:
lilo -b /mnt/sda2 a többi ott van az /etc/lilo.conf -ban.

Ugyan azt nem értem hogy a színes splash kép hova tünt, de ez legyen a legnagyobb baj! Van menü, bootol úgy mint eddig - most már láttam hogy a "Configure scheduler iocfg" után hal meg a gép - ez is valami!

* Én egy indián vagyok. Minden indián hazudik.

Nem minden segítség nélkül de megvan a boot a klónozott diszken :)
Figyelemre méltő, hogy minden partíció tar.gz fájlrendszerszintű mentésével lett megoldva, semmilyen diszk mentő eszköz nem játszott!
Ha ezt csinálja meg valaki a windows -al is megtudnám tenni ;|
Kernelt, működésképtelen rendszeren még nem cseréltem! Ez is egy érdekes dolog lesz. Ráadásul itt valami centos-nevis kernel hybrid van hm.

* Én egy indián vagyok. Minden indián hazudik.

A diskcopy vagy partimage esetén mindegy milyen típusú a partíciód,
mert byte-ot - bytra másol.
Kb. 3h alatt átmásolta volna(nálam 73Gb ment 1h20min alatt).
Már rég elfelejtetted volna a grub-os mókolást.
Közben még az jutott eszembe, hogy lehet volt valami kernel paraméter
megadva, amitől az új lapod megfeküdt.

"A diskcopy vagy partimage esetén mindegy milyen típusú a partíciód,
mert byte-ot - bytra másol."
Gondolom ifjú titán vagy aki a P4 3,0 GHz, SATAII világába csöppentél, és mindig csúcs vasakkal dolgoztál? Nálam olyan dolgok kötnek ki ahol a modern dolgok nem működnek, vagy pont úgy és annyira amennyire régen is. Tapasztalataim szerint, a dd vagy a dd_rescue az ami tuti sectorról-sectorra másol diszket fizikailag. A művelet egy 160 Gbyte diszknél akár 10 órát is igénybe vehet! Partimage? - no igen de az már fájlrendszerre alapozza a műveletet. Windows -hoz használok ghost -ot az viszont nem mindig kezelte korrektül az ext2/ext3 -as fájl rendszert, az xfs -ről nincs tapasztalatom - a legjobb amikor szentül megvagy győződve hogy te mentettél és amikor helyreállítani akarsz akkor kakukk! - már megéltem ezt, kösz nem kérem.
diskcopy - ez most a windows parancs? Hogy tudsz mneggyőződni arról, hogy a mentésed jó és használható? Amennyiben erre nincs mód akkor ez is csak egy Ígérvény, vagy működik vagy nem.
A kernelek (kettő közül választhatok) vizsgálata most kezdődhet.

* Én egy indián vagyok. Minden indián hazudik.

Persze, soha nem volt 386-osom és nem volt commodore-om sem.
Scsi-val másoltam, de annak is 40Mb volt a sebessége és egyszerűen úgy próbáltam ki, hogy elindítottam a mentett opot.
A ghost persze megfekszik, de nem is mondtam.
A diskcopy nem parancs akart lenni, hanem ajánlás egy műveletre.

"A diskcopy nem parancs akart lenni, hanem ajánlás egy műveletre."
Mi az hogy ajánlás egy műveletre? - RFC
40 Mb - klassz hdparm hangolás nélkül és mondjuk sima IDE ez egy nagyság rendel is kisebb lehet :(
Ráadásul, ha megakarod nézni, hogy mi is volt azon a diszken, abban a partícióban? - a tar.gz -be egy mc -vel simán belenézel, kivehetsz egy vagy több állományt stb. Mit csinálsz a partimage -el, a ghost -hoz van egy kis kukucskáló ami bveletud nézni és ki tud bontani egy-egy állományt, könyvtárat.
Hidd el ha lehet, érdemes ezt a vonalat hajtani. Egyszer kell elsajátítani a grub/lilo újra húzását és aztán roppantul lerővidíti az ilyen műveletek idejét. Vegyük ezt az esetet.
A 160 Gbájtos diszken tar.gz < 700 Mbájt valós tartalom - mentés ck. 20 perc egy átlagos géppel, 100Mbit hálózaton keresztül (a vasat akár nem is kell szétszedni).
Live Linux PXE/tftp (én a RIP -et preferálom) másik 30 perc létrehozod az új diszken a partíciókat, felformázod és megint csak hálózaton űt felmásolod a tartalmat - a jól begyakorolt, ismert módszerrel bootolhatóvá teszed a diszket - 1 óra alatt megvan :)
Bocs ha ez személyeskedőnek tűnik, ne vedd magadra:
Annak akik csak az GUI -val dolgoztak azoknak ez ijesztő lehet, én inkább a GUI -tól félek, hátha van valahol egy 15 -ik popup menü amiben nem kattintottam be azt hogy ... és több órányi munka elszáll az éterbe.

* Én egy indián vagyok. Minden indián hazudik.

Jól megválasztott ... mi alapján is kellene ezt "jóóól" megválasztanom?
Milyen gépen? Az általam vázolt technológia relatív gyors és megbízható minden vason, még az antik darabokon is.
Egyébként is amit én használok, akár fel se bontsd a gépet.

* Én egy indián vagyok. Minden indián hazudik.

Tehát van két kernel verzióm:
CentOS_ServerCD (2.6.9-42.EL.netavissmp)
az utolsó amit kitudok venni az valami ACPI: hivatkozás
Próba: acpi=off noapic
itt valami "pci_hotplug" és van még egy sor de azt nem bírom kiolvasni (de jó lenne a fotografikus memória)

CentOS_ServerCD_up (2.6.9-42.EL.netavis)
...
Creating root device
mkrootdev: label / not found
Mounting root file system
mount: error 2 mounting ext3
mount: error 2 mounting none
Switching to new root
switchroot: mount failed: 22
umount /initrd/dev failed: 2
Kernel panic - not syncing: Attempt to kill init!
ennyi

Lehet hogy egy kernel console sorosra most jól jönne? Ilyet sem kellett még csinálnom.

* Én egy indián vagyok. Minden indián hazudik.

Végre, megtaláltam:
earlyprintk=serial,ttyS0,9600,keep

ez kell nekem :) most már látom hol reked meg a kernel.
Az smp kernel acpi=off -al eljut az agp inicializációig és ott kiszáll - gép újra indul.
A "sima" kernel eljut oda hogy bemountolná az igazi fájlrendszert de nem találja - panic. Mielőtt mountolna még kiírja a következőket:
Freeing unused kernel memory: 164K freed
Warning: unable to open an initial console.
SCSI subsystem initialized
Kernel panic - not syncing: Attempt to kill init!
Egy deka scsi/sata diszket nem talál - az ide DVDROM -ot megtalálja de semmilyen diszket.
Van még egy olyen bejegyzés, hogy
ICH7: chipset revision 1
ICH7: not 100% native mode: will probe irqs later
Nem látja a rendszer diszket, nem kezeli az ICH7 -et - hát ez van. Ide frissebb kernel kell :(

* Én egy indián vagyok. Minden indián hazudik.

Blog szerűen folytatva - vagy mégsem. Tovább próbálkozom egy másik alaplapon "felállítani" ezt a rendszert. Az alaplap egy Gigabyte 8IPE1000 - jó kis cucc volt a maga idejében. Itt az ICH5 Intel chipset az úr - a kernel felismeri a chipsetet, de a SATA portra SATA/Port0 -ként beállított és csatlakoztatott diszket nem. A kernel boot leakad ott, hogy "SCSI subsystem initailized" aztán már csak a pánik marad.
Kibontottam az initrd -t és a modulok közül hiányzik, az ata_piix.ko ami szerintem(?) ehhez a laphoz kellene. Már megint az initrd - ezzel mindig meggyűlik a bajom.
Kibontani sikerül, de újra, javítva összerakni szinte soha :(

* Én egy indián vagyok. Minden indián hazudik.

Kivételesen, csont nélkül sikerült az initrd kibontás/módosítás és újra csomagolás. Viszont hiába tettem be az ata_piix.ko -t nem látja a sata diszket.
Sajnops, live CD -ből is csak olyanom van ami 2.6.22 kernel, itt meg még a 2.6.9-42 használják (borzasztóan régi).
Hogy lehetne kitalálni melyik driver/modul hiányzik?
(esetleg nyomjam be az összest?)

* Én egy indián vagyok. Minden indián hazudik.

Köszönöm a segítséget!
Most már kezdem kapisgálni a grub alap beállításait és működését. Ahol fontos a sok különféle rendszer, kernel stb. ott nagyon hasznos hogy csak egyszer kell feltelepíteni - kár hogy külön partícióba, eléggé zavaró tud lenni (bár az adott konfiguráció amúgy is túldimenzionáltnak tűnik a valós felhasználáshoz képest - egy rendszer 7 partícióba)
Végül, az "új" alaplap egy Gigabyte 8IPE1000 ICH5 lett. A SATA diszket, leváltottam egy sima PATA diszkre - nem túl előre mutató, de itt jól működik. Megtartottam az eredeti kernelt és az initrd -is - nem merek modernebb kernelt használni mivel nem csak CentOS de Netavis -ként is jelölve van így nem tudhatom milyen patcheket és trükköket tettek bele (lehet hogy semmit). Nincs kernel forrás a gépen, így abból sem derül ki semmi. Annyit sikerült, hogy Centos 4.4. Az akkori kerneleknek (2.6.9) valami ellentétjük volt az akkori Intel chipsetek SATA interfészével. Egy másik alaplappal sikerült SATA -t bootolni, de az meg nem látta a DVDROM -t (BIOS szinten sem), vagy ha meglátta akkor már nem bootolt. Most látszólag, minden a helyén van :)

* Én egy indián vagyok. Minden indián hazudik.