Initial commit
Some checks failed
Build Kernel / Build all affected Kernels (push) Has been cancelled
Build all core packages / Build all core packages for selected target (push) Has been cancelled
Build and Push prebuilt tools container / Build and Push all prebuilt containers (push) Has been cancelled
Build Toolchains / Build Toolchains for each target (push) Has been cancelled
Build host tools / Build host tools for linux and macos based systems (push) Has been cancelled
Coverity scan build / Coverity x86/64 build (push) Has been cancelled

This commit is contained in:
domenico
2025-06-24 12:51:15 +02:00
commit 27c9d80f51
10493 changed files with 1885777 additions and 0 deletions

View File

@@ -0,0 +1,50 @@
. /lib/functions/uci-defaults.sh
board_config_update
board=$(board_name)
case "$board" in
meraki,mr24)
ucidef_set_led_netdev "wan" "WAN" "green:wan" "eth0"
ucidef_set_led_wlan "wlan5g_1" "WIFI 5GHz-1" "green:wlan-0" "phy1tpt"
ucidef_set_led_wlan "wlan5g_0" "WIFI 5GHz-0" "green:wlan-1" "phy1radio"
ucidef_set_led_wlan "wlan2g_1" "WIFI 2.4GHz-1" "green:wlan-2" "phy0tpt"
ucidef_set_led_wlan "wlan2g_0" "WIFI 2.4GHz-0" "green:wlan-3" "phy0radio"
;;
meraki,mx60)
ucidef_set_led_switch "wan" "WAN" "green:wan" "switch0" "0x20"
ucidef_set_led_switch "lan1" "LAN1" "green:lan-0" "switch0" "0x10"
ucidef_set_led_switch "lan2" "LAN2" "green:lan-1" "switch0" "0x08"
ucidef_set_led_switch "lan3" "LAN3" "green:lan-2" "switch0" "0x04"
ucidef_set_led_switch "lan4" "LAN4" "green:lan-3" "switch0" "0x02"
;;
netgear,wndap620)
ucidef_set_led_switch "lan_act" "LAN (Activity)" "green:activity" "switch0" "0x04" "0x0f" "rx tx"
ucidef_set_led_switch "lan_100" "LAN 100Mbps" "amber:lan" "switch0" "0x04" "0x04" "link"
ucidef_set_led_switch "lan_1000" "LAN 1000Mbps" "green:lan" "switch0" "0x04" "0x08" "link"
;;
netgear,wndap660)
ucidef_set_led_netdev "lan_act" "LAN (Activity)" "green:activity" "eth0"
ucidef_set_led_switch "lan1_100" "LAN 100Mbps" "amber:lan-1" "switch0" "0x02" "0x04" "link"
ucidef_set_led_switch "lan1_1000" "LAN 1000Mbps" "green:lan-1" "switch0" "0x02" "0x08" "link"
ucidef_set_led_switch "lan2_100" "LAN 100Mbps" "amber:lan-2" "switch0" "0x04" "0x04" "link"
ucidef_set_led_switch "lan2_1000" "LAN 1000Mbps" "green:lan-2" "switch0" "0x04" "0x08" "link"
ucidef_set_led_wlan "wlan2g" "WLAN2G" "green:wlan-0" "phy0tpt"
ucidef_set_led_wlan "wlan5g" "WLAN5G" "green:wlan-1" "phy1tpt"
;;
netgear,wndr4700)
ucidef_set_led_switch "wan_green" "WAN (green)" "green:wan" "switch0" "0x20"
ucidef_set_led_netdev "wan_yellow" "WAN (yellow)" "yellow:wan" "eth0.2" "tx rx"
;;
esac
board_config_flush
exit 0

View File

@@ -0,0 +1,34 @@
. /lib/functions/system.sh
. /lib/functions/uci-defaults.sh
board_config_update
board=$(board_name)
case "$board" in
meraki,mr24|\
wd,mybooklive|\
wd,mybooklive-duo)
ucidef_set_interface_lan "eth0" "dhcp"
;;
netgear,wndap620)
ucidef_add_switch "switch0" "2:lan" "5@eth0"
;;
netgear,wndap660)
ucidef_add_switch "switch0" "1:lan" "2:lan" "5@eth0"
;;
meraki,mx60|\
netgear,wndr4700)
ucidef_add_switch "switch0" \
"0@eth0" "4:lan" "3:lan" "2:lan" "1:lan" "5:wan"
;;
*)
ucidef_set_interfaces_lan_wan "eth0" "eth1"
;;
esac
board_config_flush
exit 0

