[Skiboot] [PATCH] Produce XZ compressed skiboot.lid as part of build

Stewart Smith stewart at linux.vnet.ibm.com
Wed Jul 6 10:53:58 AEST 2016

oliver <oohall at gmail.com> writes:
> On Mon, Jul 4, 2016 at 1:37 PM, Andrew Donnellan
> <andrew.donnellan at au1.ibm.com> wrote:
>> On 04/07/16 13:27, Stewart Smith wrote:
>>> With a recent HostBoot change, we can have an XZ compressed PAYLOAD
>>> that's automagically detected (looking at magic numbers).
>>> This gives us three great benefits:
>>> 1) it's transparent, uncompressed skiboot.lid works everywhere
>>> 2) it lets us grow greater than 1MB binary, as long as we compress
>>>    down to <1MB
>>> 3) It speeds up boot. We currently compress down to 230kb rather than
>>>    922kb, which is much quicker to read off flash.
>>> This patch produces skiboot.lid.xz alongside standard skiboot.lid.
>>> Signed-off-by: Stewart Smith <stewart at linux.vnet.ibm.com>
>>> ---
>>> +$(TARGET).lid.xz: $(TARGET).lid
>>> +       $(call Q,XZ, cat $^ | xz -9 -C crc32 > $@, $@)
>> Is crc32 the only check algorithm supported by Hostboot? *searches hostboot
>> source code...*
>> A quick look at the relevant Hostboot source code seems to indicate that
>> crc64 can be enabled but is disabled by default. Mention this in commit
>> message?
> The options are there because hostboot uses the embedded xz library
> which can be configured to use crc64. Unfortunately, it looks like
> hostboot only provides a crc32 implementation so we need to use that.

CRC32 is much better than no ECC at *all* on PAYLOAD, so I'm all for it.

FWIW, i notice about a one second decrease in boot time on Firestone with
an XZ compressed skiboot.

Stewart Smith
OPAL Architect, IBM.

More information about the Skiboot mailing list