Final Prep

This commit is contained in:
Cameron Thompson
2025-07-21 22:59:17 -04:00
parent b0332e9c6f
commit a4794ad36f
405 changed files with 936 additions and 4366 deletions

View File

@@ -0,0 +1 @@
/usr/bin/login

View File

@@ -1,52 +0,0 @@
#!/bin/sh
# Copyright (C) 2006-2019 OpenWrt.org
. /lib/functions/leds.sh
boot="$(get_dt_led boot)"
failsafe="$(get_dt_led failsafe)"
running="$(get_dt_led running)"
upgrade="$(get_dt_led upgrade)"
set_led_state() {
status_led="$boot"
case "$1" in
preinit)
status_led_blink_preinit
;;
failsafe)
status_led_off
[ -n "$running" ] && {
status_led="$running"
status_led_off
}
status_led="$failsafe"
status_led_blink_failsafe
;;
preinit_regular)
status_led_blink_preinit_regular
;;
upgrade)
[ -n "$running" ] && {
status_led="$running"
status_led_off
}
status_led="$upgrade"
status_led_blink_preinit_regular
;;
done)
status_led_off
[ "$status_led" != "$running" ] && \
status_led_restore_trigger "boot"
[ -n "$running" ] && {
status_led="$running"
status_led_on
}
;;
esac
}
set_state() {
[ -n "$boot" -o -n "$failsafe" -o -n "$running" -o -n "$upgrade" ] && set_led_state "$1"
}

View File

