U-Boot v2017.03
Published on March 29, 2017
//
We’re glad to release the latest U-Boot v2017.03 with support for all our platforms:
For the impatient
Our build server automatically generates and uploads all the latest binaries to this address:
The README file contains the exact commit ID of this build images.
Also, the up-to-date 6x_upgrade U-Boot script is included so you can copy all the files directly to the root of your media storage.
For those not sure about which binary to download, here is a quick summary for our boards:
- u-boot.nitrogen6q for the Nitrogen6x/BD-SL-i.MX6 (Sabre-Lite) using the imx.6Q
- u-boot.nitrogen6q2g for the 2G RAM version of Nitrogen6x/Sabre-lite 6Q
- u-boot.nitrogen6_max for the Nitrogen6_MAX
- u-boot.nitrogen6qp_max for the Nitrogen6QP_MAX
- u-boot.nitrogen6q_som2_1g for the Nit6X-SoM V2
- u-boot.nit6xlite for the Nitrogen6x-Lite
- u-boot.nit6xlite1g for the Nitrogen6x-Lite with 1G RAM
- u-boot.nitrogen6sx for the Nitrogen6_SoloX
- u-boot.nitrogen7 for the Nitrogen7
What’s new?
First, this version includes all the latest features and fixes available from mainline U-Boot.
One noticeable change is the use of Kconfig
to select most of the options now (instead of piling them up in the config header).
Also, another important change is the support of sparse images when using Android fastboot
tool.
Build instructions
The usual compilation disclaimers apply for this. It is highly recommended to use the gcc-arm-linux-gnueabihf package available on Ubuntu/Debian.
~$ sudo apt-get install gcc-arm-linux-gnueabihf
First, clone our U-Boot git repository. This is the branch you'll need to compile and install to work with the new kernel.
~$ git clone https://github.com/boundarydevices/u-boot-imx6
-b boundary-v2017.03
~$ cd u-boot-imx6
Here you'll need to find and make the relevant defconfig for your board.
If you are using a U-Boot >=2015.07, then at the U-Boot prompt you can type the following to see which defconfig you should build.
=> echo $uboot_defconfig
Otherwise, to see all the defconfigs, use this command and pick the one that is right for you.
~/u-boot-imx6$ find . -name "nit*defconfig"
./configs/nitrogen6_vm1g_defconfig
./configs/nitrogen6q2g_defconfig
./configs/nitrogen6dl2g_defconfig
./configs/nitrogen6s1g_defconfig
./configs/nit6xlite_defconfig
./configs/nitrogen6q_fl_defconfig
./configs/nitrogen7_defconfig
./configs/nitrogen6q_som2_2g_defconfig
./configs/nitrogen6sx_defconfig
./configs/nitrogen6dl_defconfig
./configs/nitrogen6q_defconfig
./configs/nitrogen6s_defconfig
./configs/nitrogen6_lum_dl1_defconfig
./configs/nitrogen6_vm_defconfig
./configs/nitrogen6q_som2_1g_defconfig
./configs/nitrogen6q_som2_4g_defconfig
./configs/nit6xlite1g_defconfig
./configs/nitrogen6qp_max_defconfig
./configs/nitrogen6_max_defconfig
Now compile that defconfig, here I'll use nitrogen6q_defconfig as an example.
~/u-boot-imx6$ export ARCH=arm
~/u-boot-imx6$ export CROSS_COMPILE=arm-linux-gnueabihf-
~/u-boot-imx6$ make nitrogen6q_defconfig
~/u-boot-imx6$ make -j2
~/u-boot-imx6$ ./tools/mkimage -A arm -O linux -T script -C none
-a 0 -e 0 -n "update script"
-d board/boundary/nitrogen6x/6x_upgrade.txt 6x_upgrade
Flashing procedure
Now you'll have a u-boot.imx file compiled. Rename the u-boot.imx file to u-boot.{uboot_defconfig} (see below), then move that and the 6x_upgrade script to the root folder of your media (SD Card / USB / SATA drive).
~/u-boot-imx6/$ cp u-boot.imx /u-boot.
~/u-boot-imx6/$ cp 6x_upgrade /
Plug your media to the platform, power up the board and interrupt u-boot to run the commands below.
If your u-boot prompt is "U-boot >" then you need to set uboot_defconfig
to the value that matches your platform.
Here is an example for Nitrogen6x/BD-SL-i.MX6:
Hit any key to stop autoboot: 0
U-Boot > setenv uboot_defconfig
U-Boot > run upgradeu
Otherwise just run:
Hit any key to stop autoboot: 0
=> run upgradeu
This will run the 6x_upgrade script and look for a file u-boot.${uboot_defconfig} and burn it. At this point it might be worth while to clear your environment variables, this will set you up with the default environment variables and no more.
Hit any key to stop autoboot: 0
=> env default -a
=> savee
Then as a final note, if you've somehow managed to brick your board through this process and need help. Well, we already wrote a blog post here about that topic.