[LinuxBIOS] [PATCH] v3: Kconfig payload options and README improvements

Stefan Reinauer stepan at coresystems.de
Thu May 31 01:43:43 CEST 2007


* Uwe Hermann <uwe at hermann-uwe.de> [070530 22:46]:
> Rework payload handling to only provide two options:
> 
>  - Payload file
> 
>  - No payload
> 
> Document the current procedure in the README. Minor cosmetic fixes.
> 
> Signed-off-by: Uwe Hermann <uwe at hermann-uwe.de>
> 
> Index: Kconfig
> ===================================================================
> --- Kconfig	(Revision 338)
> +++ Kconfig	(Arbeitskopie)
> @@ -78,69 +78,30 @@
>          prompt "Payload type"
>          default PAYLOAD_ELF
>  
> -config PAYLOAD_FILO
> -	bool "FILO"
> +config PAYLOAD_ELF
> +	bool "An ELF executable payload file"
>  	help
> -	  TODO
> +	  Select this option if you have a payload image (an ELF file)
> +	  which LinuxBIOS should run as soon as the basic hardware
> +	  initialization is completed.
>  
> -config PAYLOAD_ETHERBOOT
> -	bool "Etherboot"
> -	help
> -	  TODO
> +	  You will be able to specify the location and file name of the
> +	  payload image later.
>  
> -config PAYLOAD_MEMTEST86
> -	bool "Memtest86"
> +config PAYLOAD_NONE
> +	bool "No payload"
>  	help
> -	  TODO
> +	  Select this option if you want to create an "empty" LinuxBIOS
> +	  ROM image for a certain mainboard, i.e. a LinuxBIOS ROM image
> +	  which does not yet contain a payload.
>  
> -config PAYLOAD_LINUX
> -	bool "Linux kernel"
> -	help
> -	  TODO
> +	  For such an image to be useful, you have to use the 'lar' tool
> +	  to add a payload to the ROM image later.
>  
> -config PAYLOAD_ELF
> -	bool "Any ELF executable"
> -	help
> -	  TODO
> -
> -config PAYLOAD_DUMMY
> -	bool "Dummy payload"
> -	help
> -	  For testing purposes only.
> -
>  endchoice
>  
> -config PAYLOAD_FILO_DIR
> -	string "FILO source code directory"
> -	depends PAYLOAD_FILO
> -	default "/tmp/filo-0.5"
> -	help
> -	  The directory where the FILO source code is located.
> -
> -config PAYLOAD_FILO_CONFIGFILE
> -	string "Filename of the FILO 'Config' file"
> -	depends PAYLOAD_FILO
> -	default "Config"
> -	help
> -	  The filename of the FILO 'Config' file to use. This file must reside
> -	  in the directory specified via PAYLOAD_FILO_DIR.
> -
> -config PAYLOAD_LINUX_DIR
> -	string "Linux kernel source code directory"
> -	depends PAYLOAD_LINUX
> -	default "/usr/src/linux"
> -	help
> -	  The directory where the Linux kernel source code is located.
> -
> -config PAYLOAD_LINUX_CONFIGFILE
> -	string "Path and filename of the Linux .config file to use"
> -	depends PAYLOAD_LINUX
> -	default ".config" # FIXME!
> -	help
> -	  The path and filename of the Linux .config file to use.
> -
> -config PAYLOAD_ELF_FILE
> -	string "Path and filename of the ELF file to use as payload"
> +config PAYLOAD_FILE
> +	string "Payload path and filename"
>  	depends PAYLOAD_ELF
>  	default "payload.elf"
>  	help


I think its fine up to here.

> Index: Makefile
> ===================================================================
> --- Makefile	(Revision 338)
> +++ Makefile	(Arbeitskopie)
>  doxygen:
>  	$(Q)$(DOXYGEN) util/doxygen/Doxyfile.LinuxBIOS
>  
> +payload:
> +	$(Q)printf "Not yet implemented. This will invoke a helper tool.\n"
> +

I'd wait checking this stuff in until we really do something here.

> -	$(Q)cp $(CONFIG_PAYLOAD) $(obj)/lar.tmp/normal/payload
> +	$(Q)# TODO: Copy no payload or empty payload if CONFIG_PAYLOAD_NONE.
> +	$(Q)cp $(CONFIG_PAYLOAD_FILE) $(obj)/lar.tmp/normal/payload

maybe something like 
if [ -r $(CONFIG_PAYLOAD_FILE) ]; then cp .... ; fi

> -STAGE2_LIB_OBJ       = stage2.o clog2.o mem.o malloc.o tables.o delay.o compute_ip_checksum.o
> +STAGE2_LIB_OBJ       = stage2.o clog2.o mem.o malloc.o tables.o delay.o \
> +		       compute_ip_checksum.o
 
Uh oh, lots of unrelated whitespace stuff in this patch.

> +# TODO: Compress the payload (CONFIG_PAYLOAD_FILE) with the default compressor.
>  #
> -# TODO: This is not implemented yet.
> -# TODO: This needs to be compressed with the default compressor.

> -	$(Q)$(CC) -E $(LINUXBIOSINCLUDE) $< \
> -		-o $(obj)/arch/x86/stage0_asm.s -DBOOTBLK=0x1f00 -DRESRVED=0xf0 \
> -		-DDATE=\"`date +%Y/%m/%d`\"
> +	$(Q)$(CC) -E $(LINUXBIOSINCLUDE) $< -o $(obj)/arch/x86/stage0_asm.s \
> +		-DBOOTBLK=0x1f00 -DRESRVED=0xf0 -DDATE=\"`date +%Y/%m/%d`\"

... and reformatting.


-- 
coresystems GmbH • Brahmsstr. 16 • D-79104 Freiburg i. Br.
      Tel.: +49 761 7668825 • Fax: +49 761 7664613
Email: info at coresystems.dehttp://www.coresystems.de/




More information about the coreboot mailing list