@@ -1,45 +0,0 @@
src/gz openwrt_core https://downloads.openwrt.org/releases/22.03.5/targets/sdx35/generic/packages
src/gz openwrt_base https://downloads.openwrt.org/releases/22.03.5/packages/arm_cortex-a7_neon-vfpv4/base
src/gz openwrt_luci https://downloads.openwrt.org/releases/22.03.5/packages/arm_cortex-a7_neon-vfpv4/luci
src/gz openwrt_packages https://downloads.openwrt.org/releases/22.03.5/packages/arm_cortex-a7_neon-vfpv4/packages
src/gz openwrt_qtiagm https://downloads.openwrt.org/releases/22.03.5/packages/arm_cortex-a7_neon-vfpv4/qtiagm
src/gz openwrt_qtiargs https://downloads.openwrt.org/releases/22.03.5/packages/arm_cortex-a7_neon-vfpv4/qtiargs
src/gz openwrt_qtiaudio https://downloads.openwrt.org/releases/22.03.5/packages/arm_cortex-a7_neon-vfpv4/qtiaudio
src/gz openwrt_qtiaudioprop https://downloads.openwrt.org/releases/22.03.5/packages/arm_cortex-a7_neon-vfpv4/qtiaudioprop
src/gz openwrt_qtibsp https://downloads.openwrt.org/releases/22.03.5/packages/arm_cortex-a7_neon-vfpv4/qtibsp
src/gz openwrt_qtibspprop https://downloads.openwrt.org/releases/22.03.5/packages/arm_cortex-a7_neon-vfpv4/qtibspprop
src/gz openwrt_qtibt https://downloads.openwrt.org/releases/22.03.5/packages/arm_cortex-a7_neon-vfpv4/qtibt
src/gz openwrt_qtibtprop https://downloads.openwrt.org/releases/22.03.5/packages/arm_cortex-a7_neon-vfpv4/qtibtprop
src/gz openwrt_qticore https://downloads.openwrt.org/releases/22.03.5/packages/arm_cortex-a7_neon-vfpv4/qticore
src/gz openwrt_qticoreinternal https://downloads.openwrt.org/releases/22.03.5/packages/arm_cortex-a7_neon-vfpv4/qticoreinternal
src/gz openwrt_qticoreprop https://downloads.openwrt.org/releases/22.03.5/packages/arm_cortex-a7_neon-vfpv4/qticoreprop
src/gz openwrt_qtictainternal https://downloads.openwrt.org/releases/22.03.5/packages/arm_cortex-a7_neon-vfpv4/qtictainternal
src/gz openwrt_qtidata https://downloads.openwrt.org/releases/22.03.5/packages/arm_cortex-a7_neon-vfpv4/qtidata
src/gz openwrt_qtidatainternal https://downloads.openwrt.org/releases/22.03.5/packages/arm_cortex-a7_neon-vfpv4/qtidatainternal
src/gz openwrt_qtidataprop https://downloads.openwrt.org/releases/22.03.5/packages/arm_cortex-a7_neon-vfpv4/qtidataprop
src/gz openwrt_qtigplv2 https://downloads.openwrt.org/releases/22.03.5/packages/arm_cortex-a7_neon-vfpv4/qtigplv2
src/gz openwrt_qtiipq https://downloads.openwrt.org/releases/22.03.5/packages/arm_cortex-a7_neon-vfpv4/qtiipq
src/gz openwrt_qtiipqezmesh https://downloads.openwrt.org/releases/22.03.5/packages/arm_cortex-a7_neon-vfpv4/qtiipqezmesh
src/gz openwrt_qtiipqprop https://downloads.openwrt.org/releases/22.03.5/packages/arm_cortex-a7_neon-vfpv4/qtiipqprop
src/gz openwrt_qtilocation https://downloads.openwrt.org/releases/22.03.5/packages/arm_cortex-a7_neon-vfpv4/qtilocation
src/gz openwrt_qtilocationinternal https://downloads.openwrt.org/releases/22.03.5/packages/arm_cortex-a7_neon-vfpv4/qtilocationinternal
src/gz openwrt_qtilocationprop https://downloads.openwrt.org/releases/22.03.5/packages/arm_cortex-a7_neon-vfpv4/qtilocationprop
src/gz openwrt_qtimsdcprop https://downloads.openwrt.org/releases/22.03.5/packages/arm_cortex-a7_neon-vfpv4/qtimsdcprop
src/gz openwrt_qtinternal https://downloads.openwrt.org/releases/22.03.5/packages/arm_cortex-a7_neon-vfpv4/qtinternal
src/gz openwrt_qtipal https://downloads.openwrt.org/releases/22.03.5/packages/arm_cortex-a7_neon-vfpv4/qtipal
src/gz openwrt_qtiperfprop https://downloads.openwrt.org/releases/22.03.5/packages/arm_cortex-a7_neon-vfpv4/qtiperfprop
src/gz openwrt_qtippatprop https://downloads.openwrt.org/releases/22.03.5/packages/arm_cortex-a7_neon-vfpv4/qtippatprop
src/gz openwrt_qtiquectel https://downloads.openwrt.org/releases/22.03.5/packages/arm_cortex-a7_neon-vfpv4/qtiquectel
src/gz openwrt_qtiquectelprop https://downloads.openwrt.org/releases/22.03.5/packages/arm_cortex-a7_neon-vfpv4/qtiquectelprop
src/gz openwrt_qtirilprop https://downloads.openwrt.org/releases/22.03.5/packages/arm_cortex-a7_neon-vfpv4/qtirilprop
src/gz openwrt_qtisecurity https://downloads.openwrt.org/releases/22.03.5/packages/arm_cortex-a7_neon-vfpv4/qtisecurity
src/gz openwrt_qtisecurityinternal https://downloads.openwrt.org/releases/22.03.5/packages/arm_cortex-a7_neon-vfpv4/qtisecurityinternal
src/gz openwrt_qtisecurityprop https://downloads.openwrt.org/releases/22.03.5/packages/arm_cortex-a7_neon-vfpv4/qtisecurityprop
src/gz openwrt_qtisensorsinternal https://downloads.openwrt.org/releases/22.03.5/packages/arm_cortex-a7_neon-vfpv4/qtisensorsinternal
src/gz openwrt_qtisensorsprop https://downloads.openwrt.org/releases/22.03.5/packages/arm_cortex-a7_neon-vfpv4/qtisensorsprop
src/gz openwrt_qtissdk https://downloads.openwrt.org/releases/22.03.5/packages/arm_cortex-a7_neon-vfpv4/qtissdk
src/gz openwrt_qtissmgr https://downloads.openwrt.org/releases/22.03.5/packages/arm_cortex-a7_neon-vfpv4/qtissmgr
src/gz openwrt_qtissmgrprop https://downloads.openwrt.org/releases/22.03.5/packages/arm_cortex-a7_neon-vfpv4/qtissmgrprop
src/gz openwrt_qtiwlan https://downloads.openwrt.org/releases/22.03.5/packages/arm_cortex-a7_neon-vfpv4/qtiwlan
src/gz openwrt_qtiwlanprop https://downloads.openwrt.org/releases/22.03.5/packages/arm_cortex-a7_neon-vfpv4/qtiwlanprop
src/gz openwrt_routing https://downloads.openwrt.org/releases/22.03.5/packages/arm_cortex-a7_neon-vfpv4/routing

View File

