Hi,

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 <[email protected]>


Patrick
Index: src/arch/i386/Config.lb
===================================================================
--- src/arch/i386/Config.lb     (Revision 4049)
+++ src/arch/i386/Config.lb     (Arbeitskopie)
@@ -80,7 +80,8 @@
 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
 
Index: util/newconfig/config.g
===================================================================
--- util/newconfig/config.g     (Revision 4049)
+++ util/newconfig/config.g     (Arbeitskopie)
@@ -2275,7 +2275,7 @@
                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")
-- 
coreboot mailing list: [email protected]
http://www.coreboot.org/mailman/listinfo/coreboot

Reply via email to