diff --git a/boards.sh b/boards.sh index 6aea7ce4a2..19272cc72e 100644 --- a/boards.sh +++ b/boards.sh @@ -18,112 +18,11 @@ install_board_specific (){ # Install board common and specific applications #--------------------------------------------------------------------------------------------------------------------------------- - # Allwinner's - if [[ $LINUXFAMILY == sun* ]] ; then - - # default lirc configuration - sed -i '1i sed -i \x27s/DEVICE="\\/dev\\/input.*/DEVICE="\\/dev\\/input\\/\x27$str\x27"/g\x27 /etc/lirc/hardware.conf' \ - $CACHEDIR/sdcard/etc/lirc/hardware.conf - sed -i '1i str=$(cat /proc/bus/input/devices | grep "H: Handlers=sysrq rfkill kbd event" | awk \x27{print $(NF)}\x27)' \ - $CACHEDIR/sdcard/etc/lirc/hardware.conf - sed -i '1i # Cubietruck automatic lirc device detection by Igor Pecovnik' $CACHEDIR/sdcard/etc/lirc/hardware.conf - sed -e 's/DEVICE=""/DEVICE="\/dev\/input\/event1"/g' -i $CACHEDIR/sdcard/etc/lirc/hardware.conf - sed -e 's/DRIVER="UNCONFIGURED"/DRIVER="devinput"/g' -i $CACHEDIR/sdcard/etc/lirc/hardware.conf - cp $SRC/lib/config/lirc.conf.cubietruck $CACHEDIR/sdcard/etc/lirc/lircd.conf - - fi - - - # Lemaker Guitar - if [[ $BOARD == "guitar" ]] ; then - - echo "blacklist wlan_8723bs_vq0" > $CACHEDIR/sdcard/etc/modprobe.d/blacklist-guitar.conf - echo "blacklist ctp_gslX680" >> $CACHEDIR/sdcard/etc/modprobe.d/blacklist-guitar.conf - echo "blacklist ctp_gsl3680" >> $CACHEDIR/sdcard/etc/modprobe.d/blacklist-guitar.conf - echo "blacklist gsensor_mir3da" >> $CACHEDIR/sdcard/etc/modprobe.d/blacklist-guitar.conf - echo "blacklist gsensor_stk8313" >> $CACHEDIR/sdcard/etc/modprobe.d/blacklist-guitar.conf - echo "blacklist gsensor_bma222" >> $CACHEDIR/sdcard/etc/modprobe.d/blacklist-guitar.conf - echo "blacklist lightsensor_ltr301" >> $CACHEDIR/sdcard/etc/modprobe.d/blacklist-guitar.conf - - fi - - # Odroid - if [[ $BOARD == "odroidxu4" ]] ; then - - echo "blacklist ina231_sensor" > $CACHEDIR/sdcard/etc/modprobe.d/blacklist-odroid.conf - chroot $CACHEDIR/sdcard /bin/bash -c "apt-get -y -qq remove --auto-remove lirc >/dev/null 2>&1" - - fi - - if [[ $BOARD == "odroidc2" ]] ; then - sed -i 's/MODULES=.*/MODULES="meson-ir"/' $CACHEDIR/sdcard/etc/lirc/hardware.conf - sed -i 's/LOAD_MODULES=.*/LOAD_MODULES="true"/' $CACHEDIR/sdcard/etc/lirc/hardware.conf - sed -i 's/DEVICE=.*/DEVICE="\/dev\/lirc0"/' $CACHEDIR/sdcard/etc/lirc/hardware.conf - sed -i 's/LIRCD_ARGS=.*/LIRCD_ARGS="--uinput"/' $CACHEDIR/sdcard/etc/lirc/hardware.conf - cp $SRC/lib/config/lirc.conf.odroidc2 $CACHEDIR/sdcard/etc/lirc/lircd.conf - fi - - # Armada - if [[ $BOARD == "armada" ]] ; then - chroot $CACHEDIR/sdcard /bin/bash -c "apt-get -y -qq remove --auto-remove lirc linux-sound-base alsa-base alsa-utils bluez>/dev/null 2>&1" - fi - - # Odroid C2 - if [[ $BOARD == "odroidc2" ]] ; then - install -m 755 $SRC/lib/scripts/c2_init.sh $CACHEDIR/sdcard/etc/ - sed -e 's/exit 0//g' -i $CACHEDIR/sdcard/etc/rc.local - echo "/etc/c2_init.sh" >> $CACHEDIR/sdcard/etc/rc.local - echo "exit 0" >> $CACHEDIR/sdcard/etc/rc.local - fi - - # Udoo - if [[ $BOARD == "udoo" ]] ; then - - chroot $CACHEDIR/sdcard /bin/bash -c "apt-get -y -qq remove --auto-remove lirc >/dev/null 2>&1" - sed 's/wlan0/wlan2/' -i $CACHEDIR/sdcard/etc/network/interfaces.default - sed 's/wlan0/wlan2/' -i $CACHEDIR/sdcard/etc/network/interfaces.bonding - sed 's/wlan0/wlan2/' -i $CACHEDIR/sdcard/etc/network/interfaces.hostapd - - fi - - - # Udoo neo - if [[ $BOARD == "udoo-neo" ]] ; then - - chroot $CACHEDIR/sdcard /bin/bash -c "apt-get -y -qq remove --auto-remove lirc" - sed 's/wlan0/wlan2/' -i $CACHEDIR/sdcard/etc/network/interfaces.default - sed 's/wlan0/wlan2/' -i $CACHEDIR/sdcard/etc/network/interfaces.bonding - sed 's/wlan0/wlan2/' -i $CACHEDIR/sdcard/etc/network/interfaces.hostapd - # SD card is elsewhere - sed 's/mmcblk0p1/mmcblk1p1/' -i $CACHEDIR/sdcard/etc/fstab - # firmware for M4 - mkdir -p $CACHEDIR/sdcard/boot/bin/ - cp $SRC/lib/bin/m4startup.fw* $CACHEDIR/sdcard/boot/bin/ - # fix for BT - cp $SRC/lib/bin/udoo-neo-debs/udooneo-bluetooth_1.2-1_armhf.deb /tmp - chroot $CACHEDIR/sdcard /bin/bash -c "dpkg -i /tmp/udooneo-bluetooth_1.2-1_armhf.deb >/dev/null 2>&1" - - fi - - - # cubox / hummingboard - if [[ $BOARD == cubox-i* ]] ; then - - # default lirc configuration - sed -e 's/DEVICE=""/DEVICE="\/dev\/lirc0"/g' -i $CACHEDIR/sdcard/etc/lirc/hardware.conf - sed -e 's/DRIVER="UNCONFIGURED"/DRIVER="default"/g' -i $CACHEDIR/sdcard/etc/lirc/hardware.conf - cp $SRC/lib/config/lirc.conf.cubox-i $CACHEDIR/sdcard/etc/lirc/lircd.conf - cp $SRC/lib/bin/brcm_patchram_plus_cubox $CACHEDIR/sdcard/usr/local/bin/brcm_patchram_plus - chroot $CACHEDIR/sdcard /bin/bash -c "chmod +x /usr/local/bin/brcm_patchram_plus" - cp $SRC/lib/scripts/brcm4330 $CACHEDIR/sdcard/etc/default - cp $SRC/lib/scripts/brcm4330-patch $CACHEDIR/sdcard/etc/init.d - chroot $CACHEDIR/sdcard /bin/bash -c "chmod +x /etc/init.d/brcm4330-patch" - #chroot $CACHEDIR/sdcard /bin/bash -c "LC_ALL=C LANG=C update-rc.d brcm4330-patch defaults>> /dev/null" - - fi + # execute $LINUXFAMILY-specific tweaks from $BOARD.conf + [[ $(type -t family_tweaks) == function ]] && family_tweaks # install custom root package - display_alert "Install board support package" "$BOARD" "info" + display_alert "Installing board support package" "$BOARD" "info" chroot $CACHEDIR/sdcard /bin/bash -c "dpkg -i /tmp/$RELEASE/${CHOSEN_ROOTFS}_${REVISION}_${ARCH}.deb > /dev/null" # enable first run script @@ -170,19 +69,10 @@ install_board_specific (){ # convert to uboot compatible script [[ -f $CACHEDIR/sdcard/boot/boot.cmd ]] && \ - mkimage -C none -A arm -T script -d $CACHEDIR/sdcard/boot/boot.cmd $CACHEDIR/sdcard/boot/boot.scr >> /dev/null + mkimage -C none -A arm -T script -d $CACHEDIR/sdcard/boot/boot.cmd $CACHEDIR/sdcard/boot/boot.scr >> /dev/null # initial date for fake-hwclock date -u '+%Y-%m-%d %H:%M:%S' > $CACHEDIR/sdcard/etc/fake-hwclock.data -} - - -install_kernel (){ -#-------------------------------------------------------------------------------------------------------------------------------- -# Install kernel to prepared root file-system -#-------------------------------------------------------------------------------------------------------------------------------- - - display_alert "Installing packages" "$CHOSEN_KERNEL" "info" # configure MIN / MAX speed for cpufrequtils echo "ENABLE=true" > $CACHEDIR/sdcard/etc/default/cpufrequtils @@ -215,6 +105,15 @@ install_kernel (){ # copy and create symlink to default interfaces configuration cp $SRC/lib/config/network/interfaces.* $CACHEDIR/sdcard/etc/network/ ln -sf interfaces.default $CACHEDIR/sdcard/etc/network/interfaces +} + + +install_kernel (){ +#-------------------------------------------------------------------------------------------------------------------------------- +# Install kernel to prepared root file-system +#-------------------------------------------------------------------------------------------------------------------------------- + + display_alert "Installing packages" "$CHOSEN_KERNEL" "info" # mount deb storage to tmp mount --bind $DEST/debs/ $CACHEDIR/sdcard/tmp diff --git a/build-all.sh b/build-all.sh index 1ceb5df7bc..e75150a77c 100644 --- a/build-all.sh +++ b/build-all.sh @@ -100,7 +100,7 @@ n=0 for line in "${buildlist[@]}"; do unset LINUXFAMILY LINUXCONFIG LINUXKERNEL LINUXSOURCE KERNELBRANCH BOOTLOADER BOOTSOURCE BOOTBRANCH ARCH UBOOT_NEEDS_GCC KERNEL_NEEDS_GCC \ CPUMIN CPUMAX UBOOT_VER KERNEL_VER GOVERNOR BOOTSIZE UBOOT_TOOLCHAIN KERNEL_TOOLCHAIN PACKAGE_LIST_EXCLUDE KERNEL_IMAGE_TYPE \ - write_uboot_platform UBOOT_FILES + write_uboot_platform family_tweaks UBOOT_FILES read BOARD BRANCH RELEASE BUILD_DESKTOP <<< $line n=$[$n+1] diff --git a/common.sh b/common.sh index 837bba034c..03dc4b1eee 100644 --- a/common.sh +++ b/common.sh @@ -112,11 +112,11 @@ compile_sunxi_tools (){ display_alert "Compiling sunxi tools" "@host & target" "info" cd $SOURCES/$MISC1_DIR make -s clean >/dev/null 2>&1 - rm -f sunxi-fexc sunxi-nand-part make -s >/dev/null 2>&1 - cp fex2bin bin2fex /usr/local/bin/ + mkdir -p /usr/local/bin/ + cp fex2bin bin2fex sunxi-fel /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 + # NOTE: Fix CC=$CROSS_COMPILE"gcc" before reenabling # 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 @@ -124,7 +124,6 @@ compile_sunxi_tools (){ } - compile_kernel (){ #--------------------------------------------------------------------------------------------------------------------------------- # Compile kernel diff --git a/config/sources/cubox.conf b/config/sources/cubox.conf index 4140082ca3..06524b765e 100644 --- a/config/sources/cubox.conf +++ b/config/sources/cubox.conf @@ -34,3 +34,15 @@ write_uboot_platform() dd if=$1/SPL of=$2 bs=512 seek=2 status=noxfer > /dev/null 2>&1 dd if=$1/u-boot.img of=$2 bs=1K seek=42 status=noxfer > /dev/null 2>&1 } + +family_tweaks() +{ + # default lirc configuration + sed -e 's/DEVICE=""/DEVICE="\/dev\/lirc0"/g' -i $CACHEDIR/sdcard/etc/lirc/hardware.conf + sed -e 's/DRIVER="UNCONFIGURED"/DRIVER="default"/g' -i $CACHEDIR/sdcard/etc/lirc/hardware.conf + cp $SRC/lib/config/lirc.conf.cubox-i $CACHEDIR/sdcard/etc/lirc/lircd.conf + install -m 755 $SRC/lib/bin/brcm_patchram_plus_cubox $CACHEDIR/sdcard/usr/local/bin/brcm_patchram_plus + cp $SRC/lib/scripts/brcm4330 $CACHEDIR/sdcard/etc/default + install -m 755 $SRC/lib/scripts/brcm4330-patch $CACHEDIR/sdcard/etc/init.d/brcm4330-patch + #chroot $CACHEDIR/sdcard /bin/bash -c "LC_ALL=C LANG=C update-rc.d brcm4330-patch defaults>> /dev/null" +} diff --git a/config/sources/marvell.conf b/config/sources/marvell.conf index 52c2e4dbe9..c76bbeb8fb 100644 --- a/config/sources/marvell.conf +++ b/config/sources/marvell.conf @@ -33,3 +33,8 @@ write_uboot_platform() { dd if=$1/u-boot.mmc of=$2 bs=512 seek=1 status=noxfer > /dev/null 2>&1 } + +family_tweaks() +{ + chroot $CACHEDIR/sdcard /bin/bash -c "apt-get -y -qq remove --auto-remove lirc linux-sound-base alsa-base alsa-utils bluez>/dev/null 2>&1" +} diff --git a/config/sources/neo.conf b/config/sources/neo.conf index 0350fa5328..61e16c87d5 100644 --- a/config/sources/neo.conf +++ b/config/sources/neo.conf @@ -20,3 +20,19 @@ write_uboot_platform() dd if=$1/SPL of=$2 bs=1k seek=1 status=noxfer > /dev/null 2>&1 dd if=$1/u-boot.img of=$2 bs=1k seek=69 conv=fsync > /dev/null 2>&1 } + +family_tweaks() +{ + chroot $CACHEDIR/sdcard /bin/bash -c "apt-get -y -qq remove --auto-remove lirc" + sed 's/wlan0/wlan2/' -i $CACHEDIR/sdcard/etc/network/interfaces.default + sed 's/wlan0/wlan2/' -i $CACHEDIR/sdcard/etc/network/interfaces.bonding + sed 's/wlan0/wlan2/' -i $CACHEDIR/sdcard/etc/network/interfaces.hostapd + # SD card is elsewhere + sed 's/mmcblk0p1/mmcblk1p1/' -i $CACHEDIR/sdcard/etc/fstab + # firmware for M4 + mkdir -p $CACHEDIR/sdcard/boot/bin/ + cp $SRC/lib/bin/m4startup.fw* $CACHEDIR/sdcard/boot/bin/ + # fix for BT + cp $SRC/lib/bin/udoo-neo-debs/udooneo-bluetooth_1.2-1_armhf.deb $CACHEDIR/sdcard/tmp + chroot $CACHEDIR/sdcard /bin/bash -c "dpkg -i /tmp/udooneo-bluetooth_1.2-1_armhf.deb >/dev/null 2>&1" +} diff --git a/config/sources/odroidc2.conf b/config/sources/odroidc2.conf index dbdb950008..27891d3c97 100644 --- a/config/sources/odroidc2.conf +++ b/config/sources/odroidc2.conf @@ -20,3 +20,17 @@ write_uboot_platform() dd if=$1/u-boot.bin of=$2 bs=512 seek=97 conv=fsync > /dev/null 2>&1 dd if=/dev/zero of=$2 seek=1249 count=799 bs=512 conv=fsync > /dev/null 2>&1 } + +family_tweaks() +{ + sed -i 's/MODULES=.*/MODULES="meson-ir"/' $CACHEDIR/sdcard/etc/lirc/hardware.conf + sed -i 's/LOAD_MODULES=.*/LOAD_MODULES="true"/' $CACHEDIR/sdcard/etc/lirc/hardware.conf + sed -i 's/DEVICE=.*/DEVICE="\/dev\/lirc0"/' $CACHEDIR/sdcard/etc/lirc/hardware.conf + sed -i 's/LIRCD_ARGS=.*/LIRCD_ARGS="--uinput"/' $CACHEDIR/sdcard/etc/lirc/hardware.conf + cp $SRC/lib/config/lirc.conf.odroidc2 $CACHEDIR/sdcard/etc/lirc/lircd.conf + + install -m 755 $SRC/lib/scripts/c2_init.sh $CACHEDIR/sdcard/etc/ + sed -e 's/exit 0//g' -i $CACHEDIR/sdcard/etc/rc.local + echo "/etc/c2_init.sh" >> $CACHEDIR/sdcard/etc/rc.local + echo "exit 0" >> $CACHEDIR/sdcard/etc/rc.local +} diff --git a/config/sources/odroidxu4.conf b/config/sources/odroidxu4.conf index e4dc63e02d..7d4df157fc 100644 --- a/config/sources/odroidxu4.conf +++ b/config/sources/odroidxu4.conf @@ -31,3 +31,9 @@ write_uboot_platform() dd if=$1/tzsw.bin.hardkernel of=$2 seek=719 conv=fsync > /dev/null 2>&1 dd if=/dev/zero of=$2 seek=1231 count=32 bs=512 conv=fsync > /dev/null 2>&1 } + +family_tweaks() +{ + echo "blacklist ina231_sensor" > $CACHEDIR/sdcard/etc/modprobe.d/blacklist-odroid.conf + chroot $CACHEDIR/sdcard /bin/bash -c "apt-get -y -qq remove --auto-remove lirc >/dev/null 2>&1" +} diff --git a/config/sources/pine64.conf b/config/sources/pine64.conf index 0f5f65038f..8ad8e61a0f 100644 --- a/config/sources/pine64.conf +++ b/config/sources/pine64.conf @@ -17,7 +17,7 @@ case $BRANCH in dev) LINUXKERNEL='https://github.com/apritzel/linux.git' - KERNELBRANCH='a64-v4' + KERNELBRANCH='a64-wip' LINUXSOURCE='linux-pine64-dev' GOVERNOR=ondemand ;; diff --git a/config/sources/s500.conf b/config/sources/s500.conf index 4ee3e3526a..ca6e038446 100644 --- a/config/sources/s500.conf +++ b/config/sources/s500.conf @@ -27,3 +27,9 @@ write_uboot_platform() [ -f "$1/s500-bootloader-roseapple.bin" ] && dd if=$1/bootloader-roseapple.bin of=$2 bs=512 seek=4097 conv=fsync > /dev/null 2>&1 dd if=$1/u-boot-dtb.img of=$2 bs=512 seek=6144 conv=fsync > /dev/null 2>&1 } + +family_tweaks() +{ + printf 'blacklist wlan_8723bs_vq0\nblacklist ctp_gslX680\nblacklist ctp_gsl3680\n" > $CACHEDIR/sdcard/etc/modprobe.d/blacklist-guitar.conf + printf 'blacklist gsensor_mir3da\nblacklist gsensor_stk8313\nblacklist gsensor_bma222\nblacklist lightsensor_ltr301\n" >> $CACHEDIR/sdcard/etc/modprobe.d/blacklist-guitar.conf +} diff --git a/config/sources/sunxi_common.inc b/config/sources/sunxi_common.inc index b697e4f883..1dde7d22e1 100644 --- a/config/sources/sunxi_common.inc +++ b/config/sources/sunxi_common.inc @@ -26,3 +26,16 @@ write_uboot_platform() dd if=/dev/zero of=$2 bs=1k count=1023 seek=1 status=noxfer > /dev/null 2>&1 dd if=$1/u-boot-sunxi-with-spl.bin of=$2 bs=1024 seek=8 status=noxfer > /dev/null 2>&1 } + +family_tweaks() + + # default lirc configuration + sed -i '1i sed -i \x27s/DEVICE="\\/dev\\/input.*/DEVICE="\\/dev\\/input\\/\x27$str\x27"/g\x27 /etc/lirc/hardware.conf' \ + $CACHEDIR/sdcard/etc/lirc/hardware.conf + sed -i '1i str=$(cat /proc/bus/input/devices | grep "H: Handlers=sysrq rfkill kbd event" | awk \x27{print $(NF)}\x27)' \ + $CACHEDIR/sdcard/etc/lirc/hardware.conf + sed -i '1i # Cubietruck automatic lirc device detection by Igor Pecovnik' $CACHEDIR/sdcard/etc/lirc/hardware.conf + sed -e 's/DEVICE=""/DEVICE="\/dev\/input\/event1"/g' -i $CACHEDIR/sdcard/etc/lirc/hardware.conf + sed -e 's/DRIVER="UNCONFIGURED"/DRIVER="devinput"/g' -i $CACHEDIR/sdcard/etc/lirc/hardware.conf + cp $SRC/lib/config/lirc.conf.cubietruck $CACHEDIR/sdcard/etc/lirc/lircd.conf +} diff --git a/config/sources/udoo.conf b/config/sources/udoo.conf index 01ffd3c3a1..f1dc03b32c 100644 --- a/config/sources/udoo.conf +++ b/config/sources/udoo.conf @@ -28,3 +28,11 @@ write_uboot_platform() dd if=$1/SPL of=$2 bs=1k seek=1 status=noxfer > /dev/null 2>&1 dd if=$1/u-boot.img of=$2 bs=1k seek=69 conv=fsync > /dev/null 2>&1 } + +family_tweaks() +{ + chroot $CACHEDIR/sdcard /bin/bash -c "apt-get -y -qq remove --auto-remove lirc >/dev/null 2>&1" + sed 's/wlan0/wlan2/' -i $CACHEDIR/sdcard/etc/network/interfaces.default + sed 's/wlan0/wlan2/' -i $CACHEDIR/sdcard/etc/network/interfaces.bonding + sed 's/wlan0/wlan2/' -i $CACHEDIR/sdcard/etc/network/interfaces.hostapd +}