@@ -1,13 +0,0 @@
pi_suppress_stderr="y"
fs_failsafe_wait_timeout=2
pi_init_path="/usr/sbin:/usr/bin:/sbin:/bin"
pi_init_env=""
pi_init_cmd="/sbin/init"
pi_init_suppress_stderr="y"
pi_ifname=""
pi_ip="192.168.1.1"
pi_netmask="255.255.255.0"
pi_broadcast="192.168.1.255"
pi_preinit_net_messages=""
pi_preinit_no_failsafe_netmsg=""
pi_preinit_no_failsafe=""

View File

@@ -1,5 +0,0 @@
define_default_set_state() {
. /etc/diag.sh
}
boot_hook_add preinit_main define_default_set_state

View File

@@ -1,10 +0,0 @@
do_sysinfo_generic() {
[ -d /proc/device-tree ] || return
mkdir -p /tmp/sysinfo
[ -e /tmp/sysinfo/board_name ] || \
echo "$(strings /proc/device-tree/compatible | head -1)" > /tmp/sysinfo/board_name
[ ! -e /tmp/sysinfo/model -a -e /proc/device-tree/model ] && \
echo "$(cat /proc/device-tree/model)" > /tmp/sysinfo/model
}
boot_hook_add preinit_main do_sysinfo_generic

View File

@@ -1,17 +0,0 @@
# Copyright (C) 2006 OpenWrt.org
# Copyright (C) 2010 Vertical Communications
# commands for emitting messages to network in failsafe mode
indicate_failsafe_led () {
set_state failsafe
}
indicate_failsafe() {
[ "$pi_preinit_no_failsafe" = "y" ] && return
echo "- failsafe -"
preinit_net_echo "Entering Failsafe!\n"
indicate_failsafe_led
}
boot_hook_add failsafe indicate_failsafe

View File

