SlideShare a Scribd company logo
Team Emertxe
Embedded Boot Loaders
U-Boot
Contents
U-Boot
Contents
● Introduction
● Source Tree
● Building
● Responsibility
● Important Commands
U-Boot Introduction
U-Boot
Introduction - General
● The "Universal Bootloader" ("Das U-Boot") is a monitor
program
● Free Software: full source code under GPL
● Can get at: //www.denx.de/wiki/U-Boot
● Production quality: used as default boot loader by several
board vendors
● Portable and easy to port and to debug
● Many supported architectures: PPC, ARM, MIPS, x86,
m68k, NIOS, Microblaze
U-Boot
Introduction - General
● More than 216 boards supported by public source tree
● Simple user interface: CLI or Hush shell
● Environment variable storing option on different media
like EEPROM, Flash etc
● Advanced command supports
U-Boot
Introduction – Design Principles
● Easy to port to new architectures, new processors, and
new boards
● Easy to debug: serial console output as soon as possible
● Features and commands configurable
● As small as possible
● As reliable as possible
U-Boot Source Tree
U-Boot
Source Code Browsing
● Untar the U-Boot code
– tar xvf u-boot-<version>.tar.bz2
● Enter the U-Boot directory
– cd u-boot-<version>
● The following slide discuss the contents of the U-Boot
directory
U-Boot
Source Tree
● The left side of the slide
shows the source content of
the U-Boot
● The directory structure might
vary depending on the picked
version.
● The considered version is
u-boot-2015-01
● Lets us discuss some
important directories and files
driver
api
arch
board
common
configs
post
scripts
dts
examples
fs
include
lib
test
tools
Makefile
disk net
doc
u-boot-<version>
U-Boot
Source Tree
● Machine/arch independent API
for external apps
driver
api
arch
board
common
configs
post
scripts
dts
examples
fs
include
lib
test
tools
Makefile
disk net
doc
u-boot-<version>
U-Boot
Source Tree
● All architecture dependent
functions
● CPU specific information
– <core>/cpu.c
– <core>/interrupt.c
– <core>/start.S
driver
api
arch
board
common
configs
post
scripts
dts
examples
fs
include
lib
test
tools
Makefile
disk net
doc
u-boot-<version>
U-Boot
Source Tree
● Platform, board level files.
Eg, atmel, icecube, oxc etc.,
● Contains all board specific
initialization
– <boardname>/flash.c
– <boardname>/<boardname>_emac.c
– <boardname>/<boardname>.c
– <boardname>/soc.h
– <boardname>/platform.S
driver
api
arch
board
common
configs
post
scripts
dts
examples
fs
include
lib
test
tools
Makefile
disk net
doc
u-boot-<version>
U-Boot
Source Tree
● All architecture independent
functions
● All the commands
driver
api
arch
board
common
configs
post
scripts
dts
examples
fs
include
lib
test
tools
Makefile
disk net
doc
u-boot-<version>
U-Boot
Source Tree
● Default configuration files for
boards
driver
api
arch
board
common
configs
post
scripts
dts
examples
fs
include
lib
test
tools
Makefile
disk net
doc
u-boot-<version>
U-Boot
Source Tree
● Partition and device
information for disks
driver
api
arch
board
common
configs
post
scripts
dts
examples
fs
include
lib
test
tools
Makefile
disk net
doc
u-boot-<version>
U-Boot
Source Tree
● You can find all the README
files here
driver
api
arch
board
common
configs
post
scripts
dts
examples
fs
include
lib
test
tools
Makefile
disk net
doc
u-boot-<version>
U-Boot
Source Tree
● Various device drivers files
driver
api
arch
board
common
configs
post
scripts
dts
examples
fs
include
lib
test
tools
Makefile
disk net
doc
u-boot-<version>
U-Boot
Source Tree
● Contains Makefile for building
internal U-Boot fdt
driver
api
arch
board
common
configs
post
scripts
dts
examples
fs
include
lib
test
tools
Makefile
disk net
doc
u-boot-<version>
U-Boot
Source Tree
● Example code for standalone
application
driver
api
arch
board
common
configs
post
scripts
dts
examples
fs
include
lib
test
tools
Makefile
disk net
doc
u-boot-<version>
U-Boot
Source Tree
● File system directories and
codes
driver
api
arch
board
common
configs
post
scripts
dts
examples
fs
include
lib
test
tools
Makefile
disk net
doc
u-boot-<version>
U-Boot
Source Tree
● Various header files
– configs/<boardname>.h
– <core>.h
driver
api
arch
board
common
configs
post
scripts
dts
examples
fs
include
lib
test
tools
Makefile
disk net
doc
u-boot-<version>
U-Boot
Source Tree
● Processor specific libraries
– board.c
– <arch>linux.c
– div0.c
driver
api
arch
board
common
configs
post
scripts
dts
examples
fs
include
lib
test
tools
Makefile
disk net
doc
u-boot-<version>
U-Boot
Source Tree
● Networking related files.
driver
api
arch
board
common
configs
post
scripts
dts
examples
fs
include
lib
test
tools
Makefile
disk net
doc
u-boot-<version>
U-Boot
Source Tree
● Power On Self Test
driver
api
arch
board
common
configs
post
scripts
dts
examples
fs
include
lib
test
tools
Makefile
disk net
doc
u-boot-<version>
U-Boot
Source Tree
● Contains the sources for
various helper programs
driver
api
arch
board
common
configs
post
scripts
dts
examples
fs
include
lib
test
tools
Makefile
disk net
doc
u-boot-<version>
U-Boot
Source Tree
driver
api
arch
board
common
configs
post
scripts
dts
examples
fs
include
lib
test
tools
Makefile
disk net
doc
u-boot-<version>
U-Boot
Source Tree
● Various tools directories and
files
driver
api
arch
board
common
configs
post
scripts
dts
examples
fs
include
lib
test
tools
Makefile
disk net
doc
u-boot-<version>
U-Boot
Source Tree
● Top level make file for Uboot
build and configuration
driver
api
arch
board
common
configs
post
scripts
dts
examples
fs
include
lib
test
tools
Makefile
disk net
doc
u-boot-<version>
U-Boot Building
U-Boot
Building
● The include/configs/ directory contains one configuration
file for each supported board
– It defines the CPU type, the peripherals and their
configuration, the memory mapping, the Uboot features
that should be compiled in, etc.
– It is a simple .h file that sets preprocessor constants. See
the README file for the documentation of these constants.
● Assuming that your board is already supported by Uboot,
there should be a config corresponding to your board, for
example include/configs/at91rm9200ek.h
U-Boot
Building
● We need to configure U-Boot for the required board
which is generally done as
make <board_name>_config
● The board_name can be found in include/configs/
directory
● The newer version supports kernel like configuration
options like make menuconfig
● Compile Uboot, by specifying the cross compiler prefix.
make CROSS_COMPILE=<cross_compile_path>
U-Boot
Building
● cross_compile_path could be the command itself if
already exported in PATH variable, else you can specify
the installation path of command
● For example for arm platform it would look like
make CROSS_COMPILE=arm-linux-
● The result would be u-boot.bin which has to be stored in
flash memory (in most of the cases)
● The invocation of the stored image depends on the target
architecture. The memory used to store would play the
role here
U-Boot Introduction
U-Boot
Responsibility
Execute from flash (If configured). Do POST
Relocate to RAM
Setup console for user interaction
Setup device driver for kernel (& RFS) image
Choose the kernel (& RFS) image
Download the kernel (& RFS) image
Choose the kernel (& RFS) imageChoose the kernel (& RFS) image
Setup kernel command line arguments
Jump to kernel start address
Codeflow
U-Boot Important Commands
U-Boot
Utilities
● Environment Variables
● Commands
– Information
– Environment
– Network
– Boot
– Data Transfer
– Memory
U-Boot
Environment Variables
● bootcmd : Contains the command that U-Boot will
automatically execute at boot time after
a configurable delay, if the process is not
interrupted
● bootargs : contains the arguments passed to the
Linux kernel
● serverip : Server (Host) ip address for network
related commands
● ipaddr : Local ip address of the target
● ethaddr : MAC address. Will be set once
U-Boot
Important Environment Variables
● netmask : The network mask to communicate with
the server
● bootdelay : Time in seconds to delay the boot process
so that the u-boot can be interrupted
before executing bootcmd
● autostart : If set the loaded image in memory will be
executed automatically
U-Boot
Important Commands – Information
● help : Help command. Can be used to list all
supported built commands
● flinfo : Display flash informations (NOR and SPI
Flash)
● nand info : Display NAND flash informations
U-Boot
Important Commands – Environment
● printenv : Print all set environment variables
● setenv : Set the environment variable
● saveenv : Save environment variable to configured
memory
U-Boot
Important Commands – Network
● ping : Checks for network connectivity
U-Boot
Important Commands – Boot
● boot : Runs the default boot command, stored in
bootcmd variable
● bootm : Boot memory. Starts a kernel image
loaded at the specified address in RAM
Example: bootm <address>
U-Boot
Important Commands – Data Transfer
● loadb
● loads
● loady
: Load a file from the serial line to RAM
● tftpboot : Loads a file from the network to RAM
Example: tftpboot <address>
U-Boot
Important Commands – Memory
● erase : Erase the content of NOR flash
● protect : Protect the content of NOR flash
● cp : Write to NOR flash
● nand : Erase, read, write to NAND flash
Thank You

