Older boards

Getting Started for AT91SAM9x5-EK

Getting Started for SAMA5D3-EK

Getting Started for SAMA5D4-EK

Getting Started SAM9


This page is a starting point for the Linux4SAM offer and allows you to easily get a running embedded Linux distribution on AT91 products.

This Getting started describes also how a Linux4SAM system boots and how binaries are installed on FLASH memories. For each topic a more detailed section exists with in-depth description, valuables web links, source code how to rebuild used binaries.

Getting Started AT91Bootstrap U-Boot Linux Rootfs

Linux4SAM Getting Started map

Click on the image up above to select a topic.

Boot sequence

Several pieces of software are involved to boot a linux kernel on SAM products. First is the ROM code which is in charge to check if a valid application is present on supported media (FLASH, DATAFLASH, NANDFLASH, SDCARD).

The boot sequence of linux4SAM is done in several steps :

  1. Boot Program - ROM Code - Checks if a valid application is present in FLASH and if it is the case downloads it into internal SRAM.
    For more information on this topic, please check the Boot strategies section and particularly the Boot capabilities matrix.
  2. AT91Bootstrap - In charge of hardware configuration, downloads U-Boot binary from FLASH to SDRAM / DDRAM, starts the bootloader (third level bootloader actually)
  3. U-Boot - The bootloader, in charge of downloading kernel binaries from FLASH, network, SD card, etc. It then loads the Device Tree Binary and starts the Linux kernel.
  • Linux kernel - The kernel of the Operating System.
  • Root Filesystem - Contains applications which are executed on the target, using the OS kernel services.


Linux4SAM NandFlash demo - Memory map




  • a Windows XP host (or later) or a Linux distribution to run the SAM-BA tool ;
  • power supply stocked with the Evaluation Kit ;
  • USB or micro-USB Device Cable ;
  • serial Cross Cable (Female-Female) or a type A-micro-B USB cable ;
  • the Evaluation Kit. Check below how kits look like and how to connect them :

AT91SAM9G20-EK AT91SAM9M10G45-EK AT91SAM9x5-EK (1)
AT91SAM9N12-EK (2)    


  • a serial terminal emulator (HyperTerminal, minicom, etc.) :


  • sama5d2 revision A, only to access the ROMCode through serial interface and see the RomBOOT message appearing, configure your serial line to 57600.
    Change it back to 115200 for normal operation.
    All components and demo binaries are now configured to work at 115200 8-N-1.

The usual serial communication parameters are 115200 8-N-1 :

Baud rate 115200
Data 8 bits
Parity None
Stop 1 bit
Flow control None

  • the SAM-BA tool => Check the SoftwareTools#SAM_BA page ;
  • the demo archive provided just below. This archive contains :
    • all components binaries : AT91Bootstrap, U-Boot, the Device Tree Binary, Linux kernel, root filesystem ;
    • a TCL/SAM-BA script that interfaces with the SAM-BA tool to flash the demo ;
    • a .bat or .sh script able to run the flashing script calling SAM-BA itself.

Demo archives

Board Description Binary Sources location
AT91SAM9X5-EK Linux4SAM BuildRoot based demo linux4sam-buildroot-at91sam9x5ek_linux4sam_4.2.zip (~ 29 MB)
md5: 74b6cf2b9d2238419c76661ceda5d34c
Linux Kernel
AT91SAM9M10G45-EK Linux4SAM BuildRoot based demo linux4sam-buildroot-at91sam9m10g45ek_linux4sam_4.2.zip (~ 35 MB)
md5: 23231be8b30c23441d767b3b848a9871
Linux Kernel
AT91SAM9G20-EK Linux4SAM BuildRoot based demo linux4sam-buildroot-at91sam9g20ek_linux4sam_4.2.zip (~ 35 MB)
md5: 50498d0c36b4b5c213e82edd57737ca3
Linux Kernel

Old binaries linux4sam demo directory

Flashing a demo on AT91 boards

Before flashing the demo, make sure that you have installed the SAM-BA tool on your host computer.

Then you will have to choose the proper procedure depending on the Evaluation Kit that you have. Note however that the procedure is extremely similar whichever EK board you may choose.

Flashing AT91SAM9G20-EK Flashing AT91SAM9M10G45-EK Flashing AT91SAM9x5-EK
Flashing AT91SAM9N12-EK    

Recent FAQ

Older SAM9 boards

