Bug #748

cl-kernel persists in compiling kernel with lz4 compression

Added by Andrew Miller over 4 years ago.

Status:New Start:06/23/2015
Priority:Normal Due date:
Assignee:- % Done:

0%

Category:Calculate Linux Desktop Xfce Spent time: -
Target version:-
Votes: 0

Description

Hi *!

As implied in http://www.calculate-linux.org/boards/15/topics/20146?r=29131#message-29131 I have just tried to set up calculate linux on zfs root without recourse to using funtoo, based on 14.16.2 rather than 14.16.

Before getting to zfs (and installing Docker and the rest of the hairy things I need) I decided to just complile the kernel as is, so I know that any problems are not due to the new configuration

Unfortunately I was probably bitten by the following bug, which was likely not present on my AMD or Atom test machines or on 14.16:

http://lkml.iu.edu/hypermail/linux/kernel/1504.0/01879.html

(TL;DR If CPU is Intel 64 bit and not AMD, then lz4 decompress in boot fails and halts your system without a helpful error message)

No Problem, I thought, just use lzo or bzip or whatever else the kernel config allows, and you have a workaround.

Unfortunately the new kernel failed to boot with the same symptoms. I guess that the compression is still lz4. This is supported by the kernel generated by vanilla genkernel has:

CONFIG_HAVE_KERNEL_GZIP=y
CONFIG_HAVE_KERNEL_BZIP2=y
CONFIG_HAVE_KERNEL_LZMA=y
CONFIG_HAVE_KERNEL_XZ=y
CONFIG_HAVE_KERNEL_LZO=y
CONFIG_HAVE_KERNEL_LZ4=y
CONFIG_KERNEL_GZIP=y
# CONFIG_KERNEL_BZIP2 is not set
# CONFIG_KERNEL_LZMA is not set
# CONFIG_KERNEL_XZ is not set
# CONFIG_KERNEL_LZO is not set
# CONFIG_KERNEL_LZ4 is not set

and boots fine.

I will try to reproduce the error stituation on a VM - I think Virtualbox will pass through the architecture of the underlying CPU sufficiently to provoke the bug,

I guess the following situations are possible

  1. There is a mechanism in cl-kernel to force the compression to be lz4
  2. There is something else in the kernel built that causes the decode and decompress to fail
  3. I did not understand the cl-kernel documentation as to how to clone and then change a kernel config.
  4. I am doing something else wrong.

I have not had time to dig in to the cl-kernel mechanism yet. (New box, shakedown, box stays if OK or Return for guarantee if not, Line of least resistance taken (sorry))

I would be grateful for hints as to  where to look or what to check.
(...and hopefully discover that it is just me being stupid :-)

For cases 1 and 2: I can rebuild the kernel and find some means of uploading, if this is of any help,

For cases 3 and 4 I would be willing to help improve the English Language cl-kernel documentation, as soon as I know where I went wrong.

In retrospect I am happy to have failed so early.

Thanks in advance!

Andrew

Also available in: Atom PDF

Thank you!