blob: a3bd1ff76ce12121d7016d8651e1ce6b6accf8e4 [file] [log] [blame]
ARC toolchain is built with upstream buildroot.
Once the toolchain build completes, simply copy everything from
<buildroot-dir>/output/host/ to <gfiber-repo-dir>/toolchains/prowl/
1) Clone the upstream buildroot
cd ~
git clone git://
This creates <buildroot-dir> at ~/buildroot
2) Check out specific commit (optional)
If you want arc-2016.09-eng008 tools, you should check out
the commit below. For the very latest tools, skip this step.
commit f0e1381ef91ac85ad4fc9ab3db30057279ffe7c5
Author: Zakharov Vlad <>
Date: Wed Aug 10 20:10:40 2016 +0300
toolchain: Bump ARC tools to arc-2016.09-eng008
cd ~/buildroot
git checkout f0e1381ef91ac85ad4fc9ab3db30057279ffe7c5
3) Patch uClibc
Copy patches to buildroot directory:
cd <gfiber-repo-dir>/toolchains/prowl/Build.Info
cp 000*.patch ~/buildroot
Apply the patches:
cd ~/buildroot
git am 000*.patch
4) Copy buildroot configuration for the toolchain build
cd <gfiber-repo-dir>/toolchains/prowl/Build.Info
cp prowl_tc_defconfig ~/buildroot/configs/
5) Adjust kernel absolute path in the buildroot config file
When a new toolchain is built, it should be built against
the same Linux kernel source that runs on the target.
Prowl kernel source is at <gfiber-repo-dir>/kernel/prowl
Replace <gfiber-repo-dir> with the full absolute path to your gfiber client:
Verify that version 4.7 is still correct for headers:
Adjust the above as needed:
cd ~/buildroot/configs
<edit prowl_tc_defconfig>
6) Build the toolchain with buildroot
cd ~/buildroot
make prowl_tc_defconfig
Verify that .config file looks good:
less .config
Start the build:
7) Copy the new toolchain to toolchains/prowl
Remove the old toolchain:
cd <gfiber-repo-dir>/toolchains/prowl
repo start master .
rm -rf sbin usr
Copy the new toolchain:
cd ~/buildroot/output/host
cp -a * <gfiber-repo-dir>/toolchains/prowl/
Commit the new toolchain:
cd <gfiber-repo-dir>/toolchains/prowl
git add -A .
git commit