USBGadget Config: Configure AT91 USB Gadget on Linux and Endpoint order management (composite USB). (Kernel, linux-4.4-at91, linux-4.9-at91, linux-4.14-at91, linux-4.19-at91, linux-5.4-at91, linux-5.10-at91, linux-5.15-mchp, linux-6.1-mchp)
Iio Adc Driver: Adc IIO driver introduction. (Kernel, linux-3.10-at91, linux-3.18-at91, linux-4.1-at91, linux-4.4-at91, linux-4.9-at91, linux-4.14-at91, linux-4.19-at91, linux-5.4-at91, linux-5.10-at91, linux-5.15-mchp, linux-6.1-mchp)
Build Linux Ssl: Kernel Compilation Error related to OpenSSL. (Kernel)
Real Time: Enable Real Time support for AT91SAM9 Soc. (Kernel)
Audio Record On At 91 sam 9 g 20 ek: Audio Record on At91sam9g20ek. ()
SAM 9 M 10 Gstreamer: M10 Vdec support. ()


1 : *AT91SAM9x5-EK*: common board for every AT91SAM9x5 chip in the family.

2 : *AT91SAM9N12-EK*: common board for every AT91SAM9N1x, AT91SAM9CN1x chip in the family.

Topic attachments
I Attachment Action Size Date Who Comment
PNGpng 9g20_board_presentation.png manage 195.6 K 2008-10-10 - 13:10 NicolasFerre  
PNGpng 9g20_board_presentation_tiny.png manage 16.0 K 2008-10-10 - 13:11 NicolasFerre  
PNGpng 9m10g45_board_presentation.png manage 147.3 K 2009-07-21 - 09:17 NicolasFerre  
PNGpng 9m10g45_board_presentation_tiny.png manage 12.9 K 2009-07-21 - 09:17 NicolasFerre  
PNGpng 9m10g45_default_jumpers_settings.png manage 103.3 K 2009-08-29 - 12:55 NicolasFerre  
PNGpng 9n12_board_presentation.png manage 127.9 K 2012-06-13 - 10:32 NicolasFerre  
PNGpng 9n12_board_presentation_tiny.png manage 11.2 K 2012-06-13 - 10:32 NicolasFerre  
PNGpng 9x5_board_presentation.png manage 414.6 K 2011-07-11 - 08:59 NicolasFerre  
PNGpng 9x5_board_presentation_tiny.png manage 11.1 K 2011-07-11 - 08:59 NicolasFerre  
PNGpng 9x5_boot_sequence.png manage 113.8 K 2011-07-11 - 08:59 NicolasFerre  
PNGpng Linux4SAM_GettingStarted.png manage 135.5 K 2013-02-05 - 10:47 NicolasFerre  
PowerPointppt SAM9_Boot_Strategies.ppt manage 1561.5 K 2009-10-27 - 14:03 NicolasFerre SAM9 boot strategie addressed by product
PNGpng a5d3x_board_presentation.png manage 165.9 K 2013-01-30 - 16:20 NicolasFerre  
PNGpng a5d3x_board_presentation_tiny.png manage 13.7 K 2013-01-30 - 16:21 NicolasFerre  
PNGpng a5d4_xplained_board_presentation.png manage 262.4 K 2014-11-10 - 15:24 NicolasFerre  
PNGpng a5d4_xplained_board_presentation_tiny.png manage 20.3 K 2014-11-10 - 15:22 NicolasFerre  
PNGpng a5d4ek_board_presentation.png manage 254.3 K 2014-10-01 - 10:40 NicolasFerre  
PNGpng a5d4ek_board_presentation_tiny.png manage 19.2 K 2014-10-01 - 10:40 NicolasFerre  
PNGpng demo_nandflash_map_lnx4sam4x.png manage 19.6 K 2013-01-28 - 21:48 NicolasFerre  
PNGpng linux_boot_sequence.png manage 25.9 K 2013-01-28 - 21:46 NicolasFerre  
PNGpng sama5d3_xplained_board_presentation.png manage 473.5 K 2014-02-25 - 14:27 LudovicDesroches  
PNGpng sama5d3_xplained_board_presentation_tiny.png manage 19.5 K 2014-02-25 - 14:30 LudovicDesroches  
r42 - 15 Dec 2021 - 13:25:22 - NicolasFerre
Linux & Open Source for AT91 Microchip Microprocessors

Copyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.

Linux® is the registered trademark of Linus Torvalds in the U.S. and other countries.

Microchip® and others, are registered trademarks or trademarks of Microchip Technology Inc. and its subsidiaries. This site is powered by the TWiki collaboration platform

Arm® and others are registered trademarks or trademarks of Arm Limited (or its affiliates). Other terms and product names may be trademarks of others.

Ideas, requests, contributions ? Connect to LinksToCommunities page.

Syndicate this siteRSS ATOM