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