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 - Commands


The U-boot console lets you execute a lot of CLI type commands. 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. It should be noted that some of these have changed with different versions of U-Boot.

The following commands are supported by U-Boot:

askenv   - get environment variables from stdin

    askenv name [message] [size]
    - get environment variable 'name' from stdin (max 'size' chars)
    askenv name
    - get environment variable 'name' from stdin
    askenv name size
    - get environment variable 'name' from stdin (max 'size' chars)
    askenv name message size
    - display 'message' string and get environment variable 'name'
      from stdin (max 'size' chars)
autoscr  - run script from memory
    autoscr [addr]
    - run script starting at addr.
      A valid autoscr header must be present.
base     - print or set address offset
    base
    - print address offset for memory commands
    base off
    - set address offset for memory commands to 'off'
bdinfo   - print Board Info structure
    - no help available.
boota    - boot an Amiga kernel
    boota address disk
bootd    - boot default, i.e., run 'bootcmd'
    - no help available.
bootelf  - boot from an ELF image in memory
    bootelf [address]
    - load address of ELF image.
bootm    - boot application image from memory
    bootm [addr [arg ...]]
    - boot application image stored in memory passing arguments
      'arg ...'; when booting a Linux kernel, 'arg' can be
      the address of an initrd image
bootp    - boot image via network using BootP/TFTP protocol
    bootp [loadAddress] [bootfilename]
bootvx   - boot vxWorks from an ELF image
    bootvx [address]
    - load address of vxWorks ELF image.
cmp      - memory compare
    cmp [.b, .w, .l] addr1 addr2 count
    - compare memory
coninfo  - print console devices and informations
    - no help available.
cp       - memory copy
    cp [.b, .w, .l] source target count
    - copy memory
crc32    - checksum calculation
    crc32 address count [addr]
    - compute CRC32 checksum [save at addr]
date     - get/set/reset date & time
    date
    - without arguments: print date & time
    date [MMDDhhmm[[CC]YY][.ss]]
    - with numeric argument: set the system date & time
    date reset
    - with 'reset' argument: reset the RTC
dcache   - enable or disable data cache
    dcache [on, off]
    - enable or disable data (writethrough) cache
dhcp     - invoke DHCP client to obtain IP/boot params
    - no help available.
diskboot - boot from IDE device
    diskboot loadAddr dev:part (All U-Boots prior to 05-Mar-2005)
    - dev  = 0 for Primary Master
             1 for Primary Slave
             2 for Secondary Master
             3 for Secondary Slave
    - part = 0-FF depending on partition (in hexadecimal)
    diskboot loadAddr dev:part cont (U-Boot 05-Mar-2005 and later)
    - dev  = 0 for Primary Master
             1 for Primary Slave
             2 for Secondary Master
             3 for Secondary Slave
    - part = 0-FF depending on partition (in hexadecimal)
    - cont = 0 for On-Board VIA controller
             1 for PCI Silicon Images Parallel ATA controller
             2 for PCI Silicon Images Serial SATA controller
echo     - echo args to console
    echo [args..]
    - echo args to console; \c suppresses newline
erase    - erase FLASH memory
    erase start end
    - erase FLASH from addr 'start' to addr 'end'
    erase N:SF[-SL]
    - erase sectors SF-SL in FLASH bank # N
    erase bank N
    - erase FLASH bank # N
    erase all
    - erase all FLASH banks
fdcboot  - boot from floppy device
    fdcboot loadAddr drive
fdosboot - boot from dos floppy file
    fdosboot loadAddr drive
    - ????????????????????????????
fdosls   - list files in a directory
    fdosls loadAddr drive
    - ??????????????????????????????
flinfo   - print FLASH memory information
    flinfo
    - print information for all FLASH memory banks
    flinfo N
    - print information for FLASH memory bank # N
go       - start application at address 'addr'
    go addr [arg ...]
    - start application at address 'addr' passing 'arg' as arguments
help     - print online help
    help
    - without arguments: prints a short usage message for all commands.
    help [command ...]
    - show help information (for 'command')
icache   - enable or disable instruction cache
    icache on
    - enable instruction cache
    icache off
    - disable instruction cache
ide      - IDE sub-system
    ide reset [x]
    - reset IDE controller number 'x'
    ide info [x]
    - show available IDE devices on controller 'x'
    ide device [x] [dev]
    - show device information for device 'dev' on controller 'x'
    ide part [x] [dev]
    - print partition table of device 'dev' on controller 'x'
    ide read addr blk# cnt
    - read 'cnt' blocks starting at block 'blk#' from mem address 'addr'
    ide write addr blk# cnt
    - write 'cnt' blocks starting at block 'blk#' to mem address 'addr'
iminfo   - print header information for application image
    iminfo addr [addr ...]
    - print header information for application image starting at
      address 'addr' in memory; this includes verification of the
      image contents (magic number, header and payload checksums)
loadb    - load binary file over serial line (kermit mode)
    loadb [off] [baud]
    - load binary file over serial line with offset 'off' and baudrate
      'baud'
loads    - load S-Record file over serial line
    loads [off]
    - load S-Record file over serial line with offset 'off'
loop     - infinite loop on address range
    loop [.b, .w, .l] address number_of_objects
    - loop on a set of addresses
md       - memory display
    md [.b, .w, .l] address [number_of_objects]
    - memory display
menu     - display BIOS setup menu
    - no help available.
mm       - memory modify (auto-incrementing)
    mm [.b, .w, .l] address
    - memory modify, auto increment address
mtest    - simple RAM test
    mtest [start [end [pattern]]]
    - simple RAM read/write test
mw       - memory write (fill)
    mw [.b, .w, .l] address value [count]
    - write memory
nm       - memory modify (constant address)
    nm [.b, .w, .l] address
    - memory modify, read and keep address
pci      - list and access PCI Configuration Space
    pci [bus] [long]
    - short or long list of PCI devices on bus 'bus'
    pci header b.d.f
    - show header of PCI device 'bus.device.function'
    pci display [.b, .w, .l] b.d.f [address] [number_of_objects]
    - display PCI configuration space (CFG)
    pci next [.b, .w, .l] b.d.f address
    - modify, read and keep CFG address
    pci modify [.b, .w, .l] b.d.f address
    - modify, auto increment CFG address
    pci write [.b, .w, .l] b.d.f address value
    - write to CFG address
post     - post diagnostic test
    post [diagnostic]
    - do post diagnostic test, all of them or the one specified, i.e.
      alltest/ethernettest/idetest/kbdirqtest/lptest/memtest/
      mousetest/pcitest/rtctest/serialtest/usbtest
printenv - print environment variables
    printenv
    - print values of all environment variables
    printenv name ...
    - print value of environment variable 'name'
protect  - enable or disable FLASH write protection
    protect on start end
    - protect FLASH from addr 'start' to addr 'end'
    protect on bank_N:SF[-SL]
    - protect sectors SF-SL in FLASH bank_N
    protect on bank_N
    - protect FLASH bank_N
    protect on all
    - protect all FLASH banks
    protect off start end
    - make FLASH from addr 'start' to addr 'end' writeable
    protect off bank_N:SF[-SL]
    - make sectors SF-SL writeable in FLASH bank_N
    protect off bank_N
    - make FLASH bank_N writeable
    protect off all
    - make all FLASH banks writeable
rarpboot - boot image via network using RARP/TFTP protocol
    rarpboot [loadAddress] [bootfilename]
reset    - Perform RESET of the CPU
    - no help available.
run      - run commands in an environment variable
    run var [...]
    - run the commands in the environment variable(s) 'var'
saveenv  - save environment variables to persistent storage
    - no help available.
scsiboot - boot from SCSI device
    scsiboot loadAddr dev:part
scsi     - SCSI sub-system
    scsi reset
    - reset SCSI controller
    scsi info
    - show available SCSI devices
    scsi scan
    - (re-)scan SCSI bus
    scsi device [dev]
    - show or set current device
    scsi part [dev]
    - print partition table of one or all SCSI devices
    scsi read addr blk# cnt
    - read 'cnt' blocks starting at block 'blk#' to memory address
      'addr'
setenv  - set environment variables
    setenv name value ...
    - set environment variable 'name' to 'value ...'
    setenv name
    - delete environment variable 'name'
sleep    - delay execution for some time
    sleep N
    - delay execution for N seconds (N is _decimal_ !!!)
tftpboot - boot image via network using TFTP protocol
           and env variables ipaddr and serverip
    tftpboot [loadAddress] [bootfilename]
usb      - USB sub-system
    usb reset
    - reset (rescan) USB controller
    usb stop [f]
    - stop USB [f]=force stop
    usb tree
    - show USB device tree
    usb info [dev]
    - show available USB devices
    usb scan
    - (re-)scan USB bus for storage devices
    usb device [dev]
    - show or set current USB storage device
    usb part [dev]
    - print partition table of one or all USB storage devices
    usb read addr blk# cnt
    - read 'cnt' blocks starting at block 'blk#' to memory address
      'addr'
usbboot  - boot from USB device
    usbboot loadAddr dev:part
version  - print monitor version
    - no help available.
vesa     - run a vesa bios call
    - no help available.
?        - alias for 'help'

One of the problems you will face, particularly with commands such as "printenv", is where more information is displayed that can fit on the screen, so lines scroll past the top of the screen but there is no facility to stop this or display beyond the top of the screen. The only way to capture all of the information is to change the "stdout" environment variable from "vga" to "serial", i.e.

        setenv stdout serial
        saveenv

On the AmigaOne you can use a null modem cable from the serial port connected to the serial port of another computer running a serial comms program that can display the incoming data stream. This technique can also be used to display diagnostic information when things go wrong. At this time we are unsure how this is achieved with the Amy 05.

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 2005 Amiga Auckland Inc. All rights reserved.
Revised: September 25, 2005.