-
Notifications
You must be signed in to change notification settings - Fork 1.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Configuring stops with error message: This kernel is unable to compile object files. #14608
Comments
First, you should be installing the kernel headers, not compiling a kernel: https://www.raspberrypi.com/documentation/computers/linux_kernel.html#kernel-headers Second, your kernel source version is different from your running kernel version. Unless you install this kernel, you are not going to be able to use modules built against it with your running kernel. If you want to continue trying to use it, follow the instructions under https://www.raspberrypi.com/documentation/computers/linux_kernel.html#building-the-kernel-locally Do not use the cross compilation instructions, since then you will need to cross compile ZFS too and that is unnecessarily complicated. That said, if the source versions were the same, hypothetically, you should be able to build compatible kernel modules provided that you built the kernel the exact same way that raspbian did, but in that case, you would want to be using You should not use the instructions from #10450. They are for a very special configuration that builds ZFS into the kernel rather than as a module. For your purposes, you likely want to use ZFS as a kernel module. For building ZFS, you want to follow these instructions: https://openzfs.github.io/openzfs-docs/Developer%20Resources/Building%20ZFS.html# On second thought, ignore everything I just said and do this instead:
Then you should have .deb packages that you can install with |
|
The warning merits a bug report of its own, but it should be okay. |
Result of
|
You know, you say "64-bit", but you're really on a 64-bit kernel and 32-bit userland, I think, from a couple of those errors, and the forum thread. And that is a very different kettle of fish. I don't think anyone's made any attempts to make sure anything in the build chain and user/kernel interface plays well with a 32-bit userland and 64-bit kernel, and I think there are known cases where that would break (I believe nvlists encode things about the pointer length, for example...). So at least without a 64-bit chroot for userland to run things in, or a full 64-bit userland, I don't think this is going to fly easily. I will also note, my Pi 3B and 4B are happily running OpenZFS with a full 64-bit userland and kernel. So it's not a Pi problem. |
Install zfs from backports and you get 2.1.9. I have my 3b using 32bit kernel but it does build fine, same as my pi4 with 64bit. |
Could you please provide the exact commands how to do this? I'm a newbie in this field. |
The primary operating system I uses on my POWER7-based machine is in fact Debian GNU/Linux 8 powerpc, with 32-bit userland and a 64-bit kernel. It runs latest OpenZFS releases without any userland compatibility problems. |
I'm quite curious how you're building that, as I would really not expect that to work without a lot of handholding for the compiler flags alone, let alone whether I was correct about there being native bits in the ioctls. |
System information
Describe the problem you're observing
Configuring stops on a Raspberry Pi 3 Model B+ with Raspberry Pi OS (64-bit) with the error message: "This kernel is unable to compile object files."
This happens despite the fact that
CONFIG_MODULES=y
is specified in the .config in the linux kernel source tree, andmake prepare
was run.See also the main thread on Raspberry Pi Forums.
General question: Is OpenZFS ready for use in production?
Currently there are 500 open issues with "Type: Defect" for ZFS, compared with 137 bugs total for ext4.
Describe how to reproduce the problem
sudo apt install -y git bc bison flex libssl-dev make libc6-dev libncurses5-dev raspberrypi-kernel-headers crossbuild-essential-arm64 automake libtool uuid-dev libblkid-dev
git clone --depth=1 --branch rpi-6.2.y https://github.com/raspberrypi/linux
KERNEL=kernel8; make -j4 ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- bcm2711_defconfig
CONFIG_ZFS=y
to .config (in kernel dir):make -j4 ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- prepare
git clone https://github.com/openzfs/zfs
Instructions Kernel: https://www.raspberrypi.com/documentation/computers/linux_kernel.html
Instructions ZFS: #10450 (comment)
Include any warning/errors/backtraces from the system logs
The text was updated successfully, but these errors were encountered: