Problem with narcissus images. Used to work though...

40 views
Skip to first unread message

Brice Rebsamen

unread,
Feb 24, 2009, 4:56:46 AM2/24/09
to Beagle Board
last month I used narcissus to build an angstrom image. and everything
was working fine.

Today I tried to install espeak + portaudio but it did not work (I
posted another message about that). Then I tried to install flite,
still same problem. So I tried an upgrade to see if it would solve the
problem. However the upgrade does not work, it get stuck at installing
coreutils!

So I tried to create a new image with narcissus, with the hope that it
would come with the most recent packages, but I could not get it to
boot. Anything changed?

Fortunately I had kept an image of my old system...

- Why coreutils refuses to install?
- Why espeak and flite crash (horrible crash that hangs the system,
see another post from me)?
- Why can't I boot the narcissus image?

Brice

Frans Meulenbroeks

unread,
Feb 24, 2009, 5:37:01 AM2/24/09
to Beagle Board
On your new image in the fat partition rename the file uimage to
uimage.bin
that will fix the booting problem. Apparently then new uboot uses
uimage.bin but that has not been changed yet in the code that
generates the image.

Frans.

Brice Rebsamen

unread,
Feb 26, 2009, 11:36:06 PM2/26/09
to Beagle Board
Narcissus provided fat partition contains uimage.bin (as of today).
Does not boot.

I renamed to uImage (old format), still does not boot.

help?




On Feb 24, 6:37 pm, Frans Meulenbroeks <fransmeulenbro...@gmail.com>
wrote:

Jason Kridner

unread,
Feb 27, 2009, 12:30:58 AM2/27/09
to beagl...@googlegroups.com

On Feb 26, 2009, at 10:36 PM, Brice Rebsamen wrote:

>
> Narcissus provided fat partition contains uimage.bin (as of today).
> Does not boot.
>
> I renamed to uImage (old format), still does not boot.
>
> help?

Do you have v1.4.1 or v1.4.2 of x-loader/MLO? v1.4.2 will look for
the u-boot.bin file on the SD card and might help you boot.

Brice Rebsamen

unread,
Mar 1, 2009, 11:34:36 PM3/1/09
to Beagle Board
Sorry for late reply, I've had a hard time testing configurations and
reading guides... Over the weekend I learned to erase the NAND,
reflash it, and change the xloader. So no I am using the 1.4.2 x-
loader. I am trying to run Koen's demo image (the latest one, with
kernel 2.6.28). If I interrupt the autoboot and manually type:

setenv bootargs 'console=ttyS2,115200n8 console=tty0 root=/dev/
mmcblk0p2 rw rootfstype=ext3 rootwait
omapfb.video_mode=1024x768MR-16@60'
setenv bootcmd 'mmcinit; fatload mmc 0 0x80300000 uImage.bin; bootm
0x80300000'
run bootcmd

then it boots properly and the screen lights up.
But I can't save them in the NAND. I tried 'nand unlock' too but no
luck.

So I am thinking that maybe they are saved but overridden by u-
boot.bin. Can it be? How can I check the value of these variables? How
to set things properly?

Below is the messages I get. Note that it says 'booting from mmc'




Texas Instruments X-Loader 1.4.2 (Aug 8 2008 - 16:59:05)
Reading boot sector
Booting from mmc


U-Boot 2009.01-00013-g52eddcd (Feb 03 2009 - 22:25:11)

OMAP3530-GP rev 2, CPU-OPP2 L3-165MHz
OMAP3 Beagle board + LPDDR/NAND
DRAM: 128 MB
NAND: 256 MiB
Using default environment

In: serial
Out: serial
Err: serial
Board revision Ax/Bx
Serial #5ac400030000000004013f8901001001
Hit any key to stop autoboot: 0
reading boot.scr

** Unable to read "boot.scr" from mmc 0:1 **
reading uImage.bin

2617100 bytes read
reading ramdisk.gz

** Unable to read "ramdisk.gz" from mmc 0:1 **
Booting from mmc ...
## Booting kernel from Legacy Image at 80200000 ...
Image Name: Angstrom/2.6.28/beagleboard
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 2617036 Bytes = 2.5 MB
Load Address: 80008000
Entry Point: 80008000
Verifying Checksum ... OK
Loading Kernel Image ... OK
OK

Starting kernel ...

Uncompressing
Linux.......................................................................................................................................
Linux version 2.6.28-omap1 (koen@dominion) (gcc version 4.3.1 (GCC) )
#1 Mon Feb 2 21:11:52 CET
2009
CPU: ARMv7 Processor [411fc083] revision 3 (ARMv7),
cr=10c5387f
CPU: VIPT nonaliasing data cache, VIPT nonaliasing instruction
cache
Machine: OMAP3 Beagle
Board
Memory policy: ECC disabled, Data cache
writeback
OMAP3430
ES3.0
SRAM: Mapped pa 0x40200000 to va 0xd7000000 size:
0x100000
Reserving 15728640 bytes SDRAM for
VRAM
Built 1 zonelists in Zone order, mobility grouping on. Total pages:
32512
Kernel command line: console=ttyS2,115200n8 root=/dev/mmcblk0p2 rw
rootfstype=ext3 rootwait

