You are not logged in.
Hey all, I am new to Arch, but was a gentoo user before. I have a question about how to recompile third party module for a new kernel. I can not find any threads about it.
I have a system with root fs zfs by following the howto Installing_Arch_Linux_on_ZFS, everything works fine.
Recently I did a pacman -Syu and the kernel is updated, errors occured. But I do not know how to fix the problem.
[2012-11-01 01:26] ==> Building image from preset: 'default'
[2012-11-01 01:26] -> -k /boot/vmlinuz-linux-lts -c /etc/mkinitcpio.conf -g /boot/initramfs-linux-lts.img
[2012-11-01 01:26] ==> Starting build: 3.0.49-1-lts
[2012-11-01 01:26] -> Running build hook: [base]
[2012-11-01 01:26] -> Running build hook: [udev]
[2012-11-01 01:26] -> Running build hook: [autodetect]
[2012-11-01 01:26] -> Running build hook: [pata]
[2012-11-01 01:26] -> Running build hook: [scsi]
[2012-11-01 01:26] -> Running build hook: [sata]
[2012-11-01 01:26] -> Running build hook: [zfs]
[2012-11-01 01:26] ==> ERROR: module not found: `zfs'
[2012-11-01 01:26] ==> ERROR: module not found: `zcommon'
[2012-11-01 01:26] ==> ERROR: module not found: `znvpair'
[2012-11-01 01:26] ==> ERROR: module not found: `zavl'
[2012-11-01 01:26] ==> ERROR: module not found: `zunicode'
[2012-11-01 01:26] ==> ERROR: module not found: `spl'
[2012-11-01 01:26] -> Running build hook: [filesystems]
[2012-11-01 01:26] -> Running build hook: [usbinput]
[2012-11-01 01:26] ==> Generating module dependencies
[2012-11-01 01:26] ==> Creating gzip initcpio image: /boot/initramfs-linux-lts.img
[2012-11-01 01:26] ==> WARNING: errors were encountered during the build. The image may not be complete.
The errors are from third party spl/zfs modules. pacman -U spl/zfs only installs modules for currently running modules, not the new kernel. I can not boot into the new kernel and recompile the third party modules since the root fs is zfs. What should I do to recompile those modules for the newly updated kernel, before using the newly updated kernel?
Last edited by blackwhite (2012-11-02 03:35:13)
Offline
You have to build the modules against each new kernel. Thus you are going to need to chroot from the live media, and then get the necessary pkgbuilds, edit them to build against what you want to build them against, and then install.
Offline
Offline
Thank all. I have fixed the problem. It seems I have to use livecd with zfs to chroot the broken system, and just reinstall the newest linux kernel (pacman -Ulinux-lts-3.0.49-1-x86_64.pkg.tar.xz ), it will find the spl/zfs module and mkinitcpio -p correctly.
BTW, in the chroot environment, the spl/zfs AUR still failed to figure it which kernel the system use, always use the current running kernel version on livecd to compile.
Offline
Thank all. I have fixed the problem. It seems I have to use livecd with zfs to chroot the broken system, and just reinstall the newest linux kernel (pacman -Ulinux-lts-3.0.49-1-x86_64.pkg.tar.xz ), it will find the spl/zfs module and mkinitcpio -p correctly.
BTW, in the chroot environment, the spl/zfs AUR still failed to figure it which kernel the system use, always use the current running kernel version on livecd to compile.
Right. chroot'ing doesn't change your kernel. There's assuredly build options to let you compile against a different kernel.
Offline
blackwhite wrote:Thank all. I have fixed the problem. It seems I have to use livecd with zfs to chroot the broken system, and just reinstall the newest linux kernel (pacman -Ulinux-lts-3.0.49-1-x86_64.pkg.tar.xz ), it will find the spl/zfs module and mkinitcpio -p correctly.
BTW, in the chroot environment, the spl/zfs AUR still failed to figure it which kernel the system use, always use the current running kernel version on livecd to compile.Right. chroot'ing doesn't change your kernel. There's assuredly build options to let you compile against a different kernel.
Would you step further, give me the right options to build a aur package against a different kernel. Thanks.
Offline