More Related Content

What's hot

Introduction to Modern U-Boot
Introduction to Modern U-BootIntroduction to Modern U-Boot
Introduction to Modern U-Boot
GlobalLogic Ukraine
 
U boot-boot-flow
U boot-boot-flowU boot-boot-flow
Embedded_Linux_Booting
Embedded_Linux_BootingEmbedded_Linux_Booting
Embedded_Linux_BootingRashila Rr
 
BusyBox for Embedded Linux
BusyBox for Embedded LinuxBusyBox for Embedded Linux
BusyBox for Embedded Linux
Emertxe Information Technologies Pvt Ltd
 
Jagan Teki - U-boot from scratch
Jagan Teki - U-boot from scratchJagan Teki - U-boot from scratch
Jagan Teki - U-boot from scratch
linuxlab_conf
 
Bootloaders (U-Boot)
Bootloaders (U-Boot) Bootloaders (U-Boot)
Bootloaders (U-Boot)
Omkar Rane
 
Embedded Linux BSP Training (Intro)
Embedded Linux BSP Training (Intro)Embedded Linux BSP Training (Intro)
Embedded Linux BSP Training (Intro)
RuggedBoardGroup
 
Linux Kernel Booting Process (1) - For NLKB
Linux Kernel Booting Process (1) - For NLKBLinux Kernel Booting Process (1) - For NLKB
Linux Kernel Booting Process (1) - For NLKB
shimosawa
 
