# # SPDX-License-Identifier: GPL-2.0 # # Copyright (c) 2013-2023 Igor Pecovnik, igor@armbian.com # # This file is a part of the Armbian Build Framework # https://github.com/armbian/build/ # case $BRANCH in legacy | current | edge) BOOTSOURCE=$MAINLINE_UBOOT_SOURCE BOOTBRANCH='tag:v2019.04' BOOTDIR=$MAINLINE_UBOOT_DIR BOOTPATCHDIR='legacy/u-boot-helios4' BOOTSCRIPT='boot-mvebu.cmd:boot.cmd' UBOOT_TARGET_MAP=";sdhc;u-boot-spl.kwb:u-boot.mmc ;spi;u-boot-spl.kwb:u-boot.flash ;uart;u-boot-spl.kwb:u-boot.uart" UBOOT_USE_GCC='> 7.0' OVERLAY_PREFIX='armada-388-helios4' ;; esac # Helios4 tweak family_tweaks_bsp() { ## Add dependency list local DEPENDENCIES="fancontrol, mdadm" sed -i "/^Depends:/ s/$/, $DEPENDENCIES/" "${destination}"/DEBIAN/control ## Pack additional files mkdir -p $destination/etc/systemd/system/ mkdir -p $destination/etc/udev/rules.d/ mkdir -p $destination/etc/default/ mkdir -p $destination/lib/systemd/system/ mkdir -p $destination/usr/sbin ### Fancontrol tweaks # copy hwmon rules to fix device mapping install -m 644 $SRC/packages/bsp/mvebu/helios4/90-helios4-hwmon.rules $destination/etc/udev/rules.d/ # copy fancontrol config install -m 644 $SRC/packages/bsp/mvebu/helios4/fancontrol_pwm-fan.conf $destination/etc/fancontrol install -m 644 $SRC/packages/bsp/mvebu/helios4/fancontrol.service $destination/etc/systemd/system/ ### Mdadm tweaks # copy mdadm-fault-led script and set right permission install -m 755 $SRC/packages/bsp/mvebu/helios4/mdadm-fault-led.sh $destination/usr/sbin ### Ethernet tweaks # copy and enable helios4-wol.service install -m 644 $SRC/packages/bsp/mvebu/helios4/helios4-wol.service $destination/lib/systemd/system/ ### Other tweaks # add custom motd default conf file install -m 644 $SRC/packages/bsp/mvebu/helios4/armbian-motd $destination/etc/default/ # create modules file if [[ $BRANCH == dev && -n $MODULES_EDGE ]]; then tr ' ' '\n' <<< "$MODULES_DEV" > "${destination}"/etc/modules elif [[ $BRANCH == current || $BRANCH == dev ]]; then tr ' ' '\n' <<< "$MODULES_CURRENT" > "${destination}"/etc/modules else tr ' ' '\n' <<< "$MODULES_LEGACY" > "${destination}"/etc/modules fi display_alert "Adding to bsp-cli" "${BOARD}: postinst for bluetooth service" "info" # Define a function to be run board-side during postinst of the BSP postinst_functions+=("board_side_helios4_bsp_cli_postinst_mdadm") # add to the postinst function list function board_side_helios4_bsp_cli_postinst_mdadm() { ### Mdadm tweaks MDADM_CONF=/etc/mdadm/mdadm.conf MDADM_HOOK=/usr/share/initramfs-tools/hooks/mdadm grep -q "PROGRAM" $MDADM_CONF if [ "$?" -ne 0 ]; then cat <<- EOS >> $MDADM_CONF # Trigger Fault Led script when an event is detected PROGRAM /usr/sbin/mdadm-fault-led.sh EOS fi # Fix for "mdadm: initramfs boot message: /scripts/local-bottom/mdadm: rm: not found" # Refer to https://wiki.kobol.io/helios4/mdadm/#fix-mdadm grep -q "^[[:blank:]]*copy_exec /bin/rm /bin" $MDADM_HOOK if [ "$?" -ne 0 ]; then sed -i '/copy_exec \/sbin\/mdmon \/sbin/ a\copy_exec /bin/rm /bin' $MDADM_HOOK update-initramfs -u fi # enable helios4-wol.service systemctl --no-reload enable helios4-wol.service } }