Frans Meulenbroeks

unread,
Mar 2, 2009, 2:24:31 AM3/2/09
to Beagle Board
Hmm.

I had problems too with saveenv not working on the narcissus image I
downloaded last friday.
Haven't looked into it yet, but will try if older versions still work.

FM.

Brice Rebsamen

unread,
Mar 2, 2009, 3:44:24 AM3/2/09
to Beagle Board
What should be in the NAND? I loaded x-load.bin.ift 1.4.2
What should be in higher memory addresses?
Is it necessary to load the u-boot uImage and file system as in
http://elinux.org/BeagleBoardNAND ?




On Mar 2, 3:24 pm, Frans Meulenbroeks <fransmeulenbro...@gmail.com>

jan.sz...@eng.uts.edu.au

unread,
Mar 2, 2009, 5:10:06 AM3/2/09
to Beagle Board
Brice,

Read this one http://download.micron.com/pdf/technotes/nand/tn2916.pdf
Hope it will help.

Jan

Brice Rebsamen

unread,
Mar 2, 2009, 10:37:36 PM3/2/09
to Beagle Board
The document Jan sent me describes the boot from NAND process. The
NAND contains the X-loader, u-boot, the kernel and the root file
system. Briefly: code in ROM loads the X-loader in RAM, which in turn
loads the bootloader u-boot, which in turn loads the kernel. The
kernel then directly uses the file system on the NAND. In that case no
MMC is needed: the NAND contains everything to run the OS (and a few
apps ?). Is that correct?

The recommended setup to run Angstrom though is to set the MMC with 2
partitions: a FAT boot partition and an EXT3 partition for the rootfs.
The FAT partition contains the MLO (I read somewhere that this is the
X-loader renamed...?), the bootloader u-boot.bin and the kernel image
uImage.bin. In that case it seems that the NAND is not needed anymore,
and actually, if we power off while pressing the user button, it boots
directly from the MMC.

Then I guess there is a mixed mode, to initially boot from the NAND,
to the point where it reads instructions that tell how to boot from
the MMC. It's equivalent (?) to booting directly from MMC except that
there is no need to press the user button (?). In that case the NAND
needs to contain the X-loader, u-boot and u-boot environment data.

My question is: how to store the kernel option in the NAND and make
sure that the kernel boots with those options?



In a post above I copied the messages on the serial terminal:

Texas Instruments X-Loader 1.4.2 (Aug 8 2008 - 16:59:05)
Reading boot sector
Booting from mmc

Is this the X-loader located in the NAND or in the FAT partition of
the MMC? My guess is that it's the one from the NAND. Then it goes
read the boot sector on the MMC, which is valid, so it boots from the
MMC and reads uBoot which performs some checks before going on with
the automatic process:

reading boot.scr
** Unable to read "boot.scr" from mmc 0:1 **
reading uImage.bin
2617100 bytes read
reading ramdisk.gz
** Unable to read "ramdisk.gz" from mmc 0:1 **
Booting from mmc ...
## Booting kernel from Legacy Image at 80200000 ...

So here we can that it searches for boot.scr, which I read should
contain some rules on how to boot... but I don't have it. Then it
reads the kernel but fails to find the ramdisk image because it's not
on the card. Finally it boots the kernel

Kernel command line: console=ttyS2,115200n8 root=/dev/mmcblk0p2 rw
rootfstype=ext3 rootwait

Where does it get that command line from? I thought is should be in
the NAND (saved with saveenv) but that's not the command I saved. Mine
contains info on the video frame buffer.

Please someone enlight me!




On Mar 2, 6:10 pm, jan.szyman...@eng.uts.edu.au wrote:
> Brice,
>
>  Read this onehttp://download.micron.com/pdf/technotes/nand/tn2916.pdf

Jason Kridner

unread,
Mar 3, 2009, 12:21:58 AM3/3/09
to beagl...@googlegroups.com

On Mar 2, 2009, at 9:37 PM, Brice Rebsamen wrote:
>
> The document Jan sent me describes the boot from NAND process. The
> NAND contains the X-loader, u-boot, the kernel and the root file
> system. Briefly: code in ROM loads the X-loader in RAM, which in turn
> loads the bootloader u-boot, which in turn loads the kernel. The
> kernel then directly uses the file system on the NAND. In that case no
> MMC is needed: the NAND contains everything to run the OS (and a few
> apps ?). Is that correct?

Yes, that is a perfectly reasonable configuration.

>
> The recommended setup to run Angstrom though is to set the MMC with 2
> partitions: a FAT boot partition and an EXT3 partition for the rootfs.
> The FAT partition contains the MLO (I read somewhere that this is the
> X-loader renamed...?), the bootloader u-boot.bin and the kernel image
> uImage.bin. In that case it seems that the NAND is not needed anymore,
> and actually, if we power off while pressing the user button, it boots
> directly from the MMC.

