U-Boot FAQ

How does U-Boot auto-detect the connected PDA on my board ?

A: U-Boot uses a specific GPIO pin to read a memory from the connected PDA. More information can be found on this page.

How can I add another Device Tree overlay to my base Device Tree blob at runtime ?

A: U-boot allows the user to load a Device Tree Overlay and apply it on the base Device Tree Blob just before booting Linux, thus making it transparent for Linux (Linux will see just one Device Tree Blob like it expects). For more information, visit this page.

My U-boot detects some screens but not mine. What can I do ?

A: U-boot detects all PDAs that have the EEPROM properly pre-programmed. The U-boot environment loads a specific overlay for Linux for 4 possible screen types. Your screen might be detected, but the required overlay for Linux may not be loaded. There is a difference between detecting a screen and loading an overlay for a specific screen type. U-boot in our release comes with a pre-written U-boot environment script that loads the corresponding Device Tree Overlay for specific types of screens. You are free to manually override this behavior, add your own custom behavior, or force U-boot to do something else at boot time. For more information about the default environment and how to tweak it from U-boot prompt, visit this page.

Which screens can be connected to my board? Does U-boot detect them all ?

A: For information about which screens you can connect, check this page. For information about what screens can U-boot detect, check this question.

I have a connected screen, but U-boot detects it wrong. Can I force U-boot to load another screen configuration?

A: Yes. Check this page on how to force U-boot to load another screen type.

My screen is black, although it's a right screen, it is supposed to be detected. What can I do?

A:
  • Check the hardware: ribbon cables, check that your board supports the 1Wire EEPROM connection. This page explains this mechanism.
  • Check if the display is really detected: When U-boot boots, it should print "PDA TMXXXX detected" , according to which screen you have connected. If it does not print, then you either have a faulty hardware setup, or, you have an unknown screen.
  • If you have an old variant of TM5000 screen, the EEPROM is not properly programmed. You need to force U-boot to load the TM5000 configuration. See this page on how to do that.
  • If your screen is unknown, but is a correct hardware setup, then, U-boot will read the screen information and set an environment variable. Stop the U-boot autoboot and at the prompt issue 'printenv' . Look at the 'pda' variable. Debug further from there, if you need to load a specific Device Tree overlay for your screen. You can find information about how to tweak your U-boot environment script to cope with different situations here.
  • If everything is fine in U-boot, then the Linux Kernel is to blame !

What is a FIT image and how does this work with U-boot?

A: A FIT image is like an archive, a collection of more images that can be used in the boot process, wrapped in a single file. It can contain Kernel images, Device tree Blobs, etc. More information is available here.

I have a working setup with a specific PDA. I want to connect another PDA. Do I need to reflash my board or change any configuration ?

A: No. U-boot will automatically detect your new connected PDA and load the specific configuration, all is already present on your board. You do not need to change anything. Remove your PDA, connect the new PDA and replug your board !

How do I use U-Boot to store binaries in FLASH ?

A: One U-Boot available on the board, you can use it to flash binaries on storage media. The following examples can be used for Linux kernel, root filesystem or whatever you binary you want on your FLASH storage media :

How do I access U-Boot environment while Linux is running ?

A: U-Boot provides little command line tool to access environment from Linux. It is located in U-Boot source code tree : tools/env directory. You will certainly have to tailor your MTD partitioning to identify the U-Boot environment in one MTD partition.
Have a look at the U-Boot README documentation for fw_env.

Here is a post in at91.com forum that talks about modifying U-Boot parameter out of Linux.

I get a strange error when booting a FIT image Node name contains @ in 'kernel@1' image node

A: Please check this page