diff options
Diffstat (limited to 'script')
| -rwxr-xr-x | script/roms | 69 | 
1 files changed, 19 insertions, 50 deletions
| diff --git a/script/roms b/script/roms index 9315bec6..92dc1e9e 100755 --- a/script/roms +++ b/script/roms @@ -21,22 +21,16 @@ stm32src="src/stm32-vserprog"  # target.cfg files have to specifically enable [a] payload(s)  pv="payload_uboot payload_grub_withseabios payload_seabios payload_memtest t"  pv="$pv payload_seabios_withgrub payload_seabios_grubonly payload_grub mt86bin" -v="romdir cbrom initmode displaymode cbcfg targetdir tree keymaps release" +v="romdir cbrom initmode displaymode cbcfg targetdir tree release"  v="$v grub_timeout ubdir board grub_scan_disk uboot_config grubtree grubelf"  eval "$(setvars "n" $pv)" -eval "$(setvars "" $v boards opt_k targets serprog_boards_dir)" +eval "$(setvars "" $v boards targets serprog_boards_dir)"  main()  {  	while [ $# -gt 0 ]; do  		[ "$1" = "list" ] && eval "x_ ls -1 config/coreboot; return 0"  		[ "$1" = "serprog" ] && eval "shift 1; mkserprog $@; return 0" - -		if [ "$1" = "-k" ]; then -			[ $# -lt 2 ] && $err "$1: option not specified" -			opt_k="$2"; continue -		fi -  		[ "$1" = "all" ] && shift && continue  		boards="$1 $boards"; shift 1  	done @@ -169,23 +163,12 @@ build_payloads()  	[ "$payload_seabios" = "y" ] && x_ ./update trees -b seabios  	if [ "$payload_grub" = "y" ] || [ "$payload_seabios_withgrub" = "y" ] \ -	    || [ "$payload_seabios_grubonly" = "y" ]; then build_grub_payload +	    || [ "$payload_seabios_grubonly" = "y" ]; then +		[ -f "$grubelf" ] || x_ ./update trees -b grub $grubtree  	fi  	[ "$payload_uboot" = "y" ] && build_uboot_payload; return 0  } -build_grub_payload() -{ -	for keymapfile in "$grubdata/keymap/"*.gkb; do -		[ -f "$keymapfile" ] && keymaps="$keymaps $keymapfile" -	done -	[ -z "$opt_k" ] || [ -f "$grubdata/keymap/${opt_k}.gkb" ] || \ -		$err "build_grub_payload: ${opt_k} layout not defined" -	[ -n "$opt_k" ] && keymaps="$grubdata/keymap/$opt_k.gkb" - -	[ -f "$grubelf" ] || x_ ./update trees -b grub $grubtree; return 0 -} -  build_uboot_payload()  {  	x_ ./update trees -b u-boot $board @@ -256,7 +239,7 @@ build_seabios_roms()  	x_ rm -f "$t"  } -# Make separate ROM images with GRUB payload, for each supported keymap +# Make separate ROM images with GRUB payload  build_grub_roms()  {  	tmprom="$1" @@ -298,35 +281,21 @@ build_grub_roms()  	    -f "$tmpcfg" -n timeout.cfg -t raw  	x_ rm -f "$tmpcfg" -	for keymapfile in $keymaps; do -		[ -f "$keymapfile" ] || continue -		keymap="${keymapfile##*/}" -		keymap="${keymap%.gkb}" - -		tmpgrubrom="$(mktemp -t coreboot_rom.XXXXXXXXXX)" -		x_ cp "$tmprom" "$tmpgrubrom" -		x_ "$cbfstool" "$tmpgrubrom" add -f "$keymapfile" \ -		    -n keymap.gkb -t raw - -		newrom="$romdir/${payload1}_${board}_${initmode}_" -		newrom="$newrom${displaymode}_$keymap.rom" -		[ "$initmode" = "normal" ] && newrom="$romdir/${payload1}_" \ -		    && newrom="$newrom${board}_${initmode}_$keymap.rom" -		x_ cprom "$tmpgrubrom" "$newrom" -		if [ "$payload_seabios_withgrub" = "y" ] && \ -		    [ "$payload1" != "grub" ]; then -			x_ "$cbfstool" "$tmpgrubrom" add \ -			    -f "$grubdata/bootorder" -n bootorder -t raw -			x_ cprom "$tmpgrubrom" "${newrom%.rom}_grubfirst.rom" -			if [ "$payload_seabios_grubonly" = "y" ]; then -				x_ "$cbfstool" "$tmpgrubrom" add-int -i 0 \ -				    -n etc/show-boot-menu -				x_ cprom "$tmpgrubrom" \ -				    "${newrom%.rom}_grubonly.rom" -			fi +	newrom="$romdir/${payload1}_${board}_${initmode}_$displaymode.rom" +	[ "$initmode" = "normal" ] && newrom="$romdir/${payload1}_" \ +	    && newrom="$newrom${board}_$initmode.rom" +	x_ cprom "$tmprom" "$newrom" +	if [ "$payload_seabios_withgrub" = "y" ] && \ +	    [ "$payload1" != "grub" ]; then +		x_ "$cbfstool" "$tmprom" add \ +		    -f "$grubdata/bootorder" -n bootorder -t raw +		x_ cprom "$tmprom" "${newrom%.rom}_grubfirst.rom" +		if [ "$payload_seabios_grubonly" = "y" ]; then +			x_ "$cbfstool" "$tmprom" add-int -i 0 \ +			    -n etc/show-boot-menu +			x_ cprom "$tmprom" "${newrom%.rom}_grubonly.rom"  		fi -		x_ rm -f "$tmpgrubrom" -	done +	fi  }  # make a rom in /tmp/ and then print the path of that ROM | 