Linux device drivers
Linux device drivers Linux device drivers
Linux Initialization Process (2)
Linux Initialization Process (2)Linux Initialization Process (2)
Linux Initialization Process (2)
shimosawa
 
Linux dma engine
Linux dma engineLinux dma engine
Linux dma engine
pradeep_tewani
 
Linux Device Tree
Linux Device TreeLinux Device Tree
Linux Device Tree
艾鍗科技
 
Embedded Linux on ARM
Embedded Linux on ARMEmbedded Linux on ARM
Introduction Linux Device Drivers
Introduction Linux Device DriversIntroduction Linux Device Drivers
Introduction Linux Device Drivers
NEEVEE Technologies
 
Linux device drivers
Linux device driversLinux device drivers
Linux device drivers
Abhishek Sagar
 
USB Drivers
USB DriversUSB Drivers
USB Drivers
Anil Kumar Pugalia
 
Linux Kernel Image
Linux Kernel ImageLinux Kernel Image
Linux Kernel Image艾鍗科技
 
Spi drivers
Spi driversSpi drivers
Spi drivers
pradeep_tewani
 
Secure Boot on ARM systems – Building a complete Chain of Trust upon existing...
Secure Boot on ARM systems – Building a complete Chain of Trust upon existing...Secure Boot on ARM systems – Building a complete Chain of Trust upon existing...
Secure Boot on ARM systems – Building a complete Chain of Trust upon existing...
Linaro
 

What's hot (20)

Introduction to Modern U-Boot
Introduction to Modern U-BootIntroduction to Modern U-Boot
Introduction to Modern U-Boot
 
U boot-boot-flow
U boot-boot-flowU boot-boot-flow
U boot-boot-flow
 
Embedded_Linux_Booting
Embedded_Linux_BootingEmbedded_Linux_Booting
Embedded_Linux_Booting
 
BusyBox for Embedded Linux
BusyBox for Embedded LinuxBusyBox for Embedded Linux
BusyBox for Embedded Linux
 
Jagan Teki - U-boot from scratch
Jagan Teki - U-boot from scratchJagan Teki - U-boot from scratch
Jagan Teki - U-boot from scratch
 
Bootloaders (U-Boot)
Bootloaders (U-Boot) Bootloaders (U-Boot)
Bootloaders (U-Boot)
 
Embedded Linux BSP Training (Intro)
Embedded Linux BSP Training (Intro)Embedded Linux BSP Training (Intro)
Embedded Linux BSP Training (Intro)
 
Linux Kernel Booting Process (1) - For NLKB
Linux Kernel Booting Process (1) - For NLKBLinux Kernel Booting Process (1) - For NLKB
Linux Kernel Booting Process (1) - For NLKB
 
Linux device drivers
Linux device drivers Linux device drivers
Linux device drivers
 
Linux Initialization Process (2)
Linux Initialization Process (2)Linux Initialization Process (2)
Linux Initialization Process (2)
 
Linux dma engine
Linux dma engineLinux dma engine
Linux dma engine
 
Linux Device Tree
Linux Device TreeLinux Device Tree
Linux Device Tree
 
Embedded Linux on ARM
Embedded Linux on ARMEmbedded Linux on ARM
Embedded Linux on ARM
 
Introduction Linux Device Drivers
Introduction Linux Device DriversIntroduction Linux Device Drivers
Introduction Linux Device Drivers
 
Linux device drivers
Linux device driversLinux device drivers
Linux device drivers
 
USB Drivers
USB DriversUSB Drivers
USB Drivers
 
Linux Porting
Linux PortingLinux Porting
Linux Porting
 
Linux Kernel Image
Linux Kernel ImageLinux Kernel Image
Linux Kernel Image
 
Spi drivers
Spi driversSpi drivers
Spi drivers
 
Secure Boot on ARM systems – Building a complete Chain of Trust upon existing...
Secure Boot on ARM systems – Building a complete Chain of Trust upon existing...Secure Boot on ARM systems – Building a complete Chain of Trust upon existing...
Secure Boot on ARM systems – Building a complete Chain of Trust upon existing...
 