@@ -1,166 +0,0 @@
# Copyright (C) 2006 OpenWrt.org
# Copyright (C) 2010 Vertical Communications
preinit_ip_config() {
local netdev vid
netdev=${1%\.*}
vid=${1#*\.}
if [ "$vid" = "$netdev" ]; then
vid=
fi
grep -q "$netdev" /proc/net/dev || return
if [ -n "$vid" ]; then
ip link add link $netdev name $1 type vlan id $vid
fi
ip link set dev $netdev up
if [ -n "$vid" ]; then
ip link set dev $1 up
fi
ip -4 address add $pi_ip/$pi_netmask broadcast $pi_broadcast dev $1
}
preinit_config_switch() {
local role roles ports device enable reset
local name=$1
local lan_if=$2
json_select switch
json_select $name
json_get_vars enable reset
if [ "$reset" -eq "1" ]; then
swconfig dev $name set reset
fi
swconfig dev $name set enable_vlan $enable
if json_is_a roles array; then
json_get_keys roles roles
json_select roles
for role in $roles; do
json_select "$role"
json_get_vars ports device
json_select ..
if [ "$device" = "$lan_if" ]; then
swconfig dev $name vlan $role set ports "$ports"
fi
done
json_select ..
fi
swconfig dev $name set apply
json_select ..
json_select ..
}
preinit_config_board() {
/bin/board_detect /tmp/board.json
[ -f "/tmp/board.json" ] || return
. /usr/share/libubox/jshn.sh
json_init
json_load "$(cat /tmp/board.json)"
json_select network
json_select "lan"
json_get_vars device
json_get_values ports ports
json_select ..
json_select ..
[ -n "$device" -o -n "$ports" ] || return
# swconfig uses $device and DSA uses ports
[ -z "$ports" ] && {
ports="$device"
}
# only use the first one
ifname=${ports%% *}
if [ -x /sbin/swconfig ]; then
# configure the switch, if present
json_get_keys keys switch
for key in $keys; do
preinit_config_switch $key $ifname
done
else
# trim any vlan ids
ifname=${ifname%\.*}
# trim any vlan modifiers like :t
ifname=${ifname%\:*}
fi
pi_ifname=$ifname
preinit_ip_config $pi_ifname
}
preinit_ip() {
[ "$pi_preinit_no_failsafe" = "y" ] && return
# if the preinit interface isn't specified and ifname is set in
# preinit.arch use that interface
if [ -z "$pi_ifname" ]; then
pi_ifname=$ifname
fi
if [ -n "$pi_ifname" ]; then
preinit_ip_config $pi_ifname
elif [ -d "/etc/board.d/" ]; then
preinit_config_board
fi
preinit_net_echo "Doing OpenWrt Preinit\n"
}
preinit_ip_deconfig() {
[ -n "$pi_ifname" ] && grep -q "$pi_ifname" /proc/net/dev && {
local netdev vid
netdev=${pi_ifname%\.*}
vid=${pi_ifname#*\.}
if [ "$vid" = "$netdev" ]; then
vid=
fi
ip -4 address flush dev $pi_ifname
ip link set dev $netdev down
if [ -n "$vid" ]; then
ip link delete $pi_ifname
fi
}
}
preinit_net_echo() {
[ -n "$pi_ifname" ] && grep -q "$pi_ifname" /proc/net/dev && {
{
[ "$pi_preinit_net_messages" = "y" ] || {
[ "$pi_failsafe_net_message" = "true" ] &&
[ "$pi_preinit_no_failsafe_netmsg" != "y" ]
}
} && netmsg $pi_broadcast "$1"
}
}
pi_indicate_preinit() {
set_state preinit
}
boot_hook_add preinit_main preinit_ip
boot_hook_add preinit_main pi_indicate_preinit

View File

@@ -1,98 +0,0 @@
# Copyright (C) 2006-2010 OpenWrt.org
# Copyright (C) 2010 Vertical Communications
fs_wait_for_key () {
local timeout=$3
local timer
local do_keypress
local keypress_true="$(mktemp)"
local keypress_wait="$(mktemp)"
local keypress_sec="$(mktemp)"
if [ -z "$keypress_wait" ]; then
keypress_wait=/tmp/.keypress_wait
touch $keypress_wait
fi
if [ -z "$keypress_true" ]; then
keypress_true=/tmp/.keypress_true
touch $keypress_true
fi
if [ -z "$keypress_sec" ]; then
keypress_sec=/tmp/.keypress_sec
touch $keypress_sec
fi
trap "echo 'true' >$keypress_true; lock -u $keypress_wait ; rm -f $keypress_wait" INT
trap "echo 'true' >$keypress_true; lock -u $keypress_wait ; rm -f $keypress_wait" USR1
[ -n "$timeout" ] || timeout=1
[ $timeout -ge 1 ] || timeout=1
timer=$timeout
lock $keypress_wait
{
while [ $timer -gt 0 ]; do
pi_failsafe_net_message=true \
preinit_net_echo "Please press button now to enter failsafe"
echo "$timer" >$keypress_sec
timer=$(($timer - 1))
sleep 1
done
lock -u $keypress_wait
rm -f $keypress_wait
} &
[ "$pi_preinit_no_failsafe" != "y" ] && echo "Press the [$1] key and hit [enter] $2"
echo "Press the [1], [2], [3] or [4] key and hit [enter] to select the debug level"
# if we're on the console we wait for input
{
while [ -r $keypress_wait ]; do
timer="$(cat $keypress_sec)"
[ -n "$timer" ] || timer=1
timer="${timer%%\ *}"
[ $timer -ge 1 ] || timer=1
do_keypress=""
{
read -t "$timer" do_keypress
case "$do_keypress" in
$1)
echo "true" >$keypress_true
;;
1 | 2 | 3 | 4)
echo "$do_keypress" >/tmp/debug_level
;;
*)
continue;
;;
esac
lock -u $keypress_wait
rm -f $keypress_wait
}
done
}
lock -w $keypress_wait
keypressed=1
[ "$(cat $keypress_true)" = "true" ] && keypressed=0
rm -f $keypress_true
rm -f $keypress_wait
rm -f $keypress_sec
return $keypressed
}
failsafe_wait() {
FAILSAFE=
[ "$pi_preinit_no_failsafe" = "y" ] && {
fs_wait_for_key "" "" $fs_failsafe_wait_timeout
return
}
grep -q 'failsafe=' /proc/cmdline && FAILSAFE=true && export FAILSAFE
if [ "$FAILSAFE" != "true" ]; then
fs_wait_for_key f 'to enter failsafe mode' $fs_failsafe_wait_timeout && FAILSAFE=true
[ -f "/tmp/failsafe_button" ] && FAILSAFE=true && echo "- failsafe button "$(cat /tmp/failsafe_button)" was pressed -"
[ "$FAILSAFE" = "true" ] && export FAILSAFE && touch /tmp/failsafe
fi
}
boot_hook_add preinit_main failsafe_wait

View File

