Re: [Th] geninitrd borked?
Dnia poniedziałek, 25 grudnia 2006 20:16, Cezary Krzyzanowski napisał: Dnia 24-12-2006, nie o godzinie 21:04 +0100, Łukasz Jernaś napisał(a): One more flaw - initramfs seems to ignore the initlevel parameter passed to the kernel from grub (setting it in /etc/inittab fixes the problem though) Hm - I haven't noticed that running normal init requires any parameter. Hmm, I had runlevel 3 set in inittab but added 5 as a kernel parameter, so it boots with gdm. I'll try the -desktop kernel tomorrow, maybe it's just the LINUX_2_6 branch... -- Łukasz [DeeJay1] Jernaś pgpDeDVaDR1iT.pgp Description: PGP signature ___ pld-devel-en mailing list pld-devel-en@lists.pld-linux.org http://lists.pld-linux.org/mailman/listinfo/pld-devel-en
Re: [Th] geninitrd borked?
Dnia 24-12-2006, nie o godzinie 21:04 +0100, Łukasz Jernaś napisał(a): One more flaw - initramfs seems to ignore the initlevel parameter passed to the kernel from grub (setting it in /etc/inittab fixes the problem though) Hm - I haven't noticed that running normal init requires any parameter. shouldn't it be added before compressing the initrd? No - bootsplash is added the same way - appended to the image. This part works fine. i'm using kernel-desktop as a testbed. [EMAIL PROTECTED] ___ pld-devel-en mailing list pld-devel-en@lists.pld-linux.org http://lists.pld-linux.org/mailman/listinfo/pld-devel-en
Re: [Th] geninitrd borked?
Dnia środa, 20 grudnia 2006 01:22, Cezary Krzyzanowski napisał: Dnia 19-12-2006, wto o godzinie 23:24 +0100, Łukasz Jernaś napisał(a): root=0303 (tried /dev/hda3 also) I'll check the rest tomorrow, I can barely see the screen now :/ I've generated initrd almost identical as Your. I've booted it successfully with 2.6.18.4_laptop-0.3 kernel. Sorry for the late answer, I've been busy lately. So, geninitrd does work with the ro change. One more flaw - initramfs seems to ignore the initlevel parameter passed to the kernel from grub (setting it in /etc/inittab fixes the problem though) As for the bootsplash issue, I still haven't figured it out. fbsplash doesn't seem to work either - shouldn't it be added before compressing the initrd? -- Łukasz [DeeJay1] Jernaś pgpNS6ezAWCyb.pgp Description: PGP signature ___ pld-devel-en mailing list pld-devel-en@lists.pld-linux.org http://lists.pld-linux.org/mailman/listinfo/pld-devel-en
Re: [Th] geninitrd borked?
Dnia niedziela, 24 grudnia 2006 21:04, Łukasz Jernaś napisał: fbsplash doesn't seem to work either - shouldn't it be added before compressing the initrd? Hmm, I think I know why fbsplash doesn't work: Revision 1.441.2.1558.2.15 2006/07/12 12:23:06 hawk - make bootsplash default over fbsplash but he forgot to change the description for the bcond -- Łukasz [DeeJay1] Jernaś ___ pld-devel-en mailing list pld-devel-en@lists.pld-linux.org http://lists.pld-linux.org/mailman/listinfo/pld-devel-en
[Th] geninitrd borked?
Hello. I can't get my system to work with geninitrd-8103-1 rc-scripts fail when trying to check my root filesystem, because it's mounted read-write already. This doesn't happen with geninitrd-7899-0.1 at all. Oh, and BTW when trying to use bootsplash kernel crashes with a kernel panic - cannot find rootfs - looks like initrd isn't even started in that case. Maybe it's because I'm more of an Iron Maiden fan than Metallica? ;) -- Łukasz [DeeJay1] Jernaś pgp6EdAIivK6i.pgp Description: PGP signature ___ pld-devel-en mailing list pld-devel-en@lists.pld-linux.org http://lists.pld-linux.org/mailman/listinfo/pld-devel-en
Re: [Th] geninitrd borked?
Dnia 19-12-2006, wto o godzinie 22:03 +0100, Łukasz Jernaś napisał(a): It would be a good idea, there's no need for an rw root while initrd is running, it's set by rc-scripts after checking the partition. You miss the point - I didn't include mountintg rootfs rw as a feature, I've omitted the -r parameter because of lack of knowledge ;) Fixed and commited. I'll release another version later, when the second problem gets fixed. No idea, I've just run geninitrd -v -f initrd-2.6.16.36-1.gz 2.6.16.36-1 and it included bootsplash by default, although I have fbsplash installed too. Hm - I think that geninitrds sysconfig file by default has bootsplash and includes it whenever the bootsplash package is present. Let's divide two things. Both bootsplash and fbsplash need kernel patching in order to work and *also* need userspace programs. I'm not quite sure, if the newer PLD kernels include bootsplash patches at all and if the do, how does having both bootsplash and fbsplash *kernel* patches influence the system. cannot find rootfs - looks like initrd isn't even started in that case. Do You use initramfs as initrdfs, or old initrd ?? I must say as I have some idea what could be wrong with the rw/ro matter, but this just doesn't get to me. See above - I didn't touch anything in /e/s/geninitrd Darn - I don't have a bloody idea what could be wrong. Does that 'cannot find rootfs' occur in result of switch_root, or somewhere earlier?? Please check two things 4 me in order to fix that. 1. Is the generated image initrd, or initramfs (should be the later). mkdir /tmp/czarny_sucks cp /boot/initrd-2.6.something.gz /tmp/czarny_sucks cd /tmp/czarny_sucks gunzip initrdtab cpio -i initrdtab If this works, You have initramfs, if not - You've got initrd. If initrd, please mount it: mkdir fuck modprobe loop mount -oloop -tromfs initrdtab shit and in both cases paste me the linuxrc/init script here. 2. What are You passing at kernel boot (through the bootloader) as the root parameter? My work in initramfs is to parse that parameter and mount the rootfs accordingly - I could've screwed that part, or didn't anticipate some parameter form. N/P - 5 weeks is a long time though, it was enough to start and end my engineering project ;) Yea, but /me wants to get world-famous. PPl don't get world-famous in 5 weeks of work ;p ___ pld-devel-en mailing list pld-devel-en@lists.pld-linux.org http://lists.pld-linux.org/mailman/listinfo/pld-devel-en
Re: [Th] geninitrd borked?
Dnia wtorek, 19 grudnia 2006 22:18, Cezary Krzyzanowski napisał: 1. Is the generated image initrd, or initramfs (should be the later). With latest geninitrd from th-test: [EMAIL PROTECTED] ~]# geninitrd -v --without-bootsplash -f initrd.gz 2.6.16.36-1 Finding IDE modules using ide_hostadapter Finding IDE modules using PCI ID database Using modules: kernel/drivers/ide/ide-core.ko.gz kernel/drivers/ide/pci/piix.ko.gz kernel/drivers/ide/ide-disk.ko.gz kernel/fs/reiserfs/reiserfs.ko.gz /bin/initrd-busybox - /tmp/initrd.IodYzw/bin/initrd-busybox Loading module [ide-core] without options. Loading module [piix] without options. Loading module [ide-disk] without options. Loading module [reiserfs] without options. Adding rootfs finding based on root= option support. 1276 bloków init: #! /bin/sh set -x insmod /lib/modules/2.6.16.36-1/kernel/drivers/ide/ide-core.ko insmod /lib/modules/2.6.16.36-1/kernel/drivers/ide/pci/piix.ko insmod /lib/modules/2.6.16.36-1/kernel/drivers/ide/ide-disk.ko insmod /lib/modules/2.6.16.36-1/kernel/fs/reiserfs/reiserfs.ko set +x mount -t proc none /proc root=$(busybox awk ' /root=\/dev\// { gsub(/.*root=\/dev\//,NIL,$0); gsub(/ .*/,NIL,$0); print $0; } ' /proc/cmdline) if [ -n $root ]; then rootnr=$(busybox awk -v root=$root ' { if ($4 == root) { print 256*$1+$2; } } ' /proc/partitions) if [ -n $rootnr ]; then echo $rootnr /proc/sys/kernel/real-root-dev fi fi umount /proc set -x set +x mount -t proc none /proc root=$(busybox awk -v prefix=root= ' \ function separate_root ( txt ) \ { \ gsub(/.*root=/,NIL,txt); \ gsub(/ .*/,NIL,txt); \ return txt \ } \ BEGIN { \ num_pattern = [0-9][0-9][0-9][0-9]; \ dev_pattern = [hms][a-z][a-z]([0-9])+; \ partition = Metallica rocks!; \ min = -1; maj = -1; \ } \ $0 ~ prefix 0x num_pattern { sub(/root=0x/,root=); } \ $0 ~ prefix num_pattern { \ gsub(/.*root=/,NIL,partition); \ gsub(/ .*/,NIL,partition); \ partition = separate_root( $0 ); \ maj = sprintf(%d,substr(partition,1,2)); \ min = sprintf(%d,substr(partition,3)); \ } \ $0 ~ prefix \/dev\/ dev_pattern { sub(/root=\/dev\//,root=); } \ $0 ~ prefix dev_pattern { \ partition = separate_root( $0 ); \ } \ $4 ~ partition { maj = $1; min = $2; } \ $1 ~ maj $2 ~ min { partition = $4; } \ END { print sprintf(/dev/%s %d %d, partition, maj, min); } ' /proc/cmdline /proc/partitions) device=${root% * *} maj=${root#* } maj=${maj% *} min=${root#* * } set -x if [ ! -b $device ]; then mknod $device b $maj $min fi mount -t reiserfs $device /newroot init=$(busybox awk ' /init=\// { gsub(/.*init=/,NIL,$0); gsub(/ .*/,NIL,$0); print $0; } ' /proc/cmdline ) if [ -z $init -o ! -x /newroot$init ]; then init=/sbin/init fi umount /proc exec switch_root /newroot $init linuxrc: #! /bin/sh set -x insmod /lib/modules/2.6.16.36-1/kernel/drivers/ide/ide-core.ko insmod /lib/modules/2.6.16.36-1/kernel/drivers/ide/pci/piix.ko insmod /lib/modules/2.6.16.36-1/kernel/drivers/ide/ide-disk.ko insmod /lib/modules/2.6.16.36-1/kernel/fs/reiserfs/reiserfs.ko set +x mount -t proc none /proc root=$(busybox awk ' /root=\/dev\// { gsub(/.*root=\/dev\//,NIL,$0); gsub(/ .*/,NIL,$0); print $0; } ' /proc/cmdline) if [ -n $root ]; then rootnr=$(busybox awk -v root=$root ' { if ($4 == root) { print 256*$1+$2; } } ' /proc/partitions) if [ -n $rootnr ]; then echo $rootnr /proc/sys/kernel/real-root-dev fi fi umount /proc set -x set +x mount -t proc none /proc root=$(busybox awk -v prefix=root= ' \ function separate_root ( txt ) \ { \ gsub(/.*root=/,NIL,txt); \ gsub(/ .*/,NIL,txt); \ return txt \ } \ BEGIN { \ num_pattern = [0-9][0-9][0-9][0-9]; \ dev_pattern = [hms][a-z][a-z]([0-9])+; \ partition = Metallica rocks!; \ min = -1; maj = -1; \ } \ $0 ~ prefix 0x num_pattern { sub(/root=0x/,root=); } \ $0 ~ prefix num_pattern { \ gsub(/.*root=/,NIL,partition); \ gsub(/ .*/,NIL,partition); \ partition = separate_root( $0 ); \ maj = sprintf(%d,substr(partition,1,2)); \ min = sprintf(%d,substr(partition,3)); \ } \ $0 ~ prefix \/dev\/ dev_pattern { sub(/root=\/dev\//,root=); } \ $0 ~ prefix dev_pattern { \ partition = separate_root( $0 ); \ } \ $4 ~ partition { maj = $1; min = $2; } \ $1 ~ maj $2 ~ min { partition = $4; } \ END { print sprintf(/dev/%s %d %d, partition, maj, min); } ' /proc/cmdline /proc/partitions) device=${root% * *} maj=${root#* } maj=${maj% *} min=${root#* * } set -x if [ ! -b $device ]; then mknod $device b $maj $min fi mount -t reiserfs $device /newroot init=$(busybox awk ' /init=\// { gsub(/.*init=/,NIL,$0); gsub(/ .*/,NIL,$0); print $0; } ' /proc/cmdline ) if [ -z $init -o ! -x /newroot$init ]; then init=/sbin/init fi umount /proc exec switch_root /newroot $init -- Łukasz [DeeJay1] Jernaś P.S. Sorry for copypasting but kmail from Th seems to crash when trying to add an attachment...
Re: [Th] geninitrd borked?
Dnia wtorek, 19 grudnia 2006 23:12, Łukasz Jernaś napisał: Dnia wtorek, 19 grudnia 2006 22:18, Cezary Krzyzanowski napisał: 1. Is the generated image initrd, or initramfs (should be the later). Oh, it's an initramfs not initrd... -- Łukasz [DeeJay1] Jernaś ___ pld-devel-en mailing list pld-devel-en@lists.pld-linux.org http://lists.pld-linux.org/mailman/listinfo/pld-devel-en
Re: [Th] geninitrd borked?
Dnia 19-12-2006, wto o godzinie 23:12 +0100, Łukasz Jernaś napisał(a): Dnia wtorek, 19 grudnia 2006 22:18, Cezary Krzyzanowski napisał: 1. Is the generated image initrd, or initramfs (should be the later). With latest geninitrd from th-test: Ok - so it seems to be initramfs. Good. Now the two other informations please. One - does it crash on exec switch_root and I'd like to see Your root= parameter on kernel boot. From this script everything seems to be just fine, so the root parameter is crusial. Thx 4 the work [EMAIL PROTECTED] ___ pld-devel-en mailing list pld-devel-en@lists.pld-linux.org http://lists.pld-linux.org/mailman/listinfo/pld-devel-en
Re: [Th] geninitrd borked?
Dnia wtorek, 19 grudnia 2006 23:19, Cezary Krzyzanowski napisał: Dnia 19-12-2006, wto o godzinie 23:12 +0100, Łukasz Jernaś napisał(a): Dnia wtorek, 19 grudnia 2006 22:18, Cezary Krzyzanowski napisał: 1. Is the generated image initrd, or initramfs (should be the later). With latest geninitrd from th-test: Ok - so it seems to be initramfs. Good. Now the two other informations please. One - does it crash on exec switch_root and I'd like to see Your root= parameter on kernel boot. root=0303 (tried /dev/hda3 also) I'll check the rest tomorrow, I can barely see the screen now :/ -- Łukasz [DeeJay1] Jernaś ___ pld-devel-en mailing list pld-devel-en@lists.pld-linux.org http://lists.pld-linux.org/mailman/listinfo/pld-devel-en
Re: [Th] geninitrd borked?
Dnia 19-12-2006, wto o godzinie 23:24 +0100, Łukasz Jernaś napisał(a): root=0303 (tried /dev/hda3 also) I'll check the rest tomorrow, I can barely see the screen now :/ I've generated initrd almost identical as Your. I've booted it successfully with 2.6.18.4_laptop-0.3 kernel. [EMAIL PROTECTED] ~]# geninitrd -v -f /boot/initrd-2.6.18.4_laptop-0.3.gz `uname -r` Finding IDE modules using ide_hostadapter Finding IDE modules using PCI ID database Using modules: kernel/drivers/ide/ide-core.ko.gz kernel/drivers/ide/pci/piix.ko.gz kernel/drivers/ide/ide-disk.ko.gz kernel/fs/xfs/xfs.ko.gz /bin/initrd-busybox - /tmp/initrd.qlkO6P/bin/initrd-busybox Loading module [ide-core] without options. Loading module [piix] without options. Loading module [ide-disk] without options. Loading module [xfs] without options. Adding rootfs finding based on root= option support. 1969 bloków Output from geninitrd suggests we got the same initrd image. I've set udev off (as nothing from Your geninitrd suggests udev) no splashes (FB or BOOTSPLASH), just initramfs as the default initrdfs. Please edit the init script and let the whole file for set -x, to show where what gets fckd. [EMAIL PROTECTED] ___ pld-devel-en mailing list pld-devel-en@lists.pld-linux.org http://lists.pld-linux.org/mailman/listinfo/pld-devel-en