Viewers also liked

A practical guide to buildroot
A practical guide to buildrootA practical guide to buildroot
A practical guide to buildroot
Emertxe Information Technologies Pvt Ltd
 
Emertxe : Linux training portfolio
Emertxe : Linux training portfolioEmertxe : Linux training portfolio
Emertxe : Linux training portfolio
Emertxe Information Technologies Pvt Ltd
 
Emertxe : Training portfolio
Emertxe : Training portfolioEmertxe : Training portfolio
Emertxe : Training portfolio
Emertxe Information Technologies Pvt Ltd
 
Interview preparation workshop
Interview preparation workshopInterview preparation workshop
Interview preparation workshop
Emertxe Information Technologies Pvt Ltd
 
Resume Preparation - Workshop
Resume Preparation - WorkshopResume Preparation - Workshop
Resume Preparation - Workshop
Emertxe Information Technologies Pvt Ltd
 
Introduction to Embedded Systems
Introduction to Embedded Systems Introduction to Embedded Systems
Introduction to Embedded Systems
Emertxe Information Technologies Pvt Ltd
 
Embedded Linux Kernel - Build your custom kernel
Embedded Linux Kernel - Build your custom kernelEmbedded Linux Kernel - Build your custom kernel
Embedded Linux Kernel - Build your custom kernel
Emertxe Information Technologies Pvt Ltd
 
Embedded Android : System Development - Part III
Embedded Android : System Development - Part IIIEmbedded Android : System Development - Part III
Embedded Android : System Development - Part III
Emertxe Information Technologies Pvt Ltd
 
Embedded Android : System Development - Part IV
Embedded Android : System Development - Part IVEmbedded Android : System Development - Part IV
Embedded Android : System Development - Part IV
Emertxe Information Technologies Pvt Ltd
 
Embedded Linux on ARM
Embedded Linux on ARMEmbedded Linux on ARM
Embedded Android : System Development - Part II (Linux device drivers)
Embedded Android : System Development - Part II (Linux device drivers)Embedded Android : System Development - Part II (Linux device drivers)
Embedded Android : System Development - Part II (Linux device drivers)
Emertxe Information Technologies Pvt Ltd
 
Getting started with BeagleBone Black - Embedded Linux
Getting started with BeagleBone Black - Embedded LinuxGetting started with BeagleBone Black - Embedded Linux
Getting started with BeagleBone Black - Embedded Linux
Emertxe Information Technologies Pvt Ltd
 
File systems for Embedded Linux
File systems for Embedded LinuxFile systems for Embedded Linux
File systems for Embedded Linux
Emertxe Information Technologies Pvt Ltd
 
Embedded Linux - Building toolchain
Embedded Linux - Building toolchainEmbedded Linux - Building toolchain
Embedded Linux - Building toolchain
Emertxe Information Technologies Pvt Ltd
 
Linux systems - Getting started with setting up and embedded platform
Linux systems - Getting started with setting up and embedded platformLinux systems - Getting started with setting up and embedded platform
Linux systems - Getting started with setting up and embedded platform
Emertxe Information Technologies Pvt Ltd
 
Embedded Android : System Development - Part I
Embedded Android : System Development - Part IEmbedded Android : System Development - Part I
Embedded Android : System Development - Part I
Emertxe Information Technologies Pvt Ltd
 
Communication Protocols (UART, SPI,I2C)
Communication Protocols (UART, SPI,I2C)Communication Protocols (UART, SPI,I2C)
Communication Protocols (UART, SPI,I2C)
Emertxe Information Technologies Pvt Ltd
 
x86 & PE
x86 & PEx86 & PE
x86 & PE
Ange Albertini
 
LCA 2013 - Baremetal Provisioning with Openstack
LCA 2013 - Baremetal Provisioning with OpenstackLCA 2013 - Baremetal Provisioning with Openstack
LCA 2013 - Baremetal Provisioning with Openstack
Devananda Van Der Veen
 
ONIE LinuxCon 2015
ONIE LinuxCon 2015ONIE LinuxCon 2015
ONIE LinuxCon 2015
Curt Brune
 

Viewers also liked (20)

A practical guide to buildroot
A practical guide to buildrootA practical guide to buildroot
A practical guide to buildroot
 
Emertxe : Linux training portfolio
Emertxe : Linux training portfolioEmertxe : Linux training portfolio
Emertxe : Linux training portfolio
 
Emertxe : Training portfolio
Emertxe : Training portfolioEmertxe : Training portfolio
Emertxe : Training portfolio
 
Interview preparation workshop
Interview preparation workshopInterview preparation workshop
Interview preparation workshop
 
Resume Preparation - Workshop
Resume Preparation - WorkshopResume Preparation - Workshop
Resume Preparation - Workshop
 
Introduction to Embedded Systems
Introduction to Embedded Systems Introduction to Embedded Systems
Introduction to Embedded Systems
 
Embedded Linux Kernel - Build your custom kernel
Embedded Linux Kernel - Build your custom kernelEmbedded Linux Kernel - Build your custom kernel
Embedded Linux Kernel - Build your custom kernel
 
