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

oliver oohall at gmail.com
Wed Jul 6 11:16:30 AEST 2016

On Wed, Jul 6, 2016 at 10:53 AM, Stewart Smith
<stewart at linux.vnet.ibm.com> wrote:
> 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.

crc32 is fine for all practical purposes and crc64 doesn't buy you
much (aside from being 2x). I'm just pointing out we can't use it even
if we wanted to.

> 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