@@ -1,16 +0,0 @@
# Copyright (C) 2006-2010 OpenWrt.org
# Copyright (C) 2010 Vertical Communications
run_failsafe_hook() {
[ "$pi_preinit_no_failsafe" = "y" ] && return
if [ "$FAILSAFE" = "true" ]; then
lock /tmp/.failsafe
boot_run_hook failsafe
while [ ! -e /tmp/sysupgrade ]; do
lock -w /tmp/.failsafe
done
exit
fi
}
boot_hook_add preinit_main run_failsafe_hook

View File

@@ -1,9 +0,0 @@
# Copyright (C) 2006 OpenWrt.org
# Copyright (C) 2010 Vertical Communications
indicate_regular_preinit() {
preinit_net_echo "Continuing with Regular Preinit\n"
set_state preinit_regular
}
boot_hook_add preinit_main indicate_regular_preinit

View File

@@ -1,12 +0,0 @@
# Copyright (C) 2006 OpenWrt.org
# Copyright (C) 2010 Vertical Communications
initramfs_test() {
if [ -n "$INITRAMFS" ]; then
boot_run_hook initramfs
preinit_ip_deconfig
break
fi
}
boot_hook_add preinit_main initramfs_test

View File

@@ -1,35 +0,0 @@
# Copyright (C) 2006 OpenWrt.org
# Copyright (C) 2010 Vertical Communications
missing_lines() {
local file1 file2 line
file1="$1"
file2="$2"
oIFS="$IFS"
IFS=":"
while read line; do
set -- $line
grep -q "^$1:" "$file2" || echo "$*"
done < "$file1"
IFS="$oIFS"
}
do_mount_root() {
mount_root
boot_run_hook preinit_mount_root
[ -f /sysupgrade.tgz -o -f /tmp/sysupgrade.tar ] && {
echo "- config restore -"
cp /etc/passwd /etc/group /etc/shadow /tmp
cd /
[ -f /sysupgrade.tgz ] && tar xzf /sysupgrade.tgz
[ -f /tmp/sysupgrade.tar ] && tar xf /tmp/sysupgrade.tar
missing_lines /tmp/passwd /etc/passwd >> /etc/passwd
missing_lines /tmp/group /etc/group >> /etc/group
missing_lines /tmp/shadow /etc/shadow >> /etc/shadow
rm /tmp/passwd /tmp/group /tmp/shadow
# Prevent configuration corruption on a power loss
sync
}
}
[ "$INITRAMFS" = "1" ] || boot_hook_add preinit_main do_mount_root

View File

@@ -1,8 +0,0 @@
#!/bin/sh
failsafe_dropbear () {
dropbearkey -t rsa -s 1024 -f /tmp/dropbear_failsafe_host_key
dropbear -r /tmp/dropbear_failsafe_host_key <> /dev/null 2>&1
}
boot_hook_add failsafe failsafe_dropbear

View File

@@ -1,14 +0,0 @@
# Copyright (C) 2006-2015 OpenWrt.org
# Copyright (C) 2010 Vertical Communications
failsafe_shell() {
local console="$(sed -e 's/ /\n/g' /proc/cmdline | grep '^console=' | head -1 | sed -e 's/^console=//' -e 's/,.*//')"
[ -n "$console" ] || console=console
[ -c "/dev/$console" ] || return 0
while true; do
ash --login <"/dev/$console" >"/dev/$console" 2>"/dev/$console"
sleep 1
done &
}
boot_hook_add failsafe failsafe_shell

View File

@@ -1,8 +0,0 @@
# Copyright (C) 2006 OpenWrt.org
# Copyright (C) 2010 Vertical Communications
run_init() {
preinit_ip_deconfig
}
boot_hook_add preinit_main run_init

View File

@@ -1,5 +1,4 @@
dest root /
dest ram /tmp
lists_dir ext /var/opkg-lists
option overlay_root /overlay
option check_signature

View File

@@ -0,0 +1,5 @@
src/gz openwrt_base https://downloads.openwrt.org/releases/22.03.5/packages/arm_cortex-a7_neon-vfpv4/base
src/gz openwrt_luci https://downloads.openwrt.org/releases/22.03.5/packages/arm_cortex-a7_neon-vfpv4/luci
src/gz openwrt_packages https://downloads.openwrt.org/releases/22.03.5/packages/arm_cortex-a7_neon-vfpv4/packages
src/gz openwrt_routing https://downloads.openwrt.org/releases/22.03.5/packages/arm_cortex-a7_neon-vfpv4/routing
src/gz openwrt_routing https://downloads.openwrt.org/releases/22.03.5/packages/arm_cortex-a7_neon-vfpv4/telephony

Some files were not shown because too many files have changed in this diff Show More