Embedded Android : System Development - Part III
Embedded Android : System Development - Part IIIEmbedded Android : System Development - Part III
Embedded Android : System Development - Part III
 
Embedded Android : System Development - Part IV
Embedded Android : System Development - Part IVEmbedded Android : System Development - Part IV
Embedded Android : System Development - Part IV
 
Embedded Linux on ARM
Embedded Linux on ARMEmbedded Linux on ARM
Embedded Linux on ARM
 
Embedded Android : System Development - Part II (Linux device drivers)
Embedded Android : System Development - Part II (Linux device drivers)Embedded Android : System Development - Part II (Linux device drivers)
Embedded Android : System Development - Part II (Linux device drivers)
 
Getting started with BeagleBone Black - Embedded Linux
Getting started with BeagleBone Black - Embedded LinuxGetting started with BeagleBone Black - Embedded Linux
Getting started with BeagleBone Black - Embedded Linux
 
File systems for Embedded Linux
File systems for Embedded LinuxFile systems for Embedded Linux
File systems for Embedded Linux
 
Embedded Linux - Building toolchain
Embedded Linux - Building toolchainEmbedded Linux - Building toolchain
Embedded Linux - Building toolchain
 
Linux systems - Getting started with setting up and embedded platform
Linux systems - Getting started with setting up and embedded platformLinux systems - Getting started with setting up and embedded platform
Linux systems - Getting started with setting up and embedded platform
 
Embedded Android : System Development - Part I
Embedded Android : System Development - Part IEmbedded Android : System Development - Part I
Embedded Android : System Development - Part I
 
Communication Protocols (UART, SPI,I2C)
Communication Protocols (UART, SPI,I2C)Communication Protocols (UART, SPI,I2C)
Communication Protocols (UART, SPI,I2C)
 
x86 & PE
x86 & PEx86 & PE
x86 & PE
 
LCA 2013 - Baremetal Provisioning with Openstack
LCA 2013 - Baremetal Provisioning with OpenstackLCA 2013 - Baremetal Provisioning with Openstack
LCA 2013 - Baremetal Provisioning with Openstack
 
ONIE LinuxCon 2015
ONIE LinuxCon 2015ONIE LinuxCon 2015
ONIE LinuxCon 2015
 

Similar to U-Boot - An universal bootloader

Linux
LinuxLinux
An Introduction To Linux
An Introduction To LinuxAn Introduction To Linux
An Introduction To Linux
Ishan A B Ambanwela
 
01 linux-quick-start
01 linux-quick-start01 linux-quick-start
01 linux-quick-startNguyen Vinh
 
HKG15-311: OP-TEE for Beginners and Porting Review
HKG15-311: OP-TEE for Beginners and Porting ReviewHKG15-311: OP-TEE for Beginners and Porting Review
HKG15-311: OP-TEE for Beginners and Porting Review
Linaro
 
Linux Commands - Cheat Sheet
Linux Commands - Cheat Sheet Linux Commands - Cheat Sheet
Linux Commands - Cheat Sheet
Isham Rashik
 
LCU14 302- How to port OP-TEE to another platform
LCU14 302- How to port OP-TEE to another platformLCU14 302- How to port OP-TEE to another platform
LCU14 302- How to port OP-TEE to another platform
Linaro
 
The Deck by Phil Polstra GrrCON2012
The Deck by Phil Polstra GrrCON2012The Deck by Phil Polstra GrrCON2012
The Deck by Phil Polstra GrrCON2012
Philip Polstra
 
Grub and dracut ii
Grub and dracut iiGrub and dracut ii
Grub and dracut ii
plarsen67
 
UCL All of the Things (MeetBSD California 2014 Lightning Talk)
UCL All of the Things (MeetBSD California 2014 Lightning Talk)UCL All of the Things (MeetBSD California 2014 Lightning Talk)
UCL All of the Things (MeetBSD California 2014 Lightning Talk)
iXsystems
 
A million ways to provision embedded linux devices
A million ways to provision embedded linux devicesA million ways to provision embedded linux devices
A million ways to provision embedded linux devices
Mender.io
 
Masters porting linux
Masters porting linuxMasters porting linux
Masters porting linux
Shashank Asthana
 
Android on Intel Architecture: ROM Cooking Tutorial
Android on Intel Architecture: ROM Cooking TutorialAndroid on Intel Architecture: ROM Cooking Tutorial
Android on Intel Architecture: ROM Cooking Tutorial
Ron Munitz
 
Embedded Fest 2019. Игорь Опанюк. Das U-boot v2019: a look under the hood
Embedded Fest 2019. Игорь Опанюк. Das U-boot v2019: a look under the hoodEmbedded Fest 2019. Игорь Опанюк. Das U-boot v2019: a look under the hood
Embedded Fest 2019. Игорь Опанюк. Das U-boot v2019: a look under the hood
EmbeddedFest
 
