iMX6 TinyRex Lite U-Boot

From Voipac Wiki
Revision as of 08:03, 24 April 2022 by Voipac (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

U-Boot is a bootloader responsible for hardware initialisation, loading and booting Linux kernel. It is also used for module flashing.

Build

Set toolchain

Export toolchain variables for every related terminal session.

Initial steps

Create working directory

mkdir -pv ~/workdir/imx6/bootloader/

U-Boot v2015.04

Download and extract source code

cd ~/workdir/imx6/bootloader/
git clone -b uboot-imx-v2015.04 --single-branch https://github.com/voipac/uboot-imx uboot-imx-v2015.04-rex
cd uboot-imx-v2015.04-rex

Compile

Output file is called u-boot.imx. All the compiled images are intended for production usage.

Compile for SD3 and Linux/Yocto

cd ~/workdir/imx6/bootloader/uboot-imx-v2015.04-rex
make distclean
make mx6tinyrexlite_config
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi-
cp -av u-boot.imx /srv/tftp/imx6/u-boot-imx6-tinyrexlite.imx

Compile for SPI1 and Linux/Yocto

cd ~/workdir/imx6/bootloader/uboot-imx-v2015.04-rex
make distclean
make mx6tinyrexliterecovery_config
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi-
cp -av u-boot.imx /srv/tftp/imx6/u-boot-imx6-tinyrexliterecovery.imx

How to Flash a new version

Flash Normal image into SD3

sudo dd if=u-boot-imx6-tinyrex*.imx of=/dev/sdc bs=1k seek=1 skip=0 oflag=dsync

U-Boot v2014.10

Download and Extract source code

cd ~/workdir/imx6/bootloader/
git clone -b uboot-imx-v2014.10 --single-branch https://github.com/voipac/uboot-imx uboot-imx-v2014.10-rex
cd uboot-imx-v2014.10-rex

Compile

Output file is called u-boot.imx. The compiled image is intended for production usage.

Compile for Linux/Yocto

cd ~/workdir/imx6/bootloader/uboot-imx-v2014.10-rex
make distclean
make mx6tinyrexlite_config
make
cp -av u-boot.imx /srv/tftp/imx6/u-boot-imx6-tinyrexlite.imx

How to Flash a new version

Flash Normal image into SD3

sudo dd if=u-boot-imx6-tinyrex*.imx of=/dev/sdc bs=1k seek=1 skip=0 oflag=dsync

Configure

Manually erase configuration

env default -f -a
saveenv
reset

Manual boot options

Manually boot from SD3

mw.l 0x020d8040 0x00003040; mw.l 0x020d8044 0x10000000; reset

Change display resolution

setenv video "video=mxcfb0:dev=hdmi,1280x720M@60,if=RGB24,bpp=32"
saveenv