MLO version 1.4.2 will read u-boot off of the SD card, so it would be
the only thing read from NAND. If the NAND was blank, you'd fall over
to booting from MMC/SD, even if the USER button wasn't pressed.

>
> Then I guess there is a mixed mode, to initially boot from the NAND,
> to the point where it reads instructions that tell how to boot from
> the MMC. It's equivalent (?) to booting directly from MMC except that
> there is no need to press the user button (?). In that case the NAND
> needs to contain the X-loader, u-boot and u-boot environment data.

Not if using MLO version 1.4.2, because then u-boot.bin is read from
the MMC/SD card. U-boot environment depends on the version of u-
boot.bin you are running. The one on the RevC validation page (u-
boot.bin, not u-boot-f.bin) has a hack in it to ignore the environment
variables in NAND and just use the defaults built in to u-boot. Those
defaults now attempt to read a boot script (boot.scr) from the SD card.

>
> My question is: how to store the kernel option in the NAND and make
> sure that the kernel boots with those options?

If that is where you want to store the kernel options, make sure the
SD card doesn't have a u-boot.bin that ignores the environment in the
NAND. u-boot-f.bin on the RevC validation page uses the environment
in NAND, as does normally building u-boot.bin from scratch.

>
> In a post above I copied the messages on the serial terminal:
>
> Texas Instruments X-Loader 1.4.2 (Aug 8 2008 - 16:59:05)
> Reading boot sector
> Booting from mmc
>
> Is this the X-loader located in the NAND or in the FAT partition of
> the MMC? My guess is that it's the one from the NAND. Then it goes
> read the boot sector on the MMC, which is valid, so it boots from the
> MMC and reads uBoot which performs some checks before going on with
> the automatic process:

Correct.

>
>
> reading boot.scr
> ** Unable to read "boot.scr" from mmc 0:1 **
> reading uImage.bin
> 2617100 bytes read
> reading ramdisk.gz
> ** Unable to read "ramdisk.gz" from mmc 0:1 **
> Booting from mmc ...
> ## Booting kernel from Legacy Image at 80200000 ...
>
> So here we can that it searches for boot.scr, which I read should
> contain some rules on how to boot... but I don't have it. Then it
> reads the kernel but fails to find the ramdisk image because it's not
> on the card. Finally it boots the kernel
>
> Kernel command line: console=ttyS2,115200n8 root=/dev/mmcblk0p2 rw
> rootfstype=ext3 rootwait
>
> Where does it get that command line from? I thought is should be in
> the NAND (saved with saveenv) but that's not the command I saved. Mine
> contains info on the video frame buffer.
>

If you took the u-boot.bin from the RevC validation page, it is
getting this from the default environment settings built in to u-
boot.bin. Sorry for causing this confusion. If you use the u-boot-
f.bin, what you are expecting should happen.

Brice Rebsamen

unread,
Mar 3, 2009, 4:09:13 AM3/3/09
to Beagle Board
Thank you Jason for the clarifications. Now I am getting a much
clearer picture.

> > My question is: how to store the kernel option in the NAND and make
> > sure that the kernel boots with those options?
>
> If that is where you want to store the kernel options, make sure the
> SD card doesn't have a u-boot.bin that ignores the environment in the
> NAND. u-boot-f.bin on the RevC validation page uses the environment
> in NAND, as does normally building u-boot.bin from scratch.

Actually what I want is to activate the HDMI output.
It seems that the way to do it with Koen's latest demo image is to
pass the kernel the following options:
setenv bootargs 'console=ttyS2,115200n8 console=tty0 root=/dev/
mmcblk0p2 rw rootfstype=ext3 rootwait
omapfb.video_mode=1024x768MR-16@60'
setenv bootcmd 'mmcinit; fatload mmc 0 0x80300000 uImage.bin; bootm
0x80300000'
If I type them at the boot command prompt then the HDMI output is
activated. But I would like to enable HDMI automatically, without
having to connect the serial link and type the commands.
So where shall I put them now? in boot.scr?

Frans Meulenbroeks

unread,
Mar 3, 2009, 7:30:04 AM3/3/09
to Beagle Board
Brice, I had the same problem.
What I did was download a u-boot.bin from code.google.com and use that
one. That apparently read the env vars from nand.
Nasty thing is that I do not know the url any more, but the text said
it was a u-boot for rev c which also worked for rev b.

Good luck, Frans

Brice Rebsamen

unread,
Mar 3, 2009, 8:46:08 PM3/3/09
to Beagle Board
Finally I got it to work!
I used http://beagleboard.googlecode.com/files/u-boot-f_revc_v1.bin
I put it on the fat partition together with MLO and uImage
and it reads the env vars from nand.
Many thanks to all of you

On Mar 3, 8:30 pm, Frans Meulenbroeks <fransmeulenbro...@gmail.com>
wrote:
Reply all
Reply to author
Forward
0 new messages