| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- 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"*|\
- "UBNT_E300"*|\
- "UBNT_USG"*)
- # let generic 02_sysinfo handle it since device has its own device tree
- return 0
- ;;
- "UBNT_E200"*)
- name="er"
- ;;
- "UBNT_E220"*)
- name="erpro"
- ;;
- "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
|