diff --git a/common.sh b/common.sh index e664ff9105..f716ebcb0d 100644 --- a/common.sh +++ b/common.sh @@ -28,12 +28,12 @@ compile_uboot (){ display_alert "Compiling uboot. Please wait." "$VER" "info" echo `date +"%d.%m.%Y %H:%M:%S"` $SOURCES/$BOOTSOURCEDIR/$BOOTCONFIG >> $DEST/debug/install.log cd $SOURCES/$BOOTSOURCEDIR - make -s ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- clean >/dev/null 2>&1 + make -s ARCH=$ARCH CROSS_COMPILE=$CROSS_COMPILE clean >/dev/null 2>&1 # there are two methods of compilation if [[ $BOOTCONFIG == *config* ]]; then - make $CTHREADS $BOOTCONFIG CROSS_COMPILE=arm-linux-gnueabihf- >/dev/null 2>&1 + make $CTHREADS $BOOTCONFIG CROSS_COMPILE=$CROSS_COMPILE >/dev/null 2>&1 [ -f .config ] && sed -i 's/CONFIG_LOCALVERSION=""/CONFIG_LOCALVERSION="-armbian"/g' .config [ -f .config ] && sed -i 's/CONFIG_LOCALVERSION_AUTO=.*/# CONFIG_LOCALVERSION_AUTO is not set/g' .config [ -f $SOURCES/$BOOTSOURCEDIR/tools/logos/udoo.bmp ] && cp $SRC/lib/bin/armbian-u-boot.bmp $SOURCES/$BOOTSOURCEDIR/tools/logos/udoo.bmp @@ -50,12 +50,12 @@ compile_uboot (){ fi fi - eval 'make $MAKEPARA $CTHREADS CROSS_COMPILE="$CCACHE arm-linux-gnueabihf-" 2>&1' \ + eval 'make $MAKEPARA $CTHREADS CROSS_COMPILE="$CCACHE $CROSS_COMPILE" 2>&1' \ ${PROGRESS_LOG_TO_FILE:+' | tee -a $DEST/debug/compilation.log'} \ ${OUTPUT_DIALOG:+' | dialog --backtitle "$backtitle" --progressbox "Compiling u-boot..." $TTY_Y $TTY_X'} \ ${OUTPUT_VERYSILENT:+' >/dev/null 2>/dev/null'} else - eval 'make $MAKEPARA $CTHREADS $BOOTCONFIG CROSS_COMPILE="$CCACHE arm-linux-gnueabihf-" 2>&1' \ + eval 'make $MAKEPARA $CTHREADS $BOOTCONFIG CROSS_COMPILE="$CCACHE $CROSS_COMPILE" 2>&1' \ ${PROGRESS_LOG_TO_FILE:+' | tee -a $DEST/debug/compilation.log'} \ ${OUTPUT_DIALOG:+' | dialog --backtitle "$backtitle" --progressbox "Compiling u-boot..." $TTY_Y $TTY_X'} \ ${OUTPUT_VERYSILENT:+' >/dev/null 2>/dev/null'} @@ -175,9 +175,9 @@ compile_sunxi_tools (){ cp fex2bin bin2fex /usr/local/bin/ # make -s clean >/dev/null 2>&1 # rm -f sunxi-fexc sunxi-nand-part meminfo sunxi-fel sunxi-pio 2>/dev/null - # make $CTHREADS 'sunxi-nand-part' CC=arm-linux-gnueabihf-gcc >> $DEST/debug/install.log 2>&1 - # make $CTHREADS 'sunxi-fexc' CC=arm-linux-gnueabihf-gcc >> $DEST/debug/install.log 2>&1 - # make $CTHREADS 'meminfo' CC=arm-linux-gnueabihf-gcc >> $DEST/debug/install.log 2>&1 + # make $CTHREADS 'sunxi-nand-part' CC=$CROSS_COMPILE"gcc" >> $DEST/debug/install.log 2>&1 + # make $CTHREADS 'sunxi-fexc' CC=$CROSS_COMPILE"gcc" >> $DEST/debug/install.log 2>&1 + # make $CTHREADS 'meminfo' CC=$CROSS_COMPILE"gcc" >> $DEST/debug/install.log 2>&1 } @@ -224,24 +224,24 @@ compile_kernel (){ # We can use multi threading here but not later since it's not working. This way of compilation is much faster. if [ "$KERNEL_CONFIGURE" != "yes" ]; then if [ "$BRANCH" = "default" ]; then - make $CTHREADS ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- silentoldconfig + make $CTHREADS ARCH=$ARCH CROSS_COMPILE=$CROSS_COMPILE silentoldconfig else - make $CTHREADS ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- olddefconfig + make $CTHREADS ARCH=$ARCH CROSS_COMPILE=$CROSS_COMPILE olddefconfig fi else - make $CTHREADS ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- oldconfig - make $CTHREADS ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- menuconfig + make $CTHREADS ARCH=$ARCH CROSS_COMPILE=$CROSS_COMPILE oldconfig + make $CTHREADS ARCH=$ARCH CROSS_COMPILE=$CROSS_COMPILE menuconfig fi - eval 'make $CTHREADS ARCH=arm CROSS_COMPILE="$CCACHE arm-linux-gnueabihf-" zImage modules 2>&1' \ + eval 'make $CTHREADS ARCH=$ARCH CROSS_COMPILE="$CCACHE $CROSS_COMPILE" $TARGETS modules 2>&1' \ ${PROGRESS_LOG_TO_FILE:+' | tee -a $DEST/debug/compilation.log'} \ ${OUTPUT_DIALOG:+' | dialog --backtitle "$backtitle" --progressbox "Compiling kernel..." $TTY_Y $TTY_X'} \ ${OUTPUT_VERYSILENT:+' >/dev/null 2>/dev/null'} - if [ ${PIPESTATUS[0]} -ne 0 ] || [ ! -f arch/arm/boot/zImage ]; then + if [ ${PIPESTATUS[0]} -ne 0 ] || [ ! -f arch/$ARCH/boot/$TARGETS ]; then exit_with_error "Kernel was not built" "@host" fi - eval 'make $CTHREADS ARCH=arm CROSS_COMPILE="$CCACHE arm-linux-gnueabihf-" dtbs 2>&1' \ + eval 'make $CTHREADS ARCH=$ARCH CROSS_COMPILE="$CCACHE $CROSS_COMPILE" dtbs 2>&1' \ ${PROGRESS_LOG_TO_FILE:+' | tee -a $DEST/debug/compilation.log'} \ ${OUTPUT_DIALOG:+' | dialog --backtitle "$backtitle" --progressbox "Compiling Device Tree..." $TTY_Y $TTY_X'} \ ${OUTPUT_VERYSILENT:+' >/dev/null 2>/dev/null'} @@ -258,10 +258,10 @@ compile_kernel (){ KERNEL_PACKING="bindeb-pkg" fi - # make $CTHREADS ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- + # make $CTHREADS ARCH=$ARCH CROSS_COMPILE=$CROSS_COMPILE # produce deb packages: image, headers, firmware, libc - eval 'make -j1 $KERNEL_PACKING KDEB_PKGVERSION=$REVISION LOCALVERSION="-"$LINUXFAMILY KBUILD_DEBARCH=armhf ARCH=arm DEBFULLNAME="$MAINTAINER" \ - DEBEMAIL="$MAINTAINERMAIL" CROSS_COMPILE="$CCACHE arm-linux-gnueabihf-" 2>&1 ' \ + eval 'make -j1 $KERNEL_PACKING KDEB_PKGVERSION=$REVISION LOCALVERSION="-"$LINUXFAMILY KBUILD_DEBARCH=$ARCHhf ARCH=$ARCH DEBFULLNAME="$MAINTAINER" \ + DEBEMAIL="$MAINTAINERMAIL" CROSS_COMPILE="$CCACHE $CROSS_COMPILE" 2>&1 ' \ ${PROGRESS_LOG_TO_FILE:+' | tee -a $DEST/debug/compilation.log'} \ ${OUTPUT_DIALOG:+' | dialog --backtitle "$backtitle" --progressbox "Creating kernel packages..." $TTY_Y $TTY_X'} \ ${OUTPUT_VERYSILENT:+' >/dev/null 2>/dev/null'} @@ -284,7 +284,7 @@ rm usb-redirector-linux-arm-eabi.tar.gz cd $SOURCES/usb-redirector-linux-arm-eabi/files/modules/src/tusbd # patch to work with newer kernels sed -e "s/f_dentry/f_path.dentry/g" -i usbdcdev.c -make -j1 ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- KERNELDIR=$SOURCES/$LINUXSOURCEDIR/ >> $DEST/debug/install.log +make -j1 ARCH=$ARCH CROSS_COMPILE=$CROSS_COMPILE KERNELDIR=$SOURCES/$LINUXSOURCEDIR/ >> $DEST/debug/install.log # configure USB redirector sed -e 's/%INSTALLDIR_TAG%/\/usr\/local/g' $SOURCES/usb-redirector-linux-arm-eabi/files/rc.usbsrvd > $SOURCES/usb-redirector-linux-arm-eabi/files/rc.usbsrvd1 sed -e 's/%PIDFILE_TAG%/\/var\/run\/usbsrvd.pid/g' $SOURCES/usb-redirector-linux-arm-eabi/files/rc.usbsrvd1 > $SOURCES/usb-redirector-linux-arm-eabi/files/rc.usbsrvd @@ -304,8 +304,8 @@ if [[ -n "$MISC3_DIR" ]]; then # https://github.com/pvaret/rtl8192cu-fixes cd $SOURCES/$MISC3_DIR #git checkout 0ea77e747df7d7e47e02638a2ee82ad3d1563199 - make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- clean >/dev/null 2>&1 - (make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- KSRC=$SOURCES/$LINUXSOURCEDIR/ >/dev/null 2>&1) + make ARCH=$ARCH CROSS_COMPILE=$CROSS_COMPILE clean >/dev/null 2>&1 + (make ARCH=$ARCH CROSS_COMPILE=$CROSS_COMPILE KSRC=$SOURCES/$LINUXSOURCEDIR/ >/dev/null 2>&1) cp *.ko $CACHEDIR/sdcard/lib/modules/$VER-$LINUXFAMILY/kernel/net/wireless/ depmod -b $CACHEDIR/sdcard/ $VER-$LINUXFAMILY #cp blacklist*.conf $CACHEDIR/sdcard/etc/modprobe.d/ @@ -318,7 +318,7 @@ if [[ -n "$MISC5_DIR" && $BRANCH != "next" && $LINUXSOURCEDIR == *sunxi* ]]; the cd "$SOURCES/$MISC5_DIR" cp "$SOURCES/$LINUXSOURCEDIR/include/video/sunxi_disp_ioctl.h" . make clean >/dev/null 2>&1 - (make ARCH=arm CC=arm-linux-gnueabihf-gcc KSRC="$SOURCES/$LINUXSOURCEDIR/" >/dev/null 2>&1) + (make ARCH=$ARCH CC=$CROSS_COMPILE"gcc" KSRC="$SOURCES/$LINUXSOURCEDIR/" >/dev/null 2>&1) install -m 755 a10disp "$CACHEDIR/sdcard/usr/local/bin" fi # MISC5 = sunxi display control / compile it for sun8i just in case sun7i stuff gets ported to sun8i and we're able to use it @@ -326,7 +326,7 @@ if [[ -n "$MISC5_DIR" && $BRANCH != "next" && $LINUXSOURCEDIR == *sun8i* ]]; the cd "$SOURCES/$MISC5_DIR" wget -q "https://raw.githubusercontent.com/linux-sunxi/linux-sunxi/sunxi-3.4/include/video/sunxi_disp_ioctl.h" make clean >/dev/null 2>&1 - (make ARCH=arm CC=arm-linux-gnueabihf-gcc KSRC="$SOURCES/$LINUXSOURCEDIR/" >/dev/null 2>&1) + (make ARCH=$ARCH CC=$CROSS_COMPILEgcc KSRC="$SOURCES/$LINUXSOURCEDIR/" >/dev/null 2>&1) install -m 755 a10disp "$CACHEDIR/sdcard/usr/local/bin" fi @@ -379,8 +379,8 @@ _EOF_ patch -f -s -p1 -r - /dev/null cd src - make -s ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- clean >/dev/null 2>&1 - (make -s -j4 ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- LINUX_SRC=$SOURCES/$LINUXSOURCEDIR/ >/dev/null 2>&1) + make -s ARCH=$ARCH CROSS_COMPILE=$CROSS_COMPILE clean >/dev/null 2>&1 + (make -s -j4 ARCH=$ARCH CROSS_COMPILE=$CROSS_COMPILE LINUX_SRC=$SOURCES/$LINUXSOURCEDIR/ >/dev/null 2>&1) cp os/linux/*.ko $CACHEDIR/sdcard/lib/modules/$VER-$LINUXFAMILY/kernel/net/wireless/ mkdir -p $CACHEDIR/sdcard/etc/Wireless/RT2870STA cp RT2870STA.dat $CACHEDIR/sdcard/etc/Wireless/RT2870STA/ diff --git a/configuration.sh b/configuration.sh index 2d7e94fe61..b050702c43 100644 --- a/configuration.sh +++ b/configuration.sh @@ -28,6 +28,9 @@ # common options REVISION="5.06" # all boards have same revision +ARCH="arm" +CROSS_COMPILE="arm-linux-gnueabihf-" +TARGETS="zImage" ROOTPWD="1234" # Must be changed @first login MAINTAINER="Igor Pecovnik" # deb signature MAINTAINERMAIL="igor.pecovnik@****l.com" # deb signature @@ -344,6 +347,10 @@ case $BOARD in odroidc2)#enabled #description S905 C2 quad core #build 1wip + ARCH="arm64" + CROSS_COMPILE="aarch64-linux-gnu-" + CCACHE="" + TARGETS="Image" LINUXFAMILY="odroidc2" BOOTSIZE="32" OFFSET="1" diff --git a/general.sh b/general.sh index eb6a2b2717..09a12b9d80 100644 --- a/general.sh +++ b/general.sh @@ -305,7 +305,7 @@ prepare_host() { PAK="aptly ca-certificates device-tree-compiler pv bc lzop zip binfmt-support build-essential ccache debootstrap ntpdate pigz \ gawk gcc-arm-linux-gnueabihf gcc-arm-linux-gnueabi qemu-user-static u-boot-tools uuid-dev zlib1g-dev unzip libusb-1.0-0-dev ntpdate \ parted pkg-config libncurses5-dev whiptail debian-keyring debian-archive-keyring f2fs-tools libfile-fcntllock-perl rsync libssl-dev \ - nfs-kernel-server btrfs-tools" + nfs-kernel-server btrfs-tools gcc-aarch64-linux-gnu" # warning: apt-cacher-ng will fail if installed and used both on host and in container/chroot environment with shared network # set NO_APT_CACHER=yes to prevent installation errors in such case