Skip to main content
Topic: Unable to boot 20210726 iso, 20210426 iso is working. (Read 804 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Unable to boot 20210726 iso, 20210426 iso is working.

I got this error on Intel Core i5-680, 4GB memory. BIOS boot mode.

Code: [Select]
Error 36 : Decoding error : Unsupported frame parameter

on both artix-base-openrc iso and artix-cinnamon-openrc iso.

I googled and find this error comes from `zstd`.
<https://github.com/facebook/zstd/issues/403>

Is there some change on zstd in 20210726 iso ?

Re: Unable to boot 20210726 iso, 20210426 iso is working.

Reply #1
I would try a more up to date iso from the weekly builds.

Re: Unable to boot 20210726 iso, 20210426 iso is working.

Reply #2
In fact I also tried the last weekly iso on August (the ones just before 20210823). The same error happens.

I think it is due to the new version of zstd changes its default parameters. So that the squashfs image cannot be mount on old PC.


Re: Unable to boot 20210726 iso, 20210426 iso is working.

Reply #4
I tried artix-base-openrc-20210426-x86_64.iso and artix-cinnamon-openrc-20210426-x86_64.iso, both are working.

My current OS is installed with artix-cinnamon-openrc-20210426-x86_64.iso.

I hope the official iso can make some change to make future ISOes working under 32 bit BIOS environment.

The error may due to  the new package is bigger and zstd cannot decompress it under 32 bit.

Re: Unable to boot 20210726 iso, 20210426 iso is working.

Reply #5
This better be reported upstream. Until they fix their stuff, you'd better keep those ISOs somewhere at hand...

Re: Unable to boot 20210726 iso, 20210426 iso is working.

Reply #6
The zstd GitHub issus says:
Quote
The maximum window size is smaller on 32-bit systems than it is on 64-bit systems. If you compress a large file (> 256 KB) with -22 --ultra you will get a window log of 27 on 64-bit systems. However, on 32-bit systems the maximum window log is 25, so the decompresser will complain.

It should work if you use -20 --ultra, if it doesn't there is a different issue.

The zstd format document specifies that decompressors should support window sizes of at least 8 MB. If you don't use --ultra, the window size is always less than 8 MB. So I would recommend not compressing with --ultra if you are worried about compatibility with 32-bit platforms, or even with other zstd decompressors.

Would you test "-20 --ultra" under 32bit BIOS mode ?

Quote
Anyway, bottom line, beyond 8 MB, all bets are off. It's implementation dependent, or even parameter dependent.
And it happens that, for some complex technical reason, the 32-bits version of the reference decoder is unable to accept frames with back-references > 32 MB. So it's its default limit.
The 64-bits version has a default limit of 128 MB, which corresponds to --ultra -22. It could be higher, it's just that a limit is needed to avoid crazy scenarios.
I am not sure about the "-M", maybe "-M 32M" is useful too.
It seems the limitation for 32bit is only 32M.

Re: Unable to boot 20210726 iso, 20210426 iso is working.

Reply #7
I find `buildiso` is using `mksquashfs /var/lib/artools/buildiso/xxx/artix/rootfs /var/lib/artools/buildiso/xxx/iso/LiveOS/rootfs.img -comp zstd -Xcompression-level 15 -noappend`, the compression-level  is too high for PC with little memory.