newbie: trying to understand the boot process

Kristoff Bonne
Hi,


I just gave got my mini2440 as of last week. I am trying to understand how
all the software-components "fit together", but I must say I am a bit
"overwelmed" by all the information I find on the net.

So please excuse me if I ask information that is also available elsewhere:
- what is the link / difference between the different components on the
boot-menu?
-> vivi and supervivi
-> the linux kernel and the root_yaffs image
-> what is the difference between "download linuxkernel" and "download
zImage"?
-> what is the "User Application"?

- what is the difference between the unix tools "bootusb" and "usbpush".

- What is the memory map of the system?
Sofar, I seams to have found this?
-> RAM start at 0x30000000 (or is it 0x30006000?)
-> NAND flash starts at 0x00006000? (or is it 0x00000000?)
What does the rest of the memory-map look like?

- How exactly does booting the system go?

AFAIK, for "normal" operations, it goes like this.
-> first the board starts the bootloader ("supervivi") from ROM flash?
(does it run directly from flash or does it copy it first in RAM and then
start it).
-> If you do "b", it copies the content of the NAND flash (i.e. the linux
hernel, address 0x0006000) to RAM (0x30008000) and then boots it, passing
it some parameters).

Why does it copy it 0x30008000 and not to 0x30000000? Is there something in
the first 0x8000 octets of the RAM)

What address does the linux-kernel start? Does the system do a "go
0x30000000") or to "030008000")?


Any other info welcome.

I want to see if we can use this board for a number of HAM-related
projectes.
-> transport voice over an ethernet link
-> D-STAR (digital voice)
-> gmsk encoder/decoder

Cheerio! Kr. Bonne.

davef
I believe Vivi is just an older version of Supervivi

the linux kernel is the operating system
root_yaffs image is root filesystem image type YAFFS2

User application is just the user programs you want to run

Had to look up "bootusb" To my surprise u-boot can actually boot off a USB
drive. 

http://processors.wiki.ti.com/index.php/Booting_Linux_kernel_using_U-Boot

Memory map - hit the downloads page
http://www.friendlyarm.net/dl.php?file=mini2440_manual.pdf and look in the
first few chapters.

Is there something in the first 0x8000 octets of the RAM)?  I think it is
either the bad block tables or the bootloader environment (env).  Bad block
tables are in a special part of flash.

What address does the linux-kernel start? Does the system do a "go
0x30000000") or to "030008000")?  In my experience is always seems to boot
from 030008000

Another good book is "Building Embedded Linux System" which can be found
on-line.

Kristoff
Hi Dave,

Thanks!

I'm sorry for the late reply. In the mean time, I managed to (by accident)
zap the OS from the board and re-install it; so we are getting there. :-)

I did find out that the flash actually has three partitions: one for the
bios/bootloader/... (supervivi), one for the linux kernel and one for the
linux filesystem.
I did manage to compile a kernel and get it installed on the flash 2nd
partition. It does boot if I start from the NOR flash and do "b" (boot),
but not when start automatically if I boot the board from NAND flash. (I
thought this was practically the same).

I did install a kernel I cross-compiled myself so I now have
module-support. This makes it easier for me to add things to the kernel
(like ipv6) without having to reinstall the kernel completely. Just compile
the kernel-module. Copy it over the the board, do "depmod" and then
"modprobe ..." and that's it.

bootusb is indeed an interesting option.
And thanks for the interesting links.


One I get the board to boot automatically from NAND flash, I can start
working on the actual applications I want to do. :-)


Cheerio!
Kristoff

davef
> but not when start automatically if I boot the board from NAND flash.

Search the site, many people have run into this problem. Applies to bigger
than 64M machines, from memory.  Also, buserror's site at:
http://groups.google.com/group/mini2440

Good luck!
Dave