[ Barabbas @ 09.08.2006. 18:29 ] @
Kompajlirao sam novi 2.6.17.8 kernel, ali ne umem da napravim Initramfs image.
kada pokusam da startujem kernel sa starim initrd, on panici i kaze:
Code:
Unpacking initramfs...<0>Kernel panic - not syncing: bad gzip magic numbers

sto je i logicno, posto se initrd i ne koristi jos od 2.5 verzije?

Ovde je bila slicna tema, s'tim sto su oni izgleda problem resili sa mkinitrd
http://www.linuxquestions.org/questions/showthread.php?t=468250

U svakom slucaju, kada initrd napravim sa mkinitrd -o kernel ne moze da se startuje, i prijavljuje gresku:
Code:
Unpacking initramfs...<0>Kernel panic - not syncing: no cpio magic


Pokusao sam nesto da napravim rucno sa gen_initramfs.sh, ali ne znam od cega to da napravim,
sta treba da zapakujem da bi image radio kako treba.

Jel moguce da build to ne pravi automatski, znam da ima opcija u
General setup -> Initramfs source file(s), ali ne znam gde se image nalazi po stvaranju.

[ Sir_Oliver @ 10.08.2006. 02:53 ] @
Ma zeznuo si se covece! Kod mene je recimo 2.6.15.7 kernel + inird za neke dodatne IDE kontrolere. Napravi ti lepo taj initrd i sve ce biti ok. Za detalje pogledaj man mkinitrd.

[ Barabbas @ 14.08.2006. 14:30 ] @
Pa, napravim initrd i on ne radi:

- mkinitrd -o /boot/initrd.gz 2.6.17.8
- emacs /etc/lilo.conf, dodam initrd="/boot/initrd.gz"
- /sbin/lilo
- reboot

Code:
Unpacking initramfs...<0>Kernel panic - not syncing: no cpio magic



Mozda (sigurno) nesto radim lose kod pravljenja initrd-a, ali ja ne primecujem gresku.

E,da:
pokusao sam kao initramfs da koristim /usr/src/linux/usr/initramfs_data.cpio.gz (negde sam procitao da je to image koji se avtomatski linkuje sa novim kernelom za vreme build-a),
kada pokusam da bootujem sa time umesto initrd-a kernel opet panici i kaze:
Code:
VFS: Cannot open root device "302" or unknown-block (3,2)
Please append a correct "root=" boot option
Kernel panic - not syncing: VFS: Unable to mount root fs on
unknown-block (3,2)



[Ovu poruku je menjao Barabbas dana 14.08.2006. u 15:44 GMT+1]

[Ovu poruku je menjao Barabbas dana 14.08.2006. u 15:45 GMT+1]
[ Borovic @ 14.08.2006. 15:42 ] @
Pokušaj da dodaš u /etc/lilo.conf:
Code:
 append='root=/dev/hda1' #tj. /dev/hda* gde je * root (/) particija 

Naravno, posle:
/sbin/lilo
[ Barabbas @ 14.08.2006. 16:32 ] @
Ne, nije to.
Evo ga moj lilo.conf:
Code:
#----------------------------------------------------
# LILO configuration file
#--------------------GENERAL-SETTINGS----------------
 boot=/dev/hda
# install=/boot/boot.b
 map=/boot/map
# compact    # faster, but won't work on all systems.
 lba32
 prompt
 ramdisk = 0    # paranoia setting
 timeout="100"
 append="root=/dev/hda2 apm=power-off splash=silent"
#--------------------VIDEO-SETTINGS------------------
# vga=ask
# Normal VGA console
 vga=normal
# VESA framebuffer console @ 1024x768x64k
# vga=791
#--------------------BOOT-MESSAGE--------------------
 message=/boot/boot_message
#--------------------DEFAULT-IMAGE-------------------
 default=Slackware
#--------------------BOOT-IMAGES---------------------
# Slackware:
image=/boot/22.03.06.bootsplash/vmlinuz
 initrd="/boot/22.03.06.bootsplash/initrd.splash"
 label="Slackware"
 root="/dev/hda2"
 read-only

# Slackware-2.6.17.8
image="/boot/09.08.06/vmlinuz"
 initrd="/init"
 label="Slack-2.6.17.8"
 root="/dev/hda2"
 read-only
#----------------------------------------------------
# Windows_XP:
other=/dev/hda1
 label="Windows_XP"
#--------------------EOF-----------------------------


Pre ce biti da image nije dobro napravljen, Initramfs koji pokusavam da koristim ima samo 132 bajta,( i samo jedan fajl u stablu-> "console")

Mislio sam da treba sa ubacim podrsku za ext2 fs (root je na ext2 particiji), ali je to vec ukompajlirano u kernel

Od modula koristim samo podrsku za zvucnu, dzojstik, i jos neke periferijem sve ostalo je ukompajlirano u kernel.

[ Sir_Oliver @ 14.08.2006. 23:33 ] @
Naravno da si pogresio. Evo i zasto: sta ti pokusavas da stavis u initial ramdisk, koji modul? Ja na primer imam ide kontroler na pci kartici, preko kojeg mi je nakacen hd sa root particijom. Moj konkretan primer initrd-a izgleda ovako:
Code:
#initrd -c -m iteraid -k 2.6.15.7

gde su opcije:
-c - ocisti postojeci initial ramdisk
-m - lista modula koje dodajes u inital ramdisk
-k - verzija kernela koju koristis

Ako ne diras opciju "-o", napravice ti default initrd: /boot/initrd.gz
Onda lepo dodaj u /etc/lilo.conf liniju initrd=/boot/initrd.gz i pokreni lilo . I naravno, javi sta se desilo.
[ Barabbas @ 15.08.2006. 14:32 ] @
Evo ovako:

Napravio sam novi /boot/initrd.gz i ponovo imam isti problem.
Isto ovako sam pravio initrd za 2.4.29.kernel i radio je normalno.

# cd /boot
# mkinitrd -c -k 2.6.17.8 -r /dev/hda2
# emacs /etc/lilo.conf, (dodam initrd="/boot/initrd.gz")
# /sbin/lilo

Nisam koristio -m opciju zato sto nemam nijedan modul koji bih ubacio, podrska za fs je vec ubacena u kernel. Nisam siguran da li jos nesto treba eksplicitno da se dodaje u image.

Kada pokusam da bootujem zabode se kaze:
Code:
Unpacking initramfs...<0>Kernel panic - not syncing: no cpio magic


Iz ovoga se vidi da on ocekuje samo initramfs koji nemam, a za moj initrd ga verovatno boli K***c, i jos prijavljuje gresku sto mu nisam dao ono sto treba.
Sto je veoma cudno, posto se podrska za oba tipa image-a u kernel ukljucuje istom opcijiom, i ja nigde ne mogu da izaberem sta od ta dva hocu da koristim.
Kako ja njemu da kazem da ne koristi initramfs nego initrd?

Pokusao sam i da ne koristim nista, ali opet:
Code:
VFS: Cannot open root device "302" or unknown-block (3,2)
Please append a correct "root=" boot option
Kernel panic - not syncing: VFS: Unable to mount root fs on
unknown-block (3,2)

Isti slucaj se desava i kada koristim /usr/src/linux/usr/initramfs_data.cpio.gz kao image, verovatno zato sto je image prazan.

device "302" je moj /dev/hda2 (/), i to je u redu; takodje koristim i root="/dev/hda2" i to je OK.
Zasto onda ne moze da mountuje root fs, ako su sve opcije ok, i ako ima sve sto mu je potrebno?!