#!/bin/bash
#####################################################################
#
# u-boot 빌드
#
# Homepage: http://www.denx.de/wiki/U-Boot/WebHome
#
# target SoC: MT7620A-https://www.mediatek.com/products/homeNetworking/mt7620n-a
#
# ※참고: https://www.denx.de/wiki/view/ELDK-5/WebHome#Section_1.6.
#
#####################################################################
CURRENT_DIR=$(pwd)
func_ubuntu_ready() {
sed -i "s/kr.ftp.daumkakao.com/ftp.daumkakao.com/g" /etc/apt/sources.list
apt-get -y update
apt-get -y install build-essential
apt-get -y install zlib1g zlib1g-dev
apt-get -y install libncurses5-dev libncursesw5-dev
apt-get -y install python-dev
apt-get -y install bison
}
func_ubuntu_install_cross_compiler() {
#apt-get install gcc-7-multilib-arm-linux-gnueabi -y
#apt-get install gcc-7-multilib-arm-linux-gnueabihf -y
#apt-get install gcc-7-multilib-mips64el-linux-gnuabi64 -y
#apt-get install gcc-7-multilib-mips64-linux-gnuabi64 -y
#apt-get install gcc-7-multilib-mipsel-linux-gnu -y
apt-get install gcc-7-multilib-mips-linux-gnu -y
#apt-get install gcc-7-multilib-powerpc64-linux-gnu -y
#apt-get install gcc-7-multilib-powerpc-linux-gnu -y
#apt-get install gcc-7-multilib-s390x-linux-gnu -y
#apt-get install gcc-7-multilib-sparc64-linux-gnu -y
}
func_install_eldk() {
mkdir eldk_install
cd eldk_install
mkdir -p targets/mips
wget ftp://ftp.denx.de/pub/eldk/5.6/install.sh
chmod 755 install.sh
cd targets/mips
wget ftp://ftp.denx.de/pub/eldk/5.6/targets/mips/target.conf
wget ftp://ftp.denx.de/pub/eldk/5.6/targets/mips/eldk-eglibc-i686-mips-toolchain-5.6.sh
wget ftp://ftp.denx.de/pub/eldk/5.6/targets/mips/core-image-minimal-generic-mips.tar.bz2
wget ftp://ftp.denx.de/pub/eldk/5.6/targets/mips/core-image-sato-sdk-generic-mips.tar.bz2
cd ../..
./install.sh -s toolchain -r "sato-sdk" mips
}
func_edit_profile() {
echo "" >> ~/.profile
echo "export ARCH=\"mips\"" >> ~/.profile
echo "export CROSS_COMPILE=\"mips-linux-\"" >> ~/.profile
echo "export PATH=\"/opt/eldk-5.6/mips/sysroots/i686-eldk-linux/usr/bin:/opt/eldk-5.6/mips/sysroots/i686-eldk-linux/usr/bin/powerpc-linux:${PATH}\"" >> ~/.profile
}
func_download_uboot() {
rm -rf u-boot
git clone https://github.com/tessel/uboot-mt7620 u-boot/
}
func_build_uboot() {
source /opt/eldk-5.6/mips/environment-setup-mips32-linux
export CFLAGS="-O2 -pipe -g -feliminate-unused-debug-types -fno-PIE"
#export LDFLAGS="-O1 --ignore-unresolved-symbol _GLOBAL_OFFSET_TABLE_"
export LDFLAGS="-O1"
cd u-boot
make
# 타겟 SoC 칩을 config를 알아본다.
#ls -l configs/
}
#func_ubuntu_ready
#func_ubuntu_install_cross_compiler
#func_install_eldk
#func_edit_profile
func_download_uboot
func_build_uboot