mirror of
				git://git.openwrt.org/openwrt/openwrt.git
				synced 2025-11-03 22:44:27 -05:00 
			
		
		
		
	Supermicro puts "Super Server" into their product_name DMI value for a whole slew of products, making this value about as useful as not having been filled in at all. Instead, fall back on the board_name instead. Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
		
			
				
	
	
		
			40 lines
		
	
	
		
			779 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			40 lines
		
	
	
		
			779 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
sanitize_name_x86() {
 | 
						|
	sed -e '
 | 
						|
		y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/;
 | 
						|
		s/[^a-z0-9_-]\+/-/g;
 | 
						|
		s/^-//;
 | 
						|
		s/-$//;
 | 
						|
	' "$@"
 | 
						|
}
 | 
						|
 | 
						|
do_sysinfo_x86() {
 | 
						|
	local vendor product file
 | 
						|
 | 
						|
	for file in sys_vendor board_vendor; do
 | 
						|
		vendor="$(cat /sys/devices/virtual/dmi/id/$file 2>/dev/null)"
 | 
						|
		[ -n "$vendor" ] && break
 | 
						|
	done
 | 
						|
 | 
						|
	for file in product_name board_name; do
 | 
						|
		product="$(cat /sys/devices/virtual/dmi/id/$file 2>/dev/null)"
 | 
						|
		case "$vendor:$product" in
 | 
						|
		"Supermicro:Super Server")
 | 
						|
			continue
 | 
						|
			;;
 | 
						|
		?*:?*)
 | 
						|
			break
 | 
						|
			;;
 | 
						|
		esac
 | 
						|
	done
 | 
						|
 | 
						|
	[ -n "$vendor" -a -n "$product" ] || return
 | 
						|
 | 
						|
	mkdir -p /tmp/sysinfo
 | 
						|
 | 
						|
	echo "$vendor $product" > /tmp/sysinfo/model
 | 
						|
 | 
						|
	sanitize_name_x86 /tmp/sysinfo/model > /tmp/sysinfo/board_name
 | 
						|
}
 | 
						|
 | 
						|
boot_hook_add preinit_main do_sysinfo_x86
 |