Basis Linux (aan de hand van LPIC-1)
Basis Linux (aan de hand van LPIC-1)Basis Linux (aan de hand van LPIC-1)
Basis Linux (aan de hand van LPIC-1)
Peter Martin
 
Study on Android Emulator
Study on Android EmulatorStudy on Android Emulator
Study on Android Emulator
Samael Wang
 
Linux
LinuxLinux
Strategies for developing and deploying your embedded applications and images
Strategies for developing and deploying your embedded applications and imagesStrategies for developing and deploying your embedded applications and images
Strategies for developing and deploying your embedded applications and images
Mender.io
 

Similar to U-Boot - An universal bootloader (20)

Linux
LinuxLinux
Linux
 
An Introduction To Linux
An Introduction To LinuxAn Introduction To Linux
An Introduction To Linux
 
01 linux-quick-start
01 linux-quick-start01 linux-quick-start
01 linux-quick-start
 
HKG15-311: OP-TEE for Beginners and Porting Review
HKG15-311: OP-TEE for Beginners and Porting ReviewHKG15-311: OP-TEE for Beginners and Porting Review
HKG15-311: OP-TEE for Beginners and Porting Review
 
How to build and load linux to embedded system
How to build and load linux to embedded systemHow to build and load linux to embedded system
How to build and load linux to embedded system
 
Linux Commands - Cheat Sheet
Linux Commands - Cheat Sheet Linux Commands - Cheat Sheet
Linux Commands - Cheat Sheet
 
LCU14 302- How to port OP-TEE to another platform
LCU14 302- How to port OP-TEE to another platformLCU14 302- How to port OP-TEE to another platform
LCU14 302- How to port OP-TEE to another platform
 
The Deck by Phil Polstra GrrCON2012
The Deck by Phil Polstra GrrCON2012The Deck by Phil Polstra GrrCON2012
The Deck by Phil Polstra GrrCON2012
 
Grub and dracut ii
Grub and dracut iiGrub and dracut ii
Grub and dracut ii
 
UCL All of the Things (MeetBSD California 2014 Lightning Talk)
UCL All of the Things (MeetBSD California 2014 Lightning Talk)UCL All of the Things (MeetBSD California 2014 Lightning Talk)
UCL All of the Things (MeetBSD California 2014 Lightning Talk)
 
A million ways to provision embedded linux devices
A million ways to provision embedded linux devicesA million ways to provision embedded linux devices
A million ways to provision embedded linux devices
 
Dev ops
Dev opsDev ops
Dev ops
 
Masters porting linux
Masters porting linuxMasters porting linux
Masters porting linux
 
Android on Intel Architecture: ROM Cooking Tutorial
Android on Intel Architecture: ROM Cooking TutorialAndroid on Intel Architecture: ROM Cooking Tutorial
Android on Intel Architecture: ROM Cooking Tutorial
 
Embedded Fest 2019. Игорь Опанюк. Das U-boot v2019: a look under the hood
Embedded Fest 2019. Игорь Опанюк. Das U-boot v2019: a look under the hoodEmbedded Fest 2019. Игорь Опанюк. Das U-boot v2019: a look under the hood
Embedded Fest 2019. Игорь Опанюк. Das U-boot v2019: a look under the hood
 
Basis Linux (aan de hand van LPIC-1)
Basis Linux (aan de hand van LPIC-1)Basis Linux (aan de hand van LPIC-1)
Basis Linux (aan de hand van LPIC-1)
 
Study on Android Emulator
Study on Android EmulatorStudy on Android Emulator
Study on Android Emulator
 
Basic Linux Internals
Basic Linux InternalsBasic Linux Internals
Basic Linux Internals
 
Linux
LinuxLinux
Linux
 
Strategies for developing and deploying your embedded applications and images
Strategies for developing and deploying your embedded applications and imagesStrategies for developing and deploying your embedded applications and images
Strategies for developing and deploying your embedded applications and images
 

More from Emertxe Information Technologies Pvt Ltd

Career Transition (1).pdf
Career Transition (1).pdfCareer Transition (1).pdf
Career Transition (1).pdf
Emertxe Information Technologies Pvt Ltd
 
10_isxdigit.pdf
10_isxdigit.pdf10_isxdigit.pdf

More from Emertxe Information Technologies Pvt Ltd (20)

premium post (1).pdf
premium post (1).pdfpremium post (1).pdf
premium post (1).pdf
 
Career Transition (1).pdf
Career Transition (1).pdfCareer Transition (1).pdf
Career Transition (1).pdf
 
10_isxdigit.pdf
10_isxdigit.pdf10_isxdigit.pdf
10_isxdigit.pdf
 
01_student_record.pdf
01_student_record.pdf01_student_record.pdf
01_student_record.pdf
 
02_swap.pdf
02_swap.pdf02_swap.pdf
02_swap.pdf
 
01_sizeof.pdf
01_sizeof.pdf01_sizeof.pdf
01_sizeof.pdf
 
07_product_matrix.pdf
07_product_matrix.pdf07_product_matrix.pdf
07_product_matrix.pdf
 
