Home Page The Club Computers News Links Glossary EYAWTK
Before Amiga Background ICS OCS ECS AGA ??? PPC
U-Boot SLB Linux Amiga OS Dual Boot Hardware Peripherals Other
Initialisation U-Boot Select U-Boot Prefs AmigaOS Prefs Commands Variables Firmware

AmigaOne - U-Boot - Initialisation

When the computer is started, the basic x86 emulator integrated into U-boot will perform a number of hardware checks which can only be seen by connecting a null-modem cable to the serial port and capturing the output on another computer or serial terminal as shown below:

U-Boot 1.1.1 (Mar  3 2005 - 16:42:53), Build: 03/03/05

CPU:   750FX v2.2 @ 800 MHz
Board: AmigaOne
Information for SIMM bank 0:
Number of banks: 1
Number of row addresses: 13
Number of coumns addresses: 11
SIMM is registered
Supported burst lenghts: 8 4 2 1 PAGE
Supported CAS latencies: CAS 3 CAS 2
RAS to CAS latency: 3
Precharge latency: 3
SDRAM highest CAS latency: 750
SDRAM 2nd highest CAS latency: 1000
SDRAM data width: 4
Auto Refresh supported
Refresh time: 1042 clocks
Bank 0 size: 512 MB

Slot 1: vacant
DIMM0_B0_SCR0 = 0x00ff9f00
DIMM0_B1_SCR0 = 0x007f9f00
DIMM0_B2_SCR0 = 0x007f9f00
DIMM0_B3_SCR0 = 0x007f9f00
Using CAS 3 (slow)
DRAM_GCR0 = 0x00550400
Refresh set to 2083 clocks, auto refresh on
DRAM_REFRESH0 = 0x00019823
Mode bank 0: 0x00008032
512 MB
FLASH:  0 kB
VGA:   0 ..
In:    serial
Out:   serial
Err:   serial

The exact content that is captured will depend on your machine and the components connected to it, but the same checks will be done albeit with different results. If you have any hardware issues that cause the machine to fail before reaching the display stage, this is a useful place to look.

It then executes the ROM of your graphics card, at which point the display will be switched on and the first information will appear. The remaining hardware is then checked and initialised. U-Boot will display what kind of hardware you have:

U-Boot Initialisation Display
This will show the SCSI card (if available), the network card, and the IDE bus contents (hard disks, CD drives), etc. If the U-Boot parameters do NOT have the "bootdelay" variable set, it will immediately jump to the U-Boot Menuboot Delay panel, otherwise it will display the text "Press any key to interrupt autoboot" and at the end of the line a countdown will run (the duration is set by the "bootdelay" environment variable), as shown below:

U-Boot Initialisation Display

Pressing any key will terminate the countdown sequence. However, if you press the Space bar, it will go straight to the U-Boot Menuboot Delay panel, otherwise the U-Boot Console will be displayed.

U-Boot Console Display
Much of the information displayed is similar to the previous display but nothing else will happen. A prompt is set to ']' and the cursor blinks waiting for you to enter text commands as shown below:

U-Boot Console Display

The U-boot console lets you execute directly a lot of commands as detailed in the U-Boot Commands section. It's a bit like using an Amiga or Linux shell but a very basic one with no short-cuts. You can display information about your hardware, display and set environment variables, boot an operating system etc.

One very important piece of information you can see from this screen is the U-Boot version information at the top of the screen. This may show different information depending on the version of the firmware: release in the U-Boot ROM, such as:

    U-Boot 1.1.1 (Mar  3 2005 - 16:42:53) - still the latest as at April 1, 2006
    U-Boot 1.1.1 (Sep 16 2004 - 14:53:17)
    U-Boot 1.1.1 (Oct  4 2004 - 16:42:03)
    U-Boot 1.0.0 (Apr 12 2004 - 14:05:39)
    U-Boot 0.1.1 (Sep 10 2003 - 14:56:50)

Note that the version number is not always what it seems - you must check the release date and time as well, because the version number is kept the same as the GPL source upon which it is based even if more changes are made to it.

Occasionally you may see a spate of error messages for the CDROM or DVD drives as shown below:

U-Boot Console Errors

This is nothing to get alarmed about - it simply means that you have left a non-bootable CD (probably a music CD) in the drive and U-Boot couldn't read it.

U-Boot Booting Options
At this point U-Boot interrogates the boot_method environment variable and if this is set to "boota" then the following processes are performed otherwise it performs the Linux stand-alone "diskboot" procedure.

If "boota" is specified it then reads the bootcmd environment variable and executes the value specified. The default value is "menu; run menuboot_cmd" which instructs U-Boot to display the U-Boot Menuboot Delay Panel which in turn loads the First-Level Booter and then to run the value specified by the menuboot_cmd environment variable as discussed below.

U-Boot Menuboot Delay Panel
This panel shows a semi-graphical progress bar as shown below and provides a short delay before the First-Level booter (FLB) is invoked. The length of the delay is determined by the menuboot_delay environment variable.

U-Boot Menuboot Delay Panel

Pressing any key will terminate the countdown sequence. If you press the Enter Key it will invoke the U-Boot Boot Select screen, but if you press any other key it will invoke the U-Boot Preferences Menu screen. If no keys are pressed the First-Level booter will run.

First-Level Booter
In most situations this process will be almost invisible in that text will flash on the screen for an instant only to be replaced by the SLB menu. The following panel therefore shows the text that you do not normally see:

First-level bootloader: entered main
First-level bootloader: got 3 valid boot sources
AmigaOS4 first-level bootloader.
Scanning HDD ST380011A 3JV1T5PP 3.06...
Entered find_sec_bl_start
Reading sector 0
Reading sector 1
Found an HD
FLB: found something
FLB: SLB of length 27828; loading
found AmigaOS4 second level bootloader.
FLB: SLB loaded; now launching it
Loading .text @ 0x014000a0 (22464 bytes)
Loading .rodata @ 0x01405860 (2488 bytes)
Loading .eh_frame @ 0x01406218 (52 bytes)
Loading .got2 @ 0x0141624c (724 bytes)
Loading .data @ 0x01416520 (208 bytes)
Loading .sdata @ 0x014165f0 (16 bytes)
Clearing .sbss @ 0x01416600 (168 bytes)
Clearing .bss @ 0x014166a8 (3928 bytes)

As you can see it's role is to scan the hard drives to locate the Second Level Booter, and load it.

The behaviour of U-boot depends on the settings that have been entered by you, or by the dealer you purchased your computer from, so it may behave slightly different to what is described here, but hopefully it should be similar.

Disclaimer: Amiga Auckland have prepared the above information for the use of its members based on our experiences and as such is subject to revision at any time. Amiga Auckland cannot guarantee any of the information and cannot be held accountable for any issues that may result from using it.

Copyright 2006 Amiga Auckland Inc. All rights reserved.
Revised: February 9, 2006.