View File

@@ -0,0 +1,50 @@
#!/bin/sh
# SPDX-License-Identifier: GPL-2.0-only
. /lib/functions/leds.sh
get_status_led() {
local status_led_file
status_led_file=$(find /sys/class/leds/ -name "*:power" | head -n1)
if [ -d "$status_led_file" ]; then
basename $status_led_file
return
fi;
}
get_failsafe_led() {
local status_led_file
status_led_file=$(find /sys/class/leds/ -name "*:fault" | head -n1)
if [ -d "$status_led_file" ]; then
basename $status_led_file
return
fi;
}
set_state() {
status_led=$(get_status_led)
[ -z "$status_led" ] && return
case "$1" in
preinit)
status_led_blink_preinit
;;
failsafe)
status_led_off
status_led=$(get_failsafe_led)
status_led_blink_failsafe
;;
preinit_regular)
status_led_blink_preinit_regular
;;
upgrade)
status_led_blink_preinit_regular
;;
done)
status_led_on
;;
esac
}

View File

@@ -0,0 +1,19 @@
#!/bin/ash
[ "$ACTION" = "add" ] || exit 0
PHYNBR=${DEVPATH##*/phy}
[ -n "$PHYNBR" ] || exit 0
. /lib/functions.sh
. /lib/functions/system.sh
board=$(board_name)
case "$board" in
netgear,wndap620|\
netgear,wndap660)
macaddr_add $(mtd_get_mac_ascii u-boot-env baseMAC) $(($PHYNBR + 1)) > /sys${DEVPATH}/macaddress
;;
esac

View File

@@ -0,0 +1,15 @@
#!/bin/sh /etc/rc.common
START=98
boot() {
# configuring onboard temp/fan controller to run the fan on its own
# for more information, please read https://www.kernel.org/doc/Documentation/hwmon/sysfs-interface
case $(board_name) in
netgear,wndr4700)
path_to_hwmon='/sys/devices/platform/plb/plb:opb/4ef600700.i2c/i2c-0/0-001b/hwmon/hwmon1'
echo 1 > "$path_to_hwmon/pwm1_mode"
;;
esac
}

View File

@@ -0,0 +1,4 @@
::sysinit:/etc/init.d/rcS S boot
::shutdown:/etc/init.d/rcS K shutdown
::askconsole:/usr/libexec/login.sh
ttyS0::askfirst:/usr/libexec/login.sh

View File

@@ -0,0 +1,56 @@
. /lib/functions.sh
. /lib/functions/migrations.sh
board=$(board_name)
case "$board" in
meraki,mr24)
migrate_leds "orange:power=amber:fault" \
":wifi1=:wlan-0" \
":wifi2=:wlan-1" \
":wifi3=:wlan-2" \
":wifi4=:wlan-3"
;;
meraki,mx60)
migrate_leds ":lan1=:lan-0" \
":lan2=:lan-1" \
":lan3=:lan-2" \
":lan4=:lan-3" \
"orange:power=amber:power" \
"orange:wan=amber:wan"
;;
netgear,wndap620)
migrate_leds ":activity=:lan-0" \
":test=:fault" \
":wlan2g=:wlan-0" \
":wlan5g=:wlan-1" \
":link100=:lan" \
":link1000=:lan-1"
;;
netgear,wndap660)
migrate_leds ":activity=:lan-0" \
":test=:fault" \
":wlan2g=:wlan-0" \
":wlan5g=:wlan-1" \
":lan1-link100=:lan-1" \
":lan1-link1000=:lan-1" \
":lan2-link100=:lan-2" \
":lan2-link1000=:lan-2"
;;
netgear,wndr4700)
migrate_leds "orange:power=amber:fault" \
"white:logo=white:indicator" \
"green:hd=green:disk" \
"red:hd=red:disk-err"
;;
wd,mybooklive)
migrate_leds "red:power=red:fault" \
"blue:power=blue:disk"
;;
esac
remove_devicename_leds
migrations_apply system
exit 0

View File

@@ -0,0 +1,13 @@
. /lib/functions.sh
case "$(board_name)" in
meraki,mx60|\
netgear,wndap620|\
netgear,wndap660|\
netgear,wndr4700)
uci set system.@system[0].compat_version="2.0"
uci commit system
;;
esac
exit 0

View File

@@ -0,0 +1,13 @@
preinit_set_mac_address() {
. /lib/functions.sh
case $(board_name) in
meraki,mr24|\
meraki,mx60)
mac_lan=$(mtd_get_mac_binary_ubi board-config 0x66)
[ -n "$mac_lan" ] && ip link set eth0 address "$mac_lan"
;;
esac
}
boot_hook_add preinit_main preinit_set_mac_address

