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