From f16fb73087e0810e8fa03a8feb665ad6f7066da4 Mon Sep 17 00:00:00 2001 From: Patrick Georgi Date: Fri, 3 Apr 2009 16:17:05 +0000 Subject: [PATCH] I thought that romfs infrastructure is done now, but there were some issues (see buildbot). The romfs image was always built, and sometimes broke (because of the different image layouts) for buildrom images. After the patch, these issues are avoided by not adding payloads to the romfs image (they wouldn't be read anyway). Both workarounds (in buildrom code for romfs and vice-versa) aren't very pretty, but that's what our buildsystem requires. As I had to create a "communication channel" (via the romfs-support files), I took the chance to also use it for compression information, so if you configure lzma support, you'll get lzma compressed payloads in romfs. Signed-off-by: Patrick Georgi Acked-by: Stefan Reinauer git-svn-id: svn://svn.coreboot.org/coreboot/trunk@4054 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1 --- src/arch/i386/Config.lb | 3 ++- util/newconfig/config.g | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/arch/i386/Config.lb b/src/arch/i386/Config.lb index f13bf2f23b..3a2574a244 100644 --- a/src/arch/i386/Config.lb +++ b/src/arch/i386/Config.lb @@ -80,7 +80,8 @@ if USE_FAILOVER_IMAGE else makerule coreboot.rom depends "coreboot.strip buildrom $(PAYLOAD-1)" - action "PAYLOAD=$(PAYLOAD-1); if [ $(CONFIG_ROMFS) -eq 1 ]; then PAYLOAD=/dev/null; fi; ./buildrom $< $@ $$PAYLOAD $(ROM_IMAGE_SIZE) $(ROM_SECTION_SIZE)" + action "PAYLOAD=$(PAYLOAD-1); if [ $(CONFIG_ROMFS) -eq 1 ]; then PAYLOAD=/dev/null; touch romfs-support; fi; ./buildrom $< $@ $$PAYLOAD $(ROM_IMAGE_SIZE) $(ROM_SECTION_SIZE)" + action "if [ $(CONFIG_COMPRESSED_PAYLOAD_LZMA) -eq 1 -a $(CONFIG_ROMFS) -eq 1 ]; then echo l > romfs-support; fi" end end diff --git a/util/newconfig/config.g b/util/newconfig/config.g index c2f7e20aed..9444fc0f6d 100644 --- a/util/newconfig/config.g +++ b/util/newconfig/config.g @@ -2275,7 +2275,7 @@ def writemakefile(path): for j in i.roms: #failover is a hack that will go away soon. if (j != "failover") and (rommapping[j] != "/dev/null"): - file.write("\t $(TOP)/util/romtool/romtool %sfs add-payload %s %s/payload\n" % (i.name, rommapping[j], j)) + file.write("\tif [ -f %s/romfs-support ]; then $(TOP)/util/romtool/romtool %sfs add-payload %s %s/payload `cat %s/romfs-support`; fi\n" % (j, i.name, rommapping[j], j, j)) file.write("\t $(TOP)/util/romtool/romtool %sfs print\n" % i.name) file.write(".PHONY: all clean romtool")