diff options
Diffstat (limited to 'resources/scripts')
| -rwxr-xr-x | resources/scripts/build/boot/roms | 80 | ||||
| -rwxr-xr-x | resources/scripts/build/boot/roms_helper | 151 | 
2 files changed, 119 insertions, 112 deletions
| diff --git a/resources/scripts/build/boot/roms b/resources/scripts/build/boot/roms index 92bcc4c4..f0398273 100755 --- a/resources/scripts/build/boot/roms +++ b/resources/scripts/build/boot/roms @@ -36,53 +36,53 @@ firstoption="${1}"  main()  { -	if [ $# -gt 0 ]; then -		if [ "${firstoption}" = "help" ]; then -			usage -			exit 0 -		fi -		if [ "${firstoption}" = "list" ]; then -			listboards -			exit 0 -		fi +	if [ $# -lt 1 ]; then +		usage +		exit 1 +	fi -		while [ $# -gt 0 ]; do -			case ${1} in -				-d) -				opts="${opts} -d ${2}" -				shift ;; -				-p) -				opts="${opts} -p ${2}" -				shift ;; -				-k) -				opts="${opts} -k ${2}" -				shift ;; -				*) -				boards="${boards} ${1} " ;; -			esac -			shift -		done +	if [ "${firstoption}" = "help" ]; then +		usage +		exit 0 +	fi +	if [ "${firstoption}" = "list" ]; then +		listboards +		exit 0 +	fi + +	while [ $# -gt 0 ]; do +		case ${1} in +			-d) +			opts="${opts} -d ${2}" +			shift ;; +			-p) +			opts="${opts} -p ${2}" +			shift ;; +			-k) +			opts="${opts} -k ${2}" +			shift ;; +			*) +			boards="${boards} ${1} " ;; +		esac +		shift +	done  	if [ -z ${opts+x} ]; then  		opts=""  	fi -		printf "Building %s ROM images\n" "${projectname}" - -		if [ "${firstoption}" = "all" ]; then -			for boardname in $(listboards); do -				buildrom "${boardname}" \ -						|| die "build/roms: error" -			done -		else -			for board in ${boards}; do -				buildrom "${board}" \ -						|| die "build/roms: error" -			done -		fi +	printf "Building %s ROM images\n" "${projectname}" + +	if [ "${firstoption}" = "all" ]; then +		for boardname in $(listboards); do +			buildrom "${boardname}" \ +					|| die "build/roms: error" +		done  	else -		usage -		exit 1 +		for board in ${boards}; do +			buildrom "${board}" \ +					|| die "build/roms: error" +		done  	fi  	printf "\n\nDone! Your ROMs are in bin/\n\n" diff --git a/resources/scripts/build/boot/roms_helper b/resources/scripts/build/boot/roms_helper index 92fc2e4a..d1a80335 100755 --- a/resources/scripts/build/boot/roms_helper +++ b/resources/scripts/build/boot/roms_helper @@ -180,19 +180,21 @@ load_config()  load_config_overrides()  {  	# Override all payload directives with cmdline args -	if [ ! -z ${payloads} ]; then	 -		echo "setting payloads $payloads" -		payload_grub="n" -		payload_grub_withseabios="n" # seabios chainloaded from grub -		payload_seabios="n" -		payload_seabios_withgrub="n" # grub from SeaBIOS menu -		payload_uboot="n" -		payload_memtest="n" +	if [ -z ${payloads} ]; then +		return 0 +	fi -		for payload in ${payloads} ; do -			eval "payload_${payload}=y" -		done -	fi  +	echo "setting payloads $payloads" +	payload_grub="n" +	payload_grub_withseabios="n" # seabios chainloaded from grub +	payload_seabios="n" +	payload_seabios_withgrub="n" # grub from SeaBIOS menu +	payload_uboot="n" +	payload_memtest="n" + +	for payload in ${payloads} ; do +		eval "payload_${payload}=y" +	done  }  die_if_cbconfig_and_nopayload() @@ -201,17 +203,20 @@ die_if_cbconfig_and_nopayload()  	# defined in the lbmk config, exit with error  	# if no configs exist, this won't fail. this way, cbtrees  	# like "default" can exist which just contain patches -	if [ "${payload_grub}" != "y" ] && [ "${payload_seabios}" != "y" ] \ -				&& [ "${payload_uboot}" != "y" ]; then -		for configfile in "${boardcfgdir}/config/"*; do -			if [ ! -e "${configfile}" ]; then -				continue -			fi -			printf "build/roms %s: Payload undefined. Exiting.\n" \ -					${board} -			exit 1 -		done + +	if [ "${payload_grub}" = "y" ] || [ "${payload_seabios}" = "y" ] \ +				|| [ "${payload_uboot}" = "y" ]; then +		return 0  	fi + +	for configfile in "${boardcfgdir}/config/"*; do +		if [ ! -e "${configfile}" ]; then +			continue +		fi +		printf "build/roms %s: Payload undefined. Exiting.\n" \ +				${board} +		exit 1 +	done  }  build_dependencies() @@ -282,72 +287,74 @@ build_dependency_seabios()  			./build payload seabios  		fi  	fi -	if [ "${payload_memtest}" = "y" ]; then -		if [ ! -f "memtest86plus/memtest" ]; then -			./build module memtest86plus -		fi +	if [ "${payload_memtest}" = "y" ] && [ ! -f "memtest86plus/memtest" ] +	then +		./build module memtest86plus  	fi  }  build_dependency_grub()  { -	if [ "${payload_grub}" = "y" ] \ -				|| [ "${payload_seabios_withgrub}" = "y" ] -	then -		if [ -f "payload/grub/grub_usqwerty.cfg" ]; then -			sha1cmd="sha1sum resources/grub/config/grub.cfg" -			grubrefchecksum="$(${sha1cmd} | awk '{print $1}')" +	if [ "${payload_grub}" != "y" ] \ +			&& [ "${payload_seabios_withgrub}" != "y" ]; then +		return 0 +	fi -			sha1cmd="sha1sum payload/grub/grub_usqwerty.cfg" -			grubsha1="$(${sha1cmd} | awk '{print $1}')" +	if [ -f "payload/grub/grub_usqwerty.cfg" ]; then +		sha1cmd="sha1sum resources/grub/config/grub.cfg" +		grubrefchecksum="$(${sha1cmd} | awk '{print $1}')" -			if [ "${grubrefchecksum}" != "${grubsha1}" ]; then -				rm -Rf payload/grub/ -				printf "GRUB change detected. Rebuilding:\n" -			fi -		else -			printf "GRUB payloads needed. Building:\n" -			rm -Rf payload/grub/ # just in case +		sha1cmd="sha1sum payload/grub/grub_usqwerty.cfg" +		grubsha1="$(${sha1cmd} | awk '{print $1}')" + +		if [ "${grubrefchecksum}" != "${grubsha1}" ]; then +			rm -Rf payload/grub/ +			printf "GRUB change detected. Rebuilding:\n" +		fi +	else +		printf "GRUB payloads needed. Building:\n" +		rm -Rf payload/grub/ # just in case +	fi +	for keymapfile in ${kmapdir}/*; do +		if [ ! -f "${keymapfile}" ]; then +			continue  		fi -		for keymapfile in ${kmapdir}/*; do -			if [ ! -f "${keymapfile}" ]; then -				continue -			fi -			keymap="${keymapfile##*/}" -			keymap="${keymap%.gkb}" +		keymap="${keymapfile##*/}" +		keymap="${keymap%.gkb}" -			grubelf="payload/grub/grub_${keymap}.elf" -			grubcfg="payload/grub/grub_${keymap}.cfg" -			grubtestcfg="payload/grub/grub_${keymap}_test.cfg" +		grubelf="payload/grub/grub_${keymap}.elf" +		grubcfg="payload/grub/grub_${keymap}.cfg" +		grubtestcfg="payload/grub/grub_${keymap}_test.cfg" -			if [ ! -f "${grubelf}" ] || [ ! -f "${grubcfg}" ] || \ -					[ ! -f "${grubtestcfg}" ]; then -				./build payload grub -			fi -		done -	fi +		if [ ! -f "${grubelf}" ] || [ ! -f "${grubcfg}" ] || \ +				[ ! -f "${grubtestcfg}" ]; then +			./build payload grub +		fi +	done  }  build_dependency_uboot()  { -	if [ "${payload_uboot}" = "y" ]; then -		ubdir="" -		if [ "${uboot_config}" = "default" ]; then -			ubdir="payload/u-boot/${board}" -		else -			ubdir="payload/u-boot/${board}/${uboot_config}" -		fi +	if [ "${payload_uboot}" != "y" ]; then +		return 0 +	fi -		if [ -f "${ubdir}/u-boot.elf" ]; then -			ubootelf="${ubdir}/u-boot.elf" -		elif [ -f "${ubdir}/u-boot" ]; then -			ubootelf="${ubdir}/u-boot" -		else -			printf "U-Boot needed. Building:\n" -			rm -Rf "payload/u-boot/${board}" # just in case -			./build payload u-boot "${board}" -		fi +	ubdir="" +	if [ "${uboot_config}" = "default" ]; then +		ubdir="payload/u-boot/${board}" +	else +		ubdir="payload/u-boot/${board}/${uboot_config}" +	fi + +	if [ -f "${ubdir}/u-boot.elf" ]; then +		ubootelf="${ubdir}/u-boot.elf" +	elif [ -f "${ubdir}/u-boot" ]; then +		ubootelf="${ubdir}/u-boot" +	else +		printf "U-Boot needed. Building:\n" +		rm -Rf "payload/u-boot/${board}" # just in case +		./build payload u-boot "${board}"  	fi  } | 