06_sort_names.pdf
06_sort_names.pdf06_sort_names.pdf
06_sort_names.pdf
 
05_fragments.pdf
05_fragments.pdf05_fragments.pdf
05_fragments.pdf
 
04_magic_square.pdf
04_magic_square.pdf04_magic_square.pdf
04_magic_square.pdf
 
03_endianess.pdf
03_endianess.pdf03_endianess.pdf
03_endianess.pdf
 
02_variance.pdf
02_variance.pdf02_variance.pdf
02_variance.pdf
 
01_memory_manager.pdf
01_memory_manager.pdf01_memory_manager.pdf
01_memory_manager.pdf
 
09_nrps.pdf
09_nrps.pdf09_nrps.pdf
09_nrps.pdf
 
11_pangram.pdf
11_pangram.pdf11_pangram.pdf
11_pangram.pdf
 
10_combinations.pdf
10_combinations.pdf10_combinations.pdf
10_combinations.pdf
 
08_squeeze.pdf
08_squeeze.pdf08_squeeze.pdf
08_squeeze.pdf
 
07_strtok.pdf
07_strtok.pdf07_strtok.pdf
07_strtok.pdf
 
06_reverserec.pdf
06_reverserec.pdf06_reverserec.pdf
06_reverserec.pdf
 
05_reverseiter.pdf
05_reverseiter.pdf05_reverseiter.pdf
05_reverseiter.pdf
 

Recently uploaded

FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
Paul Groth
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Tobias Schneck
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
Frank van Harmelen
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 

Recently uploaded (20)

FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 

