TS-4100 U-Boot Development: Difference between revisions

From embeddedTS Manuals
No 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))
 
(9 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 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. Extract the tarball with the following:
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>
<source lang=bash>
mkdir /opt/toolchains/ts4100/
mkdir /opt/toolchains/ts4100/
tar -xf tsimx6ul-glibc-gnueabihf-4.9.4.tar.xz -C /opt/toolchains/ts4100/
tar -xf tsimx6ul-glibc-gnueabihf-4.9.4.tar.xz -C /opt/toolchains/ts4100/
</source>
</source>
Once you have properly extracted the tarball you will need to set up the following variables and run the build script:
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
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 in "/u-boot-imx/out/" 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 you get the following error message: "error while loading shared libraries: libmpfr.so.4: cannot open shared object file:" create the following symbolic link in Debian:
{{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>
<source lang=bash>
sudo ln -s /usr/lib/x86_64-linux-gnu/libmpfr.so.6 /usr/lib/x86_64-linux-gnu/libmpfr.so.4
sudo ln -s /usr/lib/x86_64-linux-gnu/libmpfr.so.6 /usr/lib/x86_64-linux-gnu/libmpfr.so.4
</source> }}
</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