104 lines
3.2 KiB
PHP
104 lines
3.2 KiB
PHP
#
|
|
# 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
|
|
}
|
|
|
|
}
|