U-Boot - An universal bootloader

  • 1. Team Emertxe Embedded Boot Loaders U-Boot
  • 3. U-Boot Contents ● Introduction ● Source Tree ● Building ● Responsibility ● Important Commands
  • 5. U-Boot Introduction - General ● The "Universal Bootloader" ("Das U-Boot") is a monitor program ● Free Software: full source code under GPL ● Can get at: //www.denx.de/wiki/U-Boot ● Production quality: used as default boot loader by several board vendors ● Portable and easy to port and to debug ● Many supported architectures: PPC, ARM, MIPS, x86, m68k, NIOS, Microblaze
  • 6. U-Boot Introduction - General ● More than 216 boards supported by public source tree ● Simple user interface: CLI or Hush shell ● Environment variable storing option on different media like EEPROM, Flash etc ● Advanced command supports
  • 7. U-Boot Introduction – Design Principles ● Easy to port to new architectures, new processors, and new boards ● Easy to debug: serial console output as soon as possible ● Features and commands configurable ● As small as possible ● As reliable as possible
  • 9. U-Boot Source Code Browsing ● Untar the U-Boot code – tar xvf u-boot-<version>.tar.bz2 ● Enter the U-Boot directory – cd u-boot-<version> ● The following slide discuss the contents of the U-Boot directory
  • 10. U-Boot Source Tree ● The left side of the slide shows the source content of the U-Boot ● The directory structure might vary depending on the picked version. ● The considered version is u-boot-2015-01 ● Lets us discuss some important directories and files driver api arch board common configs post scripts dts examples fs include lib test tools Makefile disk net doc u-boot-<version>
  • 11. U-Boot Source Tree ● Machine/arch independent API for external apps driver api arch board common configs post scripts dts examples fs include lib test tools Makefile disk net doc u-boot-<version>
  • 12. U-Boot Source Tree ● All architecture dependent functions ● CPU specific information – <core>/cpu.c – <core>/interrupt.c – <core>/start.S driver api arch board common configs post scripts dts examples fs include lib test tools Makefile disk net doc u-boot-<version>
  • 13. U-Boot Source Tree ● Platform, board level files. Eg, atmel, icecube, oxc etc., ● Contains all board specific initialization – <boardname>/flash.c – <boardname>/<boardname>_emac.c – <boardname>/<boardname>.c – <boardname>/soc.h – <boardname>/platform.S driver api arch board common configs post scripts dts examples fs include lib test tools Makefile disk net doc u-boot-<version>
  • 14. U-Boot Source Tree ● All architecture independent functions ● All the commands driver api arch board common configs post scripts dts examples fs include lib test tools Makefile disk net doc u-boot-<version>
  • 15. U-Boot Source Tree ● Default configuration files for boards driver api arch board common configs post scripts dts examples fs include lib test tools Makefile disk net doc u-boot-<version>
  • 16. U-Boot Source Tree ● Partition and device information for disks driver api arch board common configs post scripts dts examples fs include lib test tools Makefile disk net doc u-boot-<version>
  • 17. U-Boot Source Tree ● You can find all the README files here driver api arch board common configs post scripts dts examples fs include lib test tools Makefile disk net doc u-boot-<version>
  • 18. U-Boot Source Tree ● Various device drivers files driver api arch board common configs post scripts dts examples fs include lib test tools Makefile disk net doc u-boot-<version>
  • 19. U-Boot Source Tree ● Contains Makefile for building internal U-Boot fdt driver api arch board common configs post scripts dts examples fs include lib test tools Makefile disk net doc u-boot-<version>
  • 20. U-Boot Source Tree ● Example code for standalone application driver api arch board common configs post scripts dts examples fs include lib test tools Makefile disk net doc u-boot-<version>
  • 21. U-Boot Source Tree ● File system directories and codes driver api arch board common configs post scripts dts examples fs include lib test tools Makefile disk net doc u-boot-<version>
  • 22. U-Boot Source Tree ● Various header files – configs/<boardname>.h – <core>.h driver api arch board common configs post scripts dts examples fs include lib test tools Makefile disk net doc u-boot-<version>
  • 23. U-Boot Source Tree ● Processor specific libraries – board.c – <arch>linux.c – div0.c driver api arch board common configs post scripts dts examples fs include lib test tools Makefile disk net doc u-boot-<version>
  • 24. U-Boot Source Tree ● Networking related files. driver api arch board common configs post scripts dts examples fs include lib test tools Makefile disk net doc u-boot-<version>
  • 25. U-Boot Source Tree ● Power On Self Test driver api arch board common configs post scripts dts examples fs include lib test tools Makefile disk net doc u-boot-<version>
  • 26. U-Boot Source Tree ● Contains the sources for various helper programs driver api arch board common configs post scripts dts examples fs include lib test tools Makefile disk net doc u-boot-<version>
  • 28. U-Boot Source Tree ● Various tools directories and files driver api arch board common configs post scripts dts examples fs include lib test tools Makefile disk net doc u-boot-<version>
  • 29. U-Boot Source Tree ● Top level make file for Uboot build and configuration driver api arch board common configs post scripts dts examples fs include lib test tools Makefile disk net doc u-boot-<version>
  • 31. U-Boot Building ● The include/configs/ directory contains one configuration file for each supported board – It defines the CPU type, the peripherals and their configuration, the memory mapping, the Uboot features that should be compiled in, etc. – It is a simple .h file that sets preprocessor constants. See the README file for the documentation of these constants. ● Assuming that your board is already supported by Uboot, there should be a config corresponding to your board, for example include/configs/at91rm9200ek.h
  • 32. U-Boot Building ● We need to configure U-Boot for the required board which is generally done as make <board_name>_config ● The board_name can be found in include/configs/ directory ● The newer version supports kernel like configuration options like make menuconfig ● Compile Uboot, by specifying the cross compiler prefix. make CROSS_COMPILE=<cross_compile_path>
  • 33. U-Boot Building ● cross_compile_path could be the command itself if already exported in PATH variable, else you can specify the installation path of command ● For example for arm platform it would look like make CROSS_COMPILE=arm-linux- ● The result would be u-boot.bin which has to be stored in flash memory (in most of the cases) ● The invocation of the stored image depends on the target architecture. The memory used to store would play the role here
  • 35. U-Boot Responsibility Execute from flash (If configured). Do POST Relocate to RAM Setup console for user interaction Setup device driver for kernel (& RFS) image Choose the kernel (& RFS) image Download the kernel (& RFS) image Choose the kernel (& RFS) imageChoose the kernel (& RFS) image Setup kernel command line arguments Jump to kernel start address Codeflow
  • 37. U-Boot Utilities ● Environment Variables ● Commands – Information – Environment – Network – Boot – Data Transfer – Memory
  • 38. U-Boot Environment Variables ● bootcmd : Contains the command that U-Boot will automatically execute at boot time after a configurable delay, if the process is not interrupted ● bootargs : contains the arguments passed to the Linux kernel ● serverip : Server (Host) ip address for network related commands ● ipaddr : Local ip address of the target ● ethaddr : MAC address. Will be set once
  • 39. U-Boot Important Environment Variables ● netmask : The network mask to communicate with the server ● bootdelay : Time in seconds to delay the boot process so that the u-boot can be interrupted before executing bootcmd ● autostart : If set the loaded image in memory will be executed automatically
  • 40. U-Boot Important Commands – Information ● help : Help command. Can be used to list all supported built commands ● flinfo : Display flash informations (NOR and SPI Flash) ● nand info : Display NAND flash informations
  • 41. U-Boot Important Commands – Environment ● printenv : Print all set environment variables ● setenv : Set the environment variable ● saveenv : Save environment variable to configured memory
  • 42. U-Boot Important Commands – Network ● ping : Checks for network connectivity
  • 43. U-Boot Important Commands – Boot ● boot : Runs the default boot command, stored in bootcmd variable ● bootm : Boot memory. Starts a kernel image loaded at the specified address in RAM Example: bootm <address>
  • 44. U-Boot Important Commands – Data Transfer ● loadb ● loads ● loady : Load a file from the serial line to RAM ● tftpboot : Loads a file from the network to RAM Example: tftpboot <address>
  • 45. U-Boot Important Commands – Memory ● erase : Erase the content of NOR flash ● protect : Protect the content of NOR flash ● cp : Write to NOR flash ● nand : Erase, read, write to NAND flash