代码拉取完成,页面将自动刷新
#!/bin/bash
#
#Configure
#Please execute : sudo apt-get install lib32stdc++6 gcc-arm-linux-guneabihf
#Please execute : sudo apt-get install build-essential device-tree-compiler
#Please execute : sudo apt-get install u-boot-tools
opi_ismenuconfig=no #yes and no
opi_istarpkg=no #yes and no
opi_log_file="build.log"
opi_Kbuild_debarch=armhf
opi_localversion="-cazure"
opi_kdeb_pkgversion=sunxi-3.4
#Compiling process
opi_num=6
#arch
arch=arm
cross_compile=arm-linux-gnueabihf-
#Configure cross compiler
path="/home/chen/orangepi/gcc-linaro-arm-linux-gnueabihf-4.8/bin:"$PATH
export PATH=$path
#arm-linux-gnueabihf-gcc -v
#show help
show_usage(){
printf "Usage: \n ./build.sh [target board] \n --[zero|one|pc|pc_plus|plus2e|plus|2] \n\n"
#exit
}
#execute script and record log
run(){
echo "" | tee -a $opi_log_file
echo $1 | tee -a $opi_log_file
$1 2>&1 | tee -a $opi_log_file
}
show(){
echo "" | tee -a $opi_log_file
echo $1 | tee -a $opi_log_file
}
echo "The Orangepi kernel compiler script" | tee $opi_log_file
date | tee -a $opi_log_file
if [[ $1 == "clean" ]]; then
run "make ARCH=$arch CROSS_COMPILE=$cross_compile clean"
run "make ARCH=$arch CROSS_COMPILE=$cross_compile distclean"
exit
fi
if [[ $1 != "" ]]; then
configfile="orangepi_$1_defconfig"
if [[ -f .config ]]; then
echo " .config file exist,ready to build"
run "make ARCH=$arch CROSS_COMPILE=$cross_compile oldconfig"
else
#make xx_defconfig
run "make ARCH=$arch CROSS_COMPILE=$cross_compile $configfile"
fi
#make menuconfig
if [[ $opi_ismenuconfig == yes ]]; then
echo "make ARCH=$arch CROSS_COMPILE=$cross_compile menuconfig"
make ARCH=$arch CROSS_COMPILE=$cross_compile menuconfig
fi
#make zImage
show "make -j$opi_num ARCH=$arch CROSS_COMPILE=$cross_compile LOCALVERSION=$opi_localversion zImage"
make -j$opi_num ARCH=$arch CROSS_COMPILE=$cross_compile LOCALVERSION=$opi_localversion zImage 2>&1 | tee -a $opi_log_file
#make modules
show "make -j$opi_num ARCH=$arch CROSS_COMPILE=$cross_compile LOCALVERSION=$opi_localversion modules"
make -j$opi_num ARCH=$arch CROSS_COMPILE=$cross_compile LOCALVERSION=$opi_localversion modules 2>&1 | tee -a $opi_log_file
else
show_usage
fi
#make deb-pkg
show "make -j1 ARCH=$arch CROSS_COMPILE=$cross_compile LOCALVERSION=$opi_localversion KDEB_PKGVERSION=$opi_kdeb_pkgversion KBUILD_DEBARCH=$opi_Kbuild_debarch deb-pkg"
make -j1 ARCH=$arch CROSS_COMPILE=$cross_compile LOCALVERSION=$opi_localversion KDEB_PKGVERSION=$opi_kdeb_pkgversion KBUILD_DEBARCH=$opi_Kbuild_debarch deb-pkg 2>&1 | tee -a $opi_log_file
#make tar-pkg
if [[ $opi_istarpkg == yes ]]; then
show "make -j1 ARCH=$arch CROSS_COMPILE=$cross_compile LOCALVERSION=$opi_localversion KDEB_PKGVERSION=$opi_kdeb_pkgversion KBUILD_DEBARCH=$arch tarbz2-pkg"
make -j1 ARCH=$arch CROSS_COMPILE=$cross_compile LOCALVERSION=$opi_localversion KDEB_PKGVERSION=$opi_kdeb_pkgversion KBUILD_DEBARCH=$arch tarbz2-pkg 2>&1 | tee -a $opi_log_file
fi
if [[ -f arch/arm/boot/zImage ]]; then
echo "Compile success"
fi
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。