View File

@@ -0,0 +1,5 @@
apm821xx_set_preinit_iface() {
ifname=eth0
}
boot_hook_add preinit_main apm821xx_set_preinit_iface

View File

@@ -0,0 +1,18 @@
BOOTPART=/dev/sda1
move_config() {
. /lib/functions.sh
. /lib/upgrade/common.sh
case "$(board_name)" in
wd,mybooklive)
if [ -b $BOOTPART ]; then
mkdir -p /boot
mount -t ext4 -o rw,noatime $BOOTPART /boot
[ -f "/boot/$BACKUP_FILE" ] && mv -f "/boot/$BACKUP_FILE" /
fi
;;
esac
}
boot_hook_add preinit_mount_root move_config

View File

@@ -0,0 +1,47 @@
PART_NAME=firmware
REQUIRE_IMAGE_METADATA=1
platform_check_image() {
local board=$(board_name)
case "$board" in
wd,mybooklive)
mbl_do_platform_check "$1"
return $?;
;;
*)
return 0
;;
esac
}
platform_do_upgrade() {
local board=$(board_name)
case "$board" in
wd,mybooklive)
mbl_do_upgrade "$1"
;;
meraki,mr24|\
meraki,mx60|\
netgear,wndap620|\
netgear,wndap660|\
netgear,wndr4700)
nand_do_upgrade "$1"
;;
*)
default_do_upgrade "$1"
;;
esac
}
platform_copy_config() {
local board=$(board_name)
case "$board" in
wd,mybooklive|\
wd,mybooklive-duo)
mbl_copy_config
;;
esac
}

View File

@@ -0,0 +1,94 @@
. /lib/functions.sh
# copied from x86's platform.sh
mbl_do_platform_check() {
local diskdev partdev diff
[ "$#" -gt 1 ] && return 1
export_bootdevice && export_partdevice diskdev 0 || {
echo "Unable to determine upgrade device"
return 1
}
get_partitions "/dev/$diskdev" bootdisk
#extract the boot sector from the image
get_image "$@" | dd of=/tmp/image.bs count=1 bs=512b 2>/dev/null
get_partitions /tmp/image.bs image
#compare tables
diff="$(grep -F -x -v -f /tmp/partmap.bootdisk /tmp/partmap.image)"
rm -f /tmp/image.bs /tmp/partmap.bootdisk /tmp/partmap.image
if [ -n "$diff" ]; then
echo "Partition layout has changed. Full image will be written."
ask_bool 0 "Abort" && exit 1
return 0
fi
return 0;
}
mbl_do_upgrade() {
local diskdev partdev diff
export_bootdevice && export_partdevice diskdev 0 || {
echo "Unable to determine upgrade device"
return 1
}
sync
if [ "$UPGRADE_OPT_SAVE_PARTITIONS" = "1" ]; then
get_partitions "/dev/$diskdev" bootdisk
#extract the boot sector from the image
get_image "$@" | dd of=/tmp/image.bs count=1 bs=512b
get_partitions /tmp/image.bs image
#compare tables
diff="$(grep -F -x -v -f /tmp/partmap.bootdisk /tmp/partmap.image)"
else
diff=1
fi
if [ -n "$diff" ]; then
get_image "$@" | dd of="/dev/$diskdev" bs=4096 conv=fsync
# Separate removal and addtion is necessary; otherwise, partition 1
# will be missing if it overlaps with the old partition 2
partx -d - "/dev/$diskdev"
partx -a - "/dev/$diskdev"
return 0
fi
#iterate over each partition from the image and write it to the boot disk
while read part start size; do
if export_partdevice partdev $part; then
echo "Writing image to /dev/$partdev..."
get_image "$@" | dd of="/dev/$partdev" ibs="512" obs=1M skip="$start" count="$size" conv=fsync
else
echo "Unable to find partition $part device, skipped."
fi
done < /tmp/partmap.image
#copy partition uuid
echo "Writing new UUID to /dev/$diskdev..."
get_image "$@" | dd of="/dev/$diskdev" bs=1 skip=440 count=4 seek=440 conv=fsync
}
mbl_copy_config() {
local partdev
if export_partdevice partdev 1; then
mount -t ext4 -o rw,noatime "/dev/$partdev" /mnt
cp -af "$UPGRADE_BACKUP" "/mnt/$BACKUP_FILE"
umount /mnt
fi
}