51 lines
985 B
Plaintext
51 lines
985 B
Plaintext
do_sysinfo_octeon() {
|
|
local machine
|
|
local name
|
|
|
|
machine=$(grep "^system type" /proc/cpuinfo | sed "s/system type.*: \(.*\)/\1/g")
|
|
of_machine=$(head -n1 /sys/firmware/devicetree/base/compatible)
|
|
|
|
# Sadly for whatever reason the N821 (Cisco Viptela vEdge 1000) uses the
|
|
# same supposedly unique board ID as the EdgeRouter. This is bad, so
|
|
# we override what cpuinfo gives us using the device tree as a hint.
|
|
case "$of_machine" in
|
|
"cisco,vedge1000"*)
|
|
return 0
|
|
esac
|
|
|
|
case "$machine" in
|
|
"UBNT_E100"*)
|
|
name="erlite"
|
|
;;
|
|
|
|
"UBNT_E200"*)
|
|
name="er"
|
|
;;
|
|
|
|
"UBNT_E220"*)
|
|
name="erpro"
|
|
;;
|
|
|
|
"UBNT_E300"*|\
|
|
"UBNT_USG"*)
|
|
# let generic 02_sysinfo handle it since device has its own device tree
|
|
return 0
|
|
;;
|
|
|
|
"ITUS_SHIELD"*)
|
|
name="itus,shield-router"
|
|
;;
|
|
|
|
*)
|
|
name="generic"
|
|
;;
|
|
esac
|
|
|
|
[ -e "/tmp/sysinfo/" ] || mkdir -p "/tmp/sysinfo/"
|
|
|
|
echo "$name" > /tmp/sysinfo/board_name
|
|
echo "$machine" > /tmp/sysinfo/model
|
|
}
|
|
|
|
boot_hook_add preinit_main do_sysinfo_octeon
|