Trim-Slice U-Boot
From Trim-Slice Wiki
Introduction
The Trim-Slice is using U-Boot boot-loader for low-level initializations and operating system loading. U-Boot is an open source firmware for a wide range of embedded systems (e.g. PowerPC, ARM, MIPS, x86, ColdFire, AVR32, NIOS, etc.). In this page we discuss only features and use cases related to Trim-Slice. For more information on U-Boot, please refer to Official U-Boot Homepage.
Supported O/S boot sources
The Trim-Slice U-Boot allows booting the operating system from the following Trim-Slice storage devices and interfaces:
- Front SD card - intended to be used as the primary removable storage for software installations and updates.
- External USB storage - may be used as an alternative removable storage.
- Micro-SD card - intended to be used as a non-removable storage for O/S images.
- Internal SATA storage - intended to be used as a non-removable storage for O/S images.
- GbE interface - may be used for network O/S boot.
O/S boot sequence
The Trim-Slice O/S boot sequence is implemented with a boot script designed as a set of pre-defined U-Boot environment variables.
| | Altering the default boot sequence may preclude using Trim-Slice software update tools such as O/S installer. |
The boot script searches the different Trim-Slice boot devices for a partition containing a valid boot.scr file in the / or /boot/ directory.
The boot script will attempt to boot from the various boot devices in the following order:
- Front SD card
- External USB storage
- Micro-SD card
- Internal SATA storage
Quick U-Boot command reference
This section provides quick U-Boot command reference. To get more information about a specific command, type help [command] in the U-Boot command line.
Please refer to the U-Boot project documentation for detailed description of the commands listed below.
Information commands
- bdinfo - print Board Info structure
- coninfo - print console devices and information
- help - print online help
Memory commands
- base - print or set address offset
- crc32 - checksum calculation
- cmp - memory compare
- cp - memory copy
- md - memory display
- mm - memory modify (auto incrementing)
- mtest - simple RAM test
- mw - memory write (fill)
- nm - memory modify (constant address)
- loop - infinite loop on address range
Execution control commands
- source - run script from memory
- bootm - boot application image from memory
- go - start application at address 'addr'
- loop - infinite loop on address range
- exit - exit script
Download commands
- bootp - boot image via network using BOOTP/TFTP protocol
- dhcp - invoke DHCP client to obtain IP/boot params
- loadb - load binary file over serial line (kermit mode)
- loads - load S-Record file over serial line
- loady - load binary file over serial line (ymodem mode)
- rarpboot - boot image via network using RARP/TFTP protocol
- tftpboot - boot image via network using TFTP protocol
- ping - send ICMP ECHO REQUEST to network host
Environment variables commands
- boot - boot default, i.e., run 'bootcmd'
- bootd - boot default, i.e., run 'bootcmd'
- editenv - edit environment variable
- printenv - print environment variables
- run - run commands in an environment variable
- saveenv - save environment variables to persistent storage
- setenv - set environment variables
File system support commands
- ext2load - load binary file from a Ext2 filesystem
- ext2ls - list files in a directory (default /)
- fatinfo - print information about a FAT file system
- fatload - load binary file from a FAT file system
- fatls - list files in a FAT file system directory (default /)
GPIO support
- gpio - CPU gpio access
I2C support
- i2c - I2C sub-system
PCI support
- pci - list and access PCI Configuration Space
SD/MMC support
- mmc - SD/MMC sub-system
SPI flash support
- sf - SPI flash sub-system
USB support
- usb - USB sub-system control
- usbboot - boot from USB device
Miscellaneous commands
- echo - echo arguments to console
- false - do nothing, unsuccessfully
- itest - return true/false on integer compare
- reset - Perform RESET of the CPU
- showvar - print local hushshell variables
- sleep - delay execution for some time
- version - print monitor version
- test - minimal test, like /bin/bash
- true - do nothing, successfully
- ? - alias for help