Stefan Reinauer wrote:
> * Carl-Daniel Hailfinger wrote:
>
> > What we need from you is a way to use nrv2b compressed ELF images as
> > payload. Please don't say that is impossible.
>  
> CONFIG_COMPRESSED_ROM_STREAM does exactly that. 
> 
> You need to give it an uncompressed payload since it does compression on
> its own.

ARGH! Now that indeed explains things very well.

Attached is a patch to make LinuxBIOS support precompressed payloads. While the 
LinuxBIOS build system can compress payloads on its own, the OLPC build system 
benefits from delivering a precompressed (and size-checked) payload.

Although the patch modifies targets/olpc/rev_a/Config.1M.lb this has no effect 
on current OLPC buildrom because it checks out an earlier revision of 
LinuxBIOS. So it should be a safe to apply.

As a reply to this message, I'll post the necessary OLPC buildrom changes to 
make use of the new infrastructure.

Regards,
Carl-Daniel
-- 


Echte DSL-Flatrate dauerhaft für 0,- Euro*. Nur noch kurze Zeit!
"Feel free" mit GMX DSL: http://www.gmx.net/de/go/dsl
Index: src/mainboard/olpc/rev_a/Options.lb
===================================================================
--- src/mainboard/olpc/rev_a/Options.lb	(Revision 2357)
+++ src/mainboard/olpc/rev_a/Options.lb	(Arbeitskopie)
@@ -22,6 +22,7 @@
 uses ROM_SECTION_OFFSET
 uses CONFIG_ROM_STREAM_START
 uses CONFIG_COMPRESSED_ROM_STREAM
+uses CONFIG_PRECOMPRESSED_ROM_STREAM
 uses PAYLOAD_SIZE
 uses _ROMBASE
 uses _RAMBASE
Index: src/config/Options.lb
===================================================================
--- src/config/Options.lb	(Revision 2357)
+++ src/config/Options.lb	(Arbeitskopie)
@@ -574,6 +574,11 @@
 	export always
 	comment "compressed boot image is located in ROM" 
 end
+define CONFIG_PRECOMPRESSED_ROM_STREAM
+	default 0
+	export always
+	comment "boot image is already compressed" 
+end
 define CONFIG_FS_STREAM
 	default 0
 	export always
Index: src/arch/i386/Config.lb
===================================================================
--- src/arch/i386/Config.lb	(Revision 2357)
+++ src/arch/i386/Config.lb	(Arbeitskopie)
@@ -30,6 +30,7 @@
 
 makedefine PAYLOAD-1:=payload
 makedefine PAYLOAD-$(CONFIG_COMPRESSED_ROM_STREAM):=payload.nrv2b
+makedefine PAYLOAD-$(CONFIG_PRECOMPRESSED_ROM_STREAM):=payload
 
 makerule linuxbios.rom 
 	depends	"linuxbios.strip buildrom $(PAYLOAD-1)" 
Index: targets/olpc/rev_a/Config.1M.lb
===================================================================
--- targets/olpc/rev_a/Config.1M.lb	(Revision 2357)
+++ targets/olpc/rev_a/Config.1M.lb	(Arbeitskopie)
@@ -4,7 +4,8 @@
 mainboard olpc/rev_a
 
 # leave 64k for vsa
-option CONFIG_COMPRESSED_ROM_STREAM=0
+option CONFIG_COMPRESSED_ROM_STREAM=1
+option CONFIG_PRECOMPRESSED_ROM_STREAM=1
 option ROM_SIZE=1024*1024-64*1024
 option FALLBACK_SIZE=ROM_SIZE
 
-- 
linuxbios mailing list
[email protected]
http://www.openbios.org/mailman/listinfo/linuxbios

Reply via email to