Easy Install gcc Cross Compiler: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
(5 intermediate revisions by the same user not shown) | |||
Line 7: | Line 7: | ||
To understand what a cross compiler is, plz read http://en.wikipedia.org/wiki/Cross_compiler | To understand what a cross compiler is, plz read http://en.wikipedia.org/wiki/Cross_compiler | ||
== | ==Installation== | ||
===Linaro gcc at launchpad.net:=== | |||
Toolchain Home Page: https://launchpad.net/linaro-toolchain-binaries/ | |||
===prerequisites=== | ===prerequisites ubuntu 14.04=== | ||
sudo apt-get -y install bc build-essential device-tree-compiler lsb-release lzma lzop fakeroot ccache | sudo apt-get -y install bc build-essential device-tree-compiler lsb-release lzma lzop fakeroot ccache libc6-i386 libstdc++6:i386 | ||
=== | |||
===prerequisites ubuntu ubuntu 16.04=== | |||
sudo apt-get -y install bc build-essential device-tree-compiler lsb-release lzma lzop fakeroot ccache libc6-i386 libstdc++6:i386 u-boot-tools module-init-tools | |||
if there is a problem with: kernel/timeconst.pl, please change line 373: | |||
if (!defined(@val)) { | |||
to | |||
if (!@val) { | |||
https://freetz.org/ticket/2759 | |||
===armhf toolchian install (both 14.04 and 16.04)=== | |||
cd /opt | cd /opt | ||
sudo wget | sudo wget https://launchpad.net/linaro-toolchain-binaries/trunk/2013.10/+download/gcc-linaro-arm-linux-gnueabihf-4.8-2013.10_linux.tar.xz | ||
sudo tar | sudo tar -xvf gcc-linaro-arm-linux-gnueabihf-4.8-2013.10_linux.tar.xz | ||
echo "PATH=/opt/gcc-linaro-arm- | echo "PATH=/opt/gcc-linaro-arm-linux-gnueabihf-4.8-2013.10_linux/bin:${PATH}" >> ~/.bashrc | ||
=== | === On old ubuntu system (with apt install)=== | ||
apt-get install gcc-arm-linux-gnueabihf | sudo apt-get install gcc-arm-linux-gnueabihf | ||
==test installation== | |||
re-login your console and test with: | re-login your console and test with: | ||
root@avernus:~# arm-linux-gnueabihf-gcc | root@avernus:~# arm-linux-gnueabihf-gcc | ||
Line 36: | Line 52: | ||
==gcc 5== | |||
Later kernel requires later version of gcc. please download Linaro gcc binaries: | |||
wget http://releases.linaro.org/components/toolchain/binaries/5.4-2017.01/arm-linux-gnueabihf/gcc-linaro-5.4.1-2017.01-x86_64_arm-linux-gnueabihf.tar.xz | |||
/ | |||
Latest revision as of 00:08, 17 April 2017
We are using Linaro gcc armhf cross compiler, getting the binaries of gcc from the official or trusted source is preferred.
Why Cross Compiling
Cross compiler enables us to compile ARM code on x64/x86 machines with 10 times plus speed. we will use it for Kernel, U-Boot, and other compilation.
To understand what a cross compiler is, plz read http://en.wikipedia.org/wiki/Cross_compiler
Installation
Linaro gcc at launchpad.net:
Toolchain Home Page: https://launchpad.net/linaro-toolchain-binaries/
prerequisites ubuntu 14.04
sudo apt-get -y install bc build-essential device-tree-compiler lsb-release lzma lzop fakeroot ccache libc6-i386 libstdc++6:i386
prerequisites ubuntu ubuntu 16.04
sudo apt-get -y install bc build-essential device-tree-compiler lsb-release lzma lzop fakeroot ccache libc6-i386 libstdc++6:i386 u-boot-tools module-init-tools
if there is a problem with: kernel/timeconst.pl, please change line 373:
if (!defined(@val)) {
to
if (!@val) {
https://freetz.org/ticket/2759
armhf toolchian install (both 14.04 and 16.04)
cd /opt sudo wget https://launchpad.net/linaro-toolchain-binaries/trunk/2013.10/+download/gcc-linaro-arm-linux-gnueabihf-4.8-2013.10_linux.tar.xz sudo tar -xvf gcc-linaro-arm-linux-gnueabihf-4.8-2013.10_linux.tar.xz echo "PATH=/opt/gcc-linaro-arm-linux-gnueabihf-4.8-2013.10_linux/bin:${PATH}" >> ~/.bashrc
On old ubuntu system (with apt install)
sudo apt-get install gcc-arm-linux-gnueabihf
test installation
re-login your console and test with:
root@avernus:~# arm-linux-gnueabihf-gcc arm-linux-gnueabihf-gcc: fatal error: no input files compilation terminated.
yeh! it works!
gcc 5
Later kernel requires later version of gcc. please download Linaro gcc binaries:
wget http://releases.linaro.org/components/toolchain/binaries/5.4-2017.01/arm-linux-gnueabihf/gcc-linaro-5.4.1-2017.01-x86_64_arm-linux-gnueabihf.tar.xz