Re: [Angstrom-devel] [Test fodder] initramfs images for h2200, h3900, h5000 and hx4700
Hi, > From: Koen Kooi <[EMAIL PROTECTED]> > Subject: [Angstrom-devel] [Test fodder] initramfs images for h2200, > h3900, h5000 and hx4700 > Hi, > > As you may have read on the website news: > > > http://www.angstrom-distribution.org/unstable/autobuild/h2200/zImage-initramfs-bootmenu-image-h2200-2.6.21-hh20-r14-h2200.bin > > http://www.angstrom-distribution.org/unstable/autobuild/h3900/zImage-initramfs-bootmenu-image-h3900-2.6.21-hh20-r14-h3900.bin > > http://www.angstrom-distribution.org/unstable/autobuild/h5000/zImage-initramfs-bootmenu-image-h5000-2.6.21-hh20-r14-h5000.bin > > http://www.angstrom-distribution.org/unstable/autobuild/hx4700/zImage-initramfs-bootmenu-image-hx4700-2.6.21-hh20-r14-hx4700.bin > > > regards, > > Koen > -BEGIN PGP SIGNATURE- > Version: GnuPG v1.4.5 (Darwin) > > iD4DBQFHzSexMkyGM64RGpERAhkGAKCgn+jaxjDvJnB25vrYjjsDn3IkWQCXTXwR > cUzEml/cUWCvbbgXQtLRcg== > =GCEc > -END PGP SIGNATURE- Situation on h5000: On current images boot params are problematic. Recently, due to kernel configuration change, root parameter was changed from /dev/mtdblock1 to mtd1. Initramfs kernel tries to boot from /dev/mtdblock. and that results in : "initramfs: Loading /initrd.d/90-check-modules.sh module No valid root device was specified. Please add root=/dev/something to the kernel command-line and try again. sh: can't access tty; job control turned off / $ " Changing linuxargs (in bootldr console or in /boot/params of jffs2 image) to root=/dev/mtdblock1 helps. The initramfs menu shows up. At this point - how to get params working out of the box? Some kind of syncing between initramfs kernel and regular kernel is needed - get both of them to support mtd1. Or maybe it is in the boot script waitnig to pass the root value as /dev/$1 or something like that ? Anther thing in that matter : How to get the second kernel (or kexec - i don't know which one is it) to be more talkative. Console gets silent after : "Kernel found in rootfs: lrwxrwxrwx1 00 63 Jan 3 1970 /mnt/boot/zImage -> zImage-initramfs-bootmenu-image-h5000-2.6.21-hh20-r14-h5000.bin /usr/sbin/kexec -f /mnt/boot/zImage --command-line=mtdparts=ipaq:[EMAIL PROTECTED](bootldr)ro,[EMAIL PROTECTED](root) root=/dev/mtc [ 22.36] dmabounce: device samcop sdi on platform bus unregistered [ 36.82] Starting new kernel [ 36.82] Bye! Uncompressing Linux... done, booting the k. " As it goes for the menu it can see following choices: 0 : mtdblock0 (unknown) 1 : mtdblock1 (jffs2) 2 : mtdblock2 (unknown) 3 : mtdblock3 (unknown) 4 : NFS (nfsroot=192.168.2.200:/srv/nfs/oe/image) 5 : shell Values 0 and 3 should get removed. SD boot should be added. A reset option would be nice too. Where in oe is the script controlling that menu ? The boot process: I chose "1" and the screen blanked. Nothing else happened until now. I am not sure if I did everything as it was supposed to be done. Judging form Koen's experience the new zImage should just be linked to old zImage in /boot dir. And that didn't work form me. The choice process itself is kind a hard - there are debug messages comming in from the keys driver that make the screen unreadable, but that is a different story. I would be grateful for some comments. -- Best regards Michal Panczyk ___ Angstrom-distro-devel mailing list Angstrom-distro-devel@linuxtogo.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/angstrom-distro-devel
Re: [Angstrom-devel] [Test fodder] initramfs images for h2200, h3900, h5000 and hx4700
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Michal Panczyk schreef: | At this point - how to get params working out of the box? Some kind of | syncing between initramfs kernel and regular kernel is needed - get | both of them to support mtd1. Or maybe it is in the boot script | waitnig to pass the root value as /dev/$1 or something like that ? See (thunderbird damaged) patch at the bottom | Anther thing in that matter : | How to get the second kernel (or kexec - i don't know which one is it) | to be more talkative. Console gets silent after : I noticed that as well, it would be nice if boot messages can go over serial, since psplash obscures them anyway. | As it goes for the menu it can see following choices: | 0 : mtdblock0 (unknown) | 1 : mtdblock1 (jffs2) | 2 : mtdblock2 (unknown) | 3 : mtdblock3 (unknown) | 4 : NFS (nfsroot=192.168.2.200:/srv/nfs/oe/image) | 5 : shell | | Values 0 and 3 should get removed. I think uncommenting line 85 of the bootmenu script would accomplish that (see patch). | SD boot should be added. AIUI that gets added when it detects an sd card, so something else is wrong. | A reset option would be nice too. | | Where in oe is the script controlling that menu ? org.openembedded.dev/packages/initrdscripts/files/30-bootmenu.sh | The boot process: | I chose "1" and the screen blanked. Nothing else happened until now. I | am not sure if I did everything as it was supposed to be done. Judging | form Koen's experience the new zImage should just be linked to old | zImage in /boot dir. And that didn't work form me. | | The choice process itself is kind a hard - there are debug messages | comming in from the keys driver that make the screen unreadable, but | that is a different story. That's probably a simple kernel patch, Paul, Milan? As promised, the totally untested patch: # old_revision [16f0fa7ec858ba228dd9d241b0cff7a309a42dff] # # patch "packages/initrdscripts/files/30-bootmenu.sh" # from [b378e73bcd2daa97bd9e9134000a2ade7fe2538f] #to [5d48cde70bc16d340f2c5ad3ec825874bec7c228] # - --- packages/initrdscripts/files/30-bootmenu.sh b378e73bcd2daa97bd9e9134000a2ade7fe2538f +++ packages/initrdscripts/files/30-bootmenu.sh 5d48cde70bc16d340f2c5ad3ec825874bec7c228 @@ -82,7 +82,7 @@ while read maj min nblk dev; do ~ get_partition_type ~ if [ "$fstype" != "ext2" -a "$fstype" != "ext3" -a "$fstype" != "vfat" -a "$fstype" != "jffs2" ]; then - -# continue + continue ~true ~ fi @@ -158,6 +158,7 @@ else ~ # jffs2 is not recognized by mount automagically ~ if [ "$fstype" == "(jffs2)" ]; then ~ROOT_FSTYPE="jffs2" +ROOT_DEVICE="$dev" ~ fi ~ CMDLINE="$CMDLINE root=$ROOT_DEVICE" ~ fi -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.5 (Darwin) iD8DBQFHzbu9MkyGM64RGpERAryRAJ9whcgOKGccyU58MDCeeiU+aoz6JgCgt0GF RcjqnsKt/eLWfLQDAWfeHO4= =KsvZ -END PGP SIGNATURE- ___ Angstrom-distro-devel mailing list Angstrom-distro-devel@linuxtogo.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/angstrom-distro-devel
Re: [Angstrom-devel] [Test fodder] initramfs images for h2200, h3900, h5000 and hx4700
This helps with the menu - it gets reduced to 3 positions. jffs nfs and shell. But I was not able to boot form mdt1 - it is looking for mtdblock1 Message read from LCD : ROOT_DEVICE=mtdblock1 CMDLINE=keepinitrd root=mtdblock1 (SNIP) loading modules "No valid root device was specified. Please add root=/dev/something to the kernel command line and try again." About the patch : We want to skip blockdevices and boot form mtdX - don't we ? Maybe the section " if [ "$fstype" == "(jffs2)" ]; then # ROOT_FSTYPE="jffs2" ROOT_DEVICE="$dev" fi" Should somehow compare the partitions numbers ? mtdblock1 should go to mtd1 and so on... Just haven't figured out how to do it in smart way ... Lack of console is annoying too. Is boot_root() section init.sh (in packages/initrdscripts/files/) responsible for that ? "cd $BOOT_ROOT exec switch_root -c /dev/console $BOOT_ROOT /sbin/init " How about changing /dev/console to something else (ie. ttyS0 ? ). Another thing that has crossed my mind today - LAB has nice feature - it there is no action taken it automatically scans for zImage and tries to boot from media that provides it. It would be nice too - especially after 100th boot when you don't want to choose again the proper device to boot from... > From: Koen Kooi <[EMAIL PROTECTED]> > Subject: Re: [Angstrom-devel] [Test fodder] initramfs images for > h2200, h3900, h5000 and hx4700 > -BEGIN PGP SIGNED MESSAGE- > Hash: SHA1 > > Michal Panczyk schreef: > > > | At this point - how to get params working out of the box? Some kind of > | syncing between initramfs kernel and regular kernel is needed - get > | both of them to support mtd1. Or maybe it is in the boot script > | waitnig to pass the root value as /dev/$1 or something like that ? > > See (thunderbird damaged) patch at the bottom > > | Anther thing in that matter : > | How to get the second kernel (or kexec - i don't know which one is it) > | to be more talkative. Console gets silent after : > > I noticed that as well, it would be nice if boot messages can go over > serial, since psplash obscures them anyway. > > | As it goes for the menu it can see following choices: > | 0 : mtdblock0 (unknown) > | 1 : mtdblock1 (jffs2) > | 2 : mtdblock2 (unknown) > | 3 : mtdblock3 (unknown) > | 4 : NFS (nfsroot=192.168.2.200:/srv/nfs/oe/image) > | 5 : shell > | > | Values 0 and 3 should get removed. > > I think uncommenting line 85 of the bootmenu script would accomplish > that (see patch). > > | SD boot should be added. > > AIUI that gets added when it detects an sd card, so something else is wrong. > > | A reset option would be nice too. > | > | Where in oe is the script controlling that menu ? > > org.openembedded.dev/packages/initrdscripts/files/30-bootmenu.sh > > | The boot process: > | I chose "1" and the screen blanked. Nothing else happened until now. I > | am not sure if I did everything as it was supposed to be done. Judging > | form Koen's experience the new zImage should just be linked to old > | zImage in /boot dir. And that didn't work form me. > | > | The choice process itself is kind a hard - there are debug messages > | comming in from the keys driver that make the screen unreadable, but > | that is a different story. > > That's probably a simple kernel patch, Paul, Milan? > > As promised, the totally untested patch: > > > # old_revision [16f0fa7ec858ba228dd9d241b0cff7a309a42dff] > # > # patch "packages/initrdscripts/files/30-bootmenu.sh" > # from [b378e73bcd2daa97bd9e9134000a2ade7fe2538f] > #to [5d48cde70bc16d340f2c5ad3ec825874bec7c228] > # > > - --- packages/initrdscripts/files/30-bootmenu.sh > b378e73bcd2daa97bd9e9134000a2ade7fe2538f > +++ packages/initrdscripts/files/30-bootmenu.sh > 5d48cde70bc16d340f2c5ad3ec825874bec7c228 > @@ -82,7 +82,7 @@ while read maj min nblk dev; do > > ~ get_partition_type > ~ if [ "$fstype" != "ext2" -a "$fstype" != "ext3" -a "$fstype" != > "vfat" -a "$fstype" != "jffs2" ]; then > - -# continue > + continue > ~true > ~ fi > > @@ -158,6 +158,7 @@ else > ~ # jffs2 is not recognized by mount automagically > ~ if [ "$fstype" == "(jffs2)" ]; then > ~ROOT_FSTYPE="jffs2" > +ROOT_DEVICE="$dev" > ~ fi > ~ CMDLINE="$CMDLINE root=$ROOT_DEVICE" > ~ fi > -BEGIN PGP SIGNATURE- > Version: GnuPG v1.4.5 (Darwin) > > iD8DBQFHzbu9MkyGM64RGpERAryRAJ9whcgOKGccyU58MDCeeiU+aoz6JgCgt0GF > RcjqnsKt/eLWfLQDAWfeHO4= > =KsvZ > -END PGP SIGNATURE- -- Best regards Michal Panczyk ___ Angstrom-distro-devel mailing list Angstrom-distro-devel@linuxtogo.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/angstrom-distro-devel
Re: [Angstrom-devel] [Test fodder] initramfs images for h2200, h3900, h5000 and hx4700
Hello, On Thu, 6 Mar 2008 00:44:02 +0100 "Michal Panczyk" <[EMAIL PROTECTED]> wrote: > This helps with the menu - it gets reduced to 3 positions. jffs nfs > and shell. But I was not able to boot form mdt1 - it is looking for > mtdblock1 Message read from LCD : > ROOT_DEVICE=mtdblock1 > CMDLINE=keepinitrd root=mtdblock1 That's very strange - that should be /dev/mtdblock1 at least. Actually, it cannot be just "mtdblock1" except for when you pass root= on original kernel command line (from bootloader) - mere look at the code will prove that. > > (SNIP) loading modules > > "No valid root device was specified. Please add root=/dev/something to > the kernel command line and try again." > > About the patch : > We want to skip blockdevices and boot form mtdX - don't we ? Not quite. We want to remove mtdblock driver from kernel while still be able that boot with "dumb" kernel. Making initramfs to use fake device names for mounting might be a good optimization, but only an optimization - and initramfs-bootmenu can use lots of them. The functionality is still primary then. > Maybe the section > " if [ "$fstype" == "(jffs2)" ]; then > # ROOT_FSTYPE="jffs2" > ROOT_DEVICE="$dev" > fi" > Should somehow compare the partitions numbers ? mtdblock1 should go to > mtd1 and so on... Just haven't figured out how to do it in smart way > ... > > Lack of console is annoying too. This is cryptic at all. > Is boot_root() section init.sh (in packages/initrdscripts/files/) > responsible for that ? > "cd $BOOT_ROOT > exec switch_root -c /dev/console $BOOT_ROOT /sbin/init > " > How about changing /dev/console to something else (ie. ttyS0 ? ). > Another thing that has crossed my mind today - LAB has nice feature - > it there is no action taken it automatically scans for zImage and > tries to boot from media that provides it. It would be nice too - > especially after 100th boot when you don't want to choose again the > proper device to boot from... Obviously, that's one of the important functionality features to add before we'll be able to switch to it - I don't want to regress stuff for people who used to use LAB and other bootloaders. > > > From: Koen Kooi <[EMAIL PROTECTED]> > > Subject: Re: [Angstrom-devel] [Test fodder] initramfs images for > > h2200, h3900, h5000 and hx4700 > > -BEGIN PGP SIGNED MESSAGE- > > Hash: SHA1 > > > > Michal Panczyk schreef: > > > > > > | At this point - how to get params working out of the box? Some > > kind of | syncing between initramfs kernel and regular kernel is > > needed - get | both of them to support mtd1. Or maybe it is in the > > boot script | waitnig to pass the root value as /dev/$1 or > > something like that ? > > > > See (thunderbird damaged) patch at the bottom > > > > | Anther thing in that matter : > > | How to get the second kernel (or kexec - i don't know which one > > is it) | to be more talkative. Console gets silent after : > > > > I noticed that as well, it would be nice if boot messages can go > > over serial, since psplash obscures them anyway. > > > > | As it goes for the menu it can see following choices: > > | 0 : mtdblock0 (unknown) > > | 1 : mtdblock1 (jffs2) > > | 2 : mtdblock2 (unknown) > > | 3 : mtdblock3 (unknown) > > | 4 : NFS (nfsroot=192.168.2.200:/srv/nfs/oe/image) > > | 5 : shell > > | > > | Values 0 and 3 should get removed. > > > > I think uncommenting line 85 of the bootmenu script would > > accomplish that (see patch). > > > > | SD boot should be added. > > > > AIUI that gets added when it detects an sd card, so something else > > is wrong. > > > > | A reset option would be nice too. > > | > > | Where in oe is the script controlling that menu ? > > > > org.openembedded.dev/packages/initrdscripts/files/30-bootmenu.sh > > > > | The boot process: > > | I chose "1" and the screen blanked. Nothing else happened until > > now. I | am not sure if I did everything as it was supposed to be > > done. Judging | form Koen's experience the new zImage should just > > be linked to old | zImage in /boot dir. And that didn't work form > > me. | > > | The choice process itself is kind a hard - there are debug > > messages | comming in from the keys driver that make the screen > > unreadable, but | that is a different story. > > > > That's probably a simple kernel patch,
Re: [Angstrom-devel] [Test fodder] initramfs images for h2200, h3900, h5000 and hx4700
Hello, On Tue, 4 Mar 2008 21:39:41 +0100 "Michal Panczyk" <[EMAIL PROTECTED]> wrote: > Hi, > > From: Koen Kooi <[EMAIL PROTECTED]> > > Subject: [Angstrom-devel] [Test fodder] initramfs images for h2200, > > h3900, h5000 and hx4700 > > Hi, > > > > As you may have read on the website news: > > > > > > http://www.angstrom-distribution.org/unstable/autobuild/h2200/zImage-initramfs-bootmenu-image-h2200-2.6.21-hh20-r14-h2200.bin > > > > http://www.angstrom-distribution.org/unstable/autobuild/h3900/zImage-initramfs-bootmenu-image-h3900-2.6.21-hh20-r14-h3900.bin > > > > http://www.angstrom-distribution.org/unstable/autobuild/h5000/zImage-initramfs-bootmenu-image-h5000-2.6.21-hh20-r14-h5000.bin > > > > http://www.angstrom-distribution.org/unstable/autobuild/hx4700/zImage-initramfs-bootmenu-image-hx4700-2.6.21-hh20-r14-hx4700.bin > > > > > > regards, > > > > Koen > > -BEGIN PGP SIGNATURE- > > Version: GnuPG v1.4.5 (Darwin) > > > > iD4DBQFHzSexMkyGM64RGpERAhkGAKCgn+jaxjDvJnB25vrYjjsDn3IkWQCXTXwR > > cUzEml/cUWCvbbgXQtLRcg== > > =GCEc > > -END PGP SIGNATURE- > > Situation on h5000: > > On current images boot params are problematic. Recently, due to kernel > configuration change, root parameter was changed from /dev/mtdblock1 > to mtd1. Initramfs kernel tries to boot from /dev/mtdblock. and > that results in : > "initramfs: Loading /initrd.d/90-check-modules.sh module > No valid root device was specified. Please add root=/dev/something to > the kernel command-line and try again. > > sh: can't access tty; job control turned off > / $ " > > Changing linuxargs (in bootldr console or in /boot/params of jffs2 > image) to root=/dev/mtdblock1 helps. The initramfs menu shows up. That's not expected behavior! Passing "root=" on a kernel command line should skip showing menu and lead to the direct boot from the specified device. > > At this point - how to get params working out of the box? Some kind of > syncing between initramfs kernel and regular kernel is needed - get > both of them to support mtd1. While RFCing initramfs-bootmenu, I made explicit stress that there is not going to be "initramfs" kernel and "regular" kernel - this is going to be the *same* kernel. Why so? Is it required? Of course no, that's just important simplification measure, first of all designed to keep people from the confusion. > Or maybe it is in the boot script > waitnig to pass the root value as /dev/$1 or something like that ? No, no, and no. No "wanting", no magic. Value of root= is a value of root= as described in the kernel documentation. Anything working for "dumb" kernel should be working for initramfs-bootmenu. If that's not the case, please provide exact objective steps to reproduce it (objective steps are those "I pass kernel command line 'command line' to the initramfs kernel"). > > Anther thing in that matter : > How to get the second kernel (or kexec - i don't know which one is it) > to be more talkative. Console gets silent after : Again, no magic. "console=" kernel param responsible for that. initramfs-bootmenu passes all the original kernel parameters to the production kernel, only adding root= based on user selection. So, just console= properly, and you get what you want. And of course, if you have broken a bootloaders which passes crappy command lines behind your back, you should take your control back of the commandline still! > > "Kernel found in rootfs: > lrwxrwxrwx1 00 63 Jan 3 1970 > /mnt/boot/zImage -> > zImage-initramfs-bootmenu-image-h5000-2.6.21-hh20-r14-h5000.bin > /usr/sbin/kexec -f /mnt/boot/zImage > --command-line=mtdparts=ipaq:[EMAIL PROTECTED](bootldr)ro,[EMAIL > PROTECTED](root) > root=/dev/mtc That's good proof of what I wrote above. > [ 22.36] dmabounce: device samcop sdi on platform bus > unregistered [ 36.82] Starting new kernel > [ 36.82] Bye! > Uncompressing > Linux... > done, booting the k. " > > As it goes for the menu it can see following choices: > 0 : mtdblock0 (unknown) > 1 : mtdblock1 (jffs2) > 2 : mtdblock2 (unknown) > 3 : mtdblock3 (unknown) > 4 : NFS (nfsroot=192.168.2.200:/srv/nfs/oe/image) > 5 : shell > > Values 0 and 3 should get removed. As was described, they are debug output. > SD boot should be added. There's no such thing as "SD boot". initramfs-bootmenu allows to boot from any block device present in the system. If you have block device behind your SD card, you can boot from it. What should be added here is "Rescan partitions" menu choice. > A reset option would be nice too. Reset is a button on a device. > Where in oe is the script controlling that menu ? Well, by now you should be able to answer such questions yourself ;-). > The boot process: > I chose "1" and the screen blanked. Nothing else happened until now. Impossible. You should get log output on your console te