TS-4100 U-Boot Development: Difference between revisions

From embeddedTS Manuals
mNo edit summary
m (Links auto-updated for 2022 re-branding ( https://github.com/embeddedarm/u-boot-imx →‎ https://github.com/embeddedTS/u-boot-imx https://files.embeddedarm.com/ts-socket-macrocontrollers/ts-4100-linux/cross-toolchains/tsimx6ul-glibc-gnueabihf-4.9.4.tar.xz →‎ https://files.embeddedTS.com/ts-socket-macrocontrollers/ts-4100-linux/cross-toolchains/tsimx6ul-glibc-gnueabihf-4.9.4.tar.xz))
 
(20 intermediate revisions by 2 users not shown)
Line 1: Line 1:
We do provide our U-Boot sources, but we do not recommend rebuilding a custom U-Boot binary as it can leave the system in an unbootable state.
We do provide our U-Boot sources, but we do not recommend rebuilding a custom U-Boot binary as it can leave the system in an unbootable state.


If you still want to proceed with building a custom U-Boot, use the "tsimx_v2016.03_4.1.15_2.0.0_ga" branch from our github repo: https://github.com/embeddedarm/u-boot-imx you can do so with the following command:  
If proceeding with building a custom U-Boot, use the "tsimx_v2016.03_4.1.15_2.0.0_ga" branch from our github repo: https://github.com/embeddedTS/u-boot-imx this can be executed with the following command:  
<source lang=git>
<source lang=git>
git clone https://github.com/embeddedarm/u-boot-imx.git -b tsimx_v2016.03_4.1.15_2.0.0_ga u-boot-ts4100
git clone https://github.com/embeddedTS/u-boot-imx.git -b tsimx_v2016.03_4.1.15_2.0.0_ga u-boot-ts4100
</source>  
</source>  


When compiling, we recommend using ONLY this [ftp://ftp.embeddedarm.com/ts-socket-macrocontrollers/ts-4100-linux/cross-toolchains/tsimx6ul-glibc-gnueabihf-4.9.4.tar.xz cross-compiler], the use of any other compiler may cause issues. Specifically, we have experienced RAM problems when using a more recent cross compiler to build this version of U-Boot. The use of any other compiler may leave the system in an unbootable state! Once you have properly extracted the tarball you will need to set up the following variables and run the build script:
When compiling, we recommend using ONLY this [https://files.embeddedTS.com/ts-socket-macrocontrollers/ts-4100-linux/cross-toolchains/tsimx6ul-glibc-gnueabihf-4.9.4.tar.xz cross-compiler], the use of any other compiler may cause issues or may leave the system in an unbootable state! Specifically, we have experienced RAM problems when using a more recent cross compiler to build this version of U-Boot. The tarball can be extracted with the following:
<source lang=bash>
mkdir /opt/toolchains/ts4100/
tar -xf tsimx6ul-glibc-gnueabihf-4.9.4.tar.xz -C /opt/toolchains/ts4100/
</source>
Once the tarball has been properly extracted set up the following variables and run the build script:
<source lang=bash>
<source lang=bash>
export ARCH=arm
export ARCH=arm
export CROSS_COMPILE=/path/to/folder/bin/arm-tsimx6ul-linux-gnueabihf
export CROSS_COMPILE=/path/to/folder/bin/arm-tsimx6ul-linux-gnueabihf-
 
</source>
After the environment variables have been set up as shown above the build is now ready to be executed:
<source lang=bash>
cd /path/to/u-boot-imx
./build-imx6ul.sh ts4100
./build-imx6ul.sh ts4100
</source>
</source>


This will output a binaries for 1 GB and 512 MB RAM variants that can be written to the device using the steps in [[#Update u-boot|Update U-Boot]].
This will output binaries for 1 GB and 512 MB RAM variants in "/u-boot-imx/out/" that can be written to the device using the steps in [[#Update_U-Boot|Update U-Boot]].
 
{{Note| If the following error message is received: "error while loading shared libraries: libmpfr.so.4: cannot open shared object file:" create the following symbolic link in Debian:
<source lang=bash>
sudo ln -s /usr/lib/x86_64-linux-gnu/libmpfr.so.6 /usr/lib/x86_64-linux-gnu/libmpfr.so.4
</source>
}}

Latest revision as of 16:43, 17 January 2022

We do provide our U-Boot sources, but we do not recommend rebuilding a custom U-Boot binary as it can leave the system in an unbootable state.

If proceeding with building a custom U-Boot, use the "tsimx_v2016.03_4.1.15_2.0.0_ga" branch from our github repo: https://github.com/embeddedTS/u-boot-imx this can be executed with the following command:

git clone https://github.com/embeddedTS/u-boot-imx.git -b tsimx_v2016.03_4.1.15_2.0.0_ga u-boot-ts4100

When compiling, we recommend using ONLY this cross-compiler, the use of any other compiler may cause issues or may leave the system in an unbootable state! Specifically, we have experienced RAM problems when using a more recent cross compiler to build this version of U-Boot. The tarball can be extracted with the following:

mkdir /opt/toolchains/ts4100/
tar -xf tsimx6ul-glibc-gnueabihf-4.9.4.tar.xz -C /opt/toolchains/ts4100/

Once the tarball has been properly extracted set up the following variables and run the build script:

export ARCH=arm
export CROSS_COMPILE=/path/to/folder/bin/arm-tsimx6ul-linux-gnueabihf-

After the environment variables have been set up as shown above the build is now ready to be executed:

cd /path/to/u-boot-imx
./build-imx6ul.sh ts4100

This will output binaries for 1 GB and 512 MB RAM variants in "/u-boot-imx/out/" that can be written to the device using the steps in Update U-Boot.

Note: If the following error message is received: "error while loading shared libraries: libmpfr.so.4: cannot open shared object file:" create the following symbolic link in Debian:
sudo ln -s /usr/lib/x86_64-linux-gnu/libmpfr.so.6 /usr/lib/x86_64-linux-gnu/libmpfr.so.4