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
 |