If a board in models/ does not exist in coreboot, coreboot will emit a warning and select the first available board for the vendor instead. This may result in building and being able to flash coreboot with an addw1 configuration on another board.
		
			
				
	
	
		
			46 lines
		
	
	
		
			907 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			46 lines
		
	
	
		
			907 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#!/usr/bin/env bash
 | 
						|
 | 
						|
set -e
 | 
						|
 | 
						|
if [ -z "$1" -o ! -e "$1" -o -z "$2" ]
 | 
						|
then
 | 
						|
  echo "$0 [coreboot.config] [coreboot.rom]" >&2
 | 
						|
  exit 1
 | 
						|
fi
 | 
						|
CONFIG="$(realpath "$1")"
 | 
						|
COREBOOT="$(realpath "$2")"
 | 
						|
 | 
						|
function check_configs() {
 | 
						|
  local defconfig="$1"
 | 
						|
 | 
						|
  while read -r line; do
 | 
						|
    if [[ "${line}" =~ ^# ]] || [[ -z "${line}" ]]; then
 | 
						|
      continue
 | 
						|
    fi
 | 
						|
 | 
						|
    if [[ "${line}" =~ "=n" ]]; then
 | 
						|
      local config="${line//=n/} is not set"
 | 
						|
    else
 | 
						|
      local config="${line}"
 | 
						|
    fi
 | 
						|
 | 
						|
    if ! grep -q "${config}" ".config"; then
 | 
						|
      echo "expected config not found: '${config}'" >&2
 | 
						|
      exit 1
 | 
						|
    fi
 | 
						|
  done < "${defconfig}"
 | 
						|
}
 | 
						|
 | 
						|
pushd coreboot >/dev/null
 | 
						|
  if [ ! -d util/crossgcc/xgcc ]
 | 
						|
  then
 | 
						|
    make CPUS="$(nproc)" crossgcc-i386
 | 
						|
  fi
 | 
						|
  make distclean
 | 
						|
  make defconfig KBUILD_DEFCONFIG="${CONFIG}"
 | 
						|
  check_configs "${CONFIG}"
 | 
						|
 | 
						|
  make --jobs="$(nproc)"
 | 
						|
  cp -v "build/coreboot.rom" "${COREBOOT}"
 | 
						|
popd >/dev/null
 |