Add image updating support. When selecting it, it

expects a coreboot.rom to be available, and adds the files to it.

It has no idea how to replace files, it merely adds them. It only works
with Tinybootblock and the bootblock is immutable.

The "clean" rules allow "make clean-for-update", which
removes everything but coreboot.rom

Signed-off-by: Patrick Georgi <patrick.georgi@coresystems.de>
Acked-by: Peter Stuge <peter@stuge.se>


git-svn-id: svn://svn.coreboot.org/coreboot/trunk@5103 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
This commit is contained in:
Patrick Georgi 2010-02-09 19:41:11 +00:00
parent 4b8a241935
commit 967952a102
3 changed files with 22 additions and 3 deletions

View File

@ -284,15 +284,19 @@ doxyclean: doxygen-clean
doxygen-clean: doxygen-clean:
rm -rf $(DOXYGEN_OUTPUT_DIR) rm -rf $(DOXYGEN_OUTPUT_DIR)
clean: doxygen-clean clean-for-update: doxygen-clean
rm -f $(allobjs) $(obj)/coreboot* .xcompile rm -f $(objs) $(initobjs) $(drivers) $(smmobjs) .xcompile
rm -f $(obj)/coreboot_ram* $(obj)/coreboot.romstage $(obj)/coreboot.pre* $(obj)/coreboot.bootblock $(obj)/coreboot.a
rm -rf $(obj)/bootblock* $(obj)/romstage* $(obj)/location.* rm -rf $(obj)/bootblock* $(obj)/romstage* $(obj)/location.*
rm -f $(obj)/option_table.* $(obj)/crt0_includes.h $(obj)/ldscript rm -f $(obj)/option_table.* $(obj)/crt0_includes.h $(obj)/ldscript $(obj)/config.h
rm -f $(obj)/mainboard/$(MAINBOARDDIR)/static.c $(obj)/mainboard/$(MAINBOARDDIR)/config.py $(obj)/mainboard/$(MAINBOARDDIR)/static.dot rm -f $(obj)/mainboard/$(MAINBOARDDIR)/static.c $(obj)/mainboard/$(MAINBOARDDIR)/config.py $(obj)/mainboard/$(MAINBOARDDIR)/static.dot
rm -f $(obj)/mainboard/$(MAINBOARDDIR)/auto.inc $(obj)/mainboard/$(MAINBOARDDIR)/crt0.s $(obj)/mainboard/$(MAINBOARDDIR)/crt0.disasm rm -f $(obj)/mainboard/$(MAINBOARDDIR)/auto.inc $(obj)/mainboard/$(MAINBOARDDIR)/crt0.s $(obj)/mainboard/$(MAINBOARDDIR)/crt0.disasm
rmdir -p $(alldirs) 2>/dev/null >/dev/null || true rmdir -p $(alldirs) 2>/dev/null >/dev/null || true
$(MAKE) -C util/sconfig clean $(MAKE) -C util/sconfig clean
clean: clean-for-update
rm -f $(obj)/coreboot*
distclean: clean distclean: clean
rm -rf $(obj) rm -rf $(obj)
rm -f .config .config.old ..config.tmp .kconfig.d .tmpconfig* rm -f .config .config.old ..config.tmp .kconfig.d .tmpconfig*

View File

@ -49,6 +49,16 @@ config BIG_BOOTBLOCK
default n if TINY_BOOTBLOCK default n if TINY_BOOTBLOCK
default y default y
config UPDATE_IMAGE
bool "Update existing coreboot.rom image"
default n
depends on TINY_BOOTBLOCK
help
If this option is activate, no new coreboot.rom file
is created. Instead it is expected that there already
is a suitable file for further processing.
The bootblock will not be modified.
config ROMCC config ROMCC
bool bool
default n default n

View File

@ -3,9 +3,14 @@ ifdef POST_EVALUATION
####################################################################### #######################################################################
# Build the final rom image # Build the final rom image
ifneq ($(CONFIG_UPDATE_IMAGE),y)
$(obj)/coreboot.pre1: $(obj)/coreboot.bootblock $(CBFSTOOL) $(obj)/coreboot.pre1: $(obj)/coreboot.bootblock $(CBFSTOOL)
rm -f $@ rm -f $@
$(CBFSTOOL) $@ create $(CONFIG_COREBOOT_ROMSIZE_KB)K $(obj)/coreboot.bootblock $(CBFSTOOL) $@ create $(CONFIG_COREBOOT_ROMSIZE_KB)K $(obj)/coreboot.bootblock
else
$(obj)/coreboot.pre1: $(CBFSTOOL)
mv $(obj)/coreboot.rom $@
endif
$(obj)/coreboot.pre: $(obj)/coreboot.romstage $(obj)/coreboot.pre1 $(CBFSTOOL) $(obj)/coreboot.pre: $(obj)/coreboot.romstage $(obj)/coreboot.pre1 $(CBFSTOOL)
rm -f $@ rm -f $@