49 lines
1.4 KiB
Bash
Executable file
49 lines
1.4 KiB
Bash
Executable file
#!/bin/bash
|
|
|
|
set -e
|
|
set -o nounset
|
|
set -o errexit
|
|
|
|
type git >/dev/null 2>&1 || { echo >&2 "git required. Aborting."; exit 1; }
|
|
type ccache >/dev/null 2>&1 || { echo >&2 "ccache required. Aborting."; exit 1; }
|
|
|
|
SDK="OpenWrt-SDK-mvebu_gcc-4.8-linaro_musl-1.1.15_eabi.Linux-x86_64"
|
|
sdk_url="https://repo.turris.cz/omnia/${SDK}.tar.bz2"
|
|
lede_dir="lede"
|
|
wireguard_path="${lede_dir}/package/network/services/wireguard"
|
|
arm_cc="${SDK}/staging_dir/toolchain-arm_cortex-a9+vfpv3_gcc-4.8-linaro_musl-1.1.15_eabi/bin/arm-openwrt-linux-g++"
|
|
arm_ld="${SDK}/staging_dir/toolchain-arm_cortex-a9+vfpv3_gcc-4.8-linaro_musl-1.1.15_eabi/bin/arm-openwrt-linux-ld"
|
|
kernel_dir="${SDK}/build_dir/target-arm_cortex-a9+vfpv3_musl-1.1.15_eabi/linux-mvebu/linux-4.4.91/arch/arm/kernel"
|
|
|
|
if [ ! -d $SDK ]; then
|
|
echo "Downloading and extracting SDK..."
|
|
wget $sdk_url
|
|
tar xf $SDK.tar.bz2
|
|
rm -f $SDK.tar.bz2
|
|
fi
|
|
|
|
echo "Building for ${SDK}"
|
|
|
|
echo "Updating checkout..."
|
|
|
|
if [ -d $lede_dir ]; then
|
|
pushd $lede_dir
|
|
git pull
|
|
popd
|
|
else
|
|
git clone https://github.com/lede-project/source/ $lede_dir
|
|
fi
|
|
|
|
rsync -aP $wireguard_path $SDK/package
|
|
|
|
if [ ! -f $kernel_dir/module.lds ]; then
|
|
echo -e "SECTIONS {\n\t.core.plt : { BYTE(0) }\n\t.init.plt : { BYTE(0) }\n}" > $kernel_dir/module.lds
|
|
fi
|
|
|
|
echo "Building..."
|
|
|
|
make CXX=$arm_cc LD=$arm_ld V=s -C $SDK -j 5
|
|
|
|
rsync --remove-source-files $SDK/bin/mvebu-musl/packages/base/*.ipk ./
|
|
|
|
echo "Done."
|