(SOLVED) BUG: MX-17.1 - zfs will not build with kernel 4.15

Report Bugs, Issues and non- package Requests
Message
Author
User avatar
Stevo
Developer
Posts: 12776
Joined: Fri Dec 15, 2006 8:07 pm

Re: BUG: MX-17.1 - zfs will not build with kernel 4.15

#11 Post by Stevo »

I can't reproduce your build error with the 4.15 MX kernel on my production system, either. :confused:

Can anyone else? The command I used to rebuild all dkms packages for all kernels was

Code: Select all

ls /var/lib/initramfs-tools | sudo xargs -n1 /usr/lib/dkms/dkms_autoinstaller start
Which also shows the configure process, where yours seemed to think it was a 32-bit system.

Code: Select all

Kernel preparation unnecessary for this kernel.  Skipping...

Running the pre_build script:
checking for gawk... gawk
checking metadata... META file
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking target system type... x86_64-pc-linux-gnu
checking whether to enable maintainer-specific portions of Makefiles... no
checking whether make supports nested variables... yes
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking whether make sets $(MAKE)... yes
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking whether gcc understands -c and -o together... yes
checking for style of include used by make... GNU
checking dependency style of gcc... none
checking how to print strings... printf
checking for a sed that does not truncate output... /bin/sed
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for fgrep... /bin/grep -F
checking for ld used by gcc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 1572864
checking how to convert x86_64-pc-linux-gnu file names to x86_64-pc-linux-gnu format... func_convert_file_noop
checking how to convert x86_64-pc-linux-gnu file names to toolchain format... func_convert_file_noop
checking for /usr/bin/ld option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for ar... ar
checking for archiver @FILE support... @
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking for sysroot... no
checking for a working dd... /bin/dd
checking how to truncate binary pipes... /bin/dd bs=4096 count=1
checking for mt... mt
checking if mt is a manifest tool... no
checking how to run the C preprocessor... gcc -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC -DPIC
checking if gcc PIC flag -fPIC -DPIC works... yes
checking if gcc static flag -static works... yes
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
checking dependency style of gcc... none
checking zfs author... OpenZFS on Linux
checking zfs license... CDDL
checking linux distribution... ubuntu
checking default package type... deb
checking default init directory... ${prefix}/etc/init.d
checking default init script type... lsb
checking default init config direectory... /etc/default
checking whether initramfs-tools is available... yes
checking whether rpm is available... no
checking whether rpmbuild is available... no
checking whether spec files are available... yes (rpm/generic/*.spec.in)
checking whether dpkg is available... yes (1.18.24)
checking whether dpkg-buildpackage is available... yes (1.18.24.)
checking whether alien is available... no
checking zfs config... kernel
checking for -Wno-unused-but-set-variable support... yes
checking for -Wno-bool-compare support... yes
checking whether host toolchain supports SSE... yes
checking whether host toolchain supports SSE2... yes
checking whether host toolchain supports SSE3... yes
checking whether host toolchain supports SSSE3... yes
checking whether host toolchain supports SSE4.1... yes
checking whether host toolchain supports SSE4.2... yes
checking whether host toolchain supports AVX... yes
checking whether host toolchain supports AVX2... yes
checking whether host toolchain supports AVX512F... yes
checking whether host toolchain supports AVX512CD... yes
checking whether host toolchain supports AVX512DQ... yes
checking whether host toolchain supports AVX512BW... yes
checking whether host toolchain supports AVX512IFMA... yes
checking whether host toolchain supports AVX512VBMI... yes
checking whether host toolchain supports AVX512PF... yes
checking whether host toolchain supports AVX512ER... yes
checking whether host toolchain supports AVX512VL... yes
checking for target asm dir... asm-x86_64
checking kernel source directory... /lib/modules/4.15.0-1-amd64/build
checking kernel build directory... /lib/modules/4.15.0-1-amd64/build
checking kernel source version... 4.15.0-1-amd64
checking kernel file name for module symbols... Module.symvers
checking spl source directory... /usr/src/spl-0.7.6
checking spl build directory... /var/lib/dkms/spl/0.7.6/4.15.0-1-amd64/x86_64
checking spl source version... 0.7.6-1~mx17+1
checking spl file name for module symbols... Module.symvers
checking whether modules can be built... yes
checking for compile-time stack validation (objtool)... yes
checking whether kernel was built with 16K or larger stacks... yes
checking whether kernel was built with CONFIG_DEBUG_LOCK_ALLOC... no
checking whether DECLARE_EVENT_CLASS() is available... no
checking whether current->bio_tail exists... no
checking whether current->bio_list exists... yes
checking whether super_block->s_user_ns exists... yes
checking whether submit_bio() wants 1 arg... yes
checking block device operation prototypes... struct block_device
checking whether block_device_operations.release is void... void
checking whether kernel defines fmode_t... yes
checking whether blkdev_get() wants 3 args... yes
checking whether blkdev_get_by_path() is available... yes
checking whether open_bdev_exclusive() is available... no
checking whether lookup_bdev() wants 1 arg... yes
checking whether invalidate_bdev() wants 1 arg... yes
checking whether bdev_logical_block_size() is available... yes
checking whether bdev_physical_block_size() is available... yes
checking whether bio has bi_iter... yes
checking whether BIO_RW_FAILFAST_* are defined... no
checking whether bio_set_dev() exists... yes
checking whether REQ_FAILFAST_MASK is defined... yes
checking whether REQ_OP_DISCARD is defined... yes
checking whether REQ_OP_SECURE_ERASE is defined... yes
checking whether REQ_OP_FLUSH is defined... yes
checking whether bio->bi_opf is defined... yes
checking whether bio_end_io_t wants 1 arg... yes
checking whether bio->bi_status exists... yes
checking whether BIO_RW_BARRIER is defined... no
checking whether BIO_RW_DISCARD is defined... no
checking whether blk_queue bdi is dynamic... yes
checking whether blk_queue_flush() is available... no
checking whether blk_queue_write_cache() exists... yes
checking whether blk_queue_write_cache() is GPL-only... yes
checking whether blk_queue_max_hw_sectors() is available... yes
checking whether blk_queue_max_segments() is available... yes
checking whether the BIO_RW_UNPLUG enum is available... no
checking whether struct blk_plug is available... yes
checking whether get_disk_ro() is available... yes
checking whether get_gendisk() is available... yes
checking whether bio_set_op_attrs is available... yes
checking whether generic_readlink is global... no
checking whether ql->discard_granularity is available... yes
checking whether super_block uses const struct xattr_handler... yes
checking whether xattr_handler has name... yes
checking whether xattr_handler->get() wants both dentry and inode... yes
checking whether xattr_handler->set() wants both dentry and inode... yes
checking whether xattr_handler->list() wants simple... yes
checking whether inode_owner_or_capable() exists... yes
checking whether posix_acl_from_xattr() needs user_ns... yes
checking whether posix_acl_release() is available... yes
checking whether posix_acl_release() is GPL-only... yes
checking whether set_cached_acl() is usable... yes
checking whether posix_acl_chmod exists... no
checking whether __posix_acl_chmod exists... yes
checking whether posix_acl_equiv_mode() wants umode_t... yes
checking whether posix_acl_valid() wants user namespace... yes
checking whether iops->permission() exists... yes
checking whether iops->permission() wants nameidata... no
checking whether iops->check_acl() exists... no
checking whether iops->check_acl() wants flags... no
checking whether iops->get_acl() exists... yes
checking whether iops->set_acl() exists... yes
checking whether iops->getattr() takes a path... yes
checking whether iops->getattr() takes a vfsmount... no
checking whether inode_set_flags() exists... yes
checking whether uncached_acl_sentinel() exists... yes
checking whether sops->show_options() wants dentry... yes
checking whether file_inode() is available... yes
checking whether file_dentry() is available... yes
checking whether fops->fsync() wants... range
checking whether sops->evict_inode() exists... yes
checking whether sops->dirty_inode() wants flags... yes
checking whether sops->nr_cached_objects() exists... no
checking whether sops->free_cached_objects() exists... no
checking whether fops->fallocate() exists... yes
checking whether iops->fallocate() exists... no
checking whether fops->aio_fsync() exists... no
checking whether iops->create()/mkdir()/mknod() take umode_t... yes
checking whether iops->lookup() passes nameidata... no
checking whether iops->create() passes nameidata... no
checking whether iops->get_link() passes delayed... yes
checking whether i_op->tmpfile() exists... yes
checking whether iops->truncate_range() exists... no
checking whether dops->d_automount() exists... yes
checking whether eops->encode_fh() wants inode... yes
checking whether eops->commit_metadata() exists... yes
checking whether clear_inode() is available... yes
checking whether setattr_prepare() is available... yes
checking whether insert_inode_locked() is available... yes
checking whether d_make_root() is available... yes
checking whether d_obtain_alias() is available... yes
checking whether d_prune_aliases() is available... yes
checking whether d_set_d_op() is available... yes
checking whether dops->d_revalidate() takes struct nameidata... no
checking whether dentry uses const struct dentry_operations... yes
checking whether truncate_setsize() is available... yes
checking whether security_inode_init_security wants 6 args... no
checking whether security_inode_init_security wants callback... yes
checking whether mount_nodev() is available... yes
checking whether super_block has s_shrink... no
checking whether shrink_control has nid... yes
checking whether super_block has s_instances list_head... no
checking whether super_block has s_d_op... yes
checking whether super_setup_bdi_name() exists... yes
checking whether set_nlink() is available... yes
checking whether elevator_change() is available... no
checking whether sget() wants 5 args... yes
checking whether lseek_execute() is available... no
checking whether fops->iterate_shared() is available... yes
checking whether fops->read/write_iter() are available... yes
checking whether new_sync_read/write() are available... no
checking whether generic_write_checks() takes kiocb... yes
checking whether kmap_atomic wants 1 args... yes
checking whether follow_down_one() is available... yes
checking whether make_request_fn() returns int... no
checking whether make_request_fn() returns void... no
checking whether make_request_fn() returns blk_qc_t... yes
checking whether 3 arg generic IO accounting symbols are available... no
checking whether 4 arg generic IO accounting symbols are available... yes
checking whether asm/fpu/api.h exists... yes
checking whether i_(uid|gid)_(read|write) exist... yes
checking whether module_param_call() is hardened... yes
checking whether iops->rename() wants flags... yes
checking whether generic_setxattr() exists... no
checking whether current_time() exists... yes
checking whether to use vm_node_stat based fn's... yes
checking whether debugging is enabled... no
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating module/Makefile
config.status: creating module/avl/Makefile
config.status: creating module/nvpair/Makefile
config.status: creating module/unicode/Makefile
config.status: creating module/zcommon/Makefile
config.status: creating module/zfs/Makefile
config.status: creating module/zpios/Makefile
config.status: creating module/icp/Makefile
config.status: creating include/Makefile
config.status: creating include/linux/Makefile
config.status: creating include/sys/Makefile
config.status: creating include/sys/fs/Makefile
config.status: creating include/sys/fm/Makefile
config.status: creating include/sys/fm/fs/Makefile
config.status: creating include/sys/crypto/Makefile
config.status: creating include/sys/sysevent/Makefile
config.status: creating zfs.release
config.status: creating zfs_config.h
config.status: executing depfiles commands
config.status: executing libtool commands

Building module:
cleaning build area...
make -j4 KERNELRELEASE=4.15.0-1-amd64........................

Running the post_build script:
cleaning build area...

DKMS: build completed.

zavl.ko:
Running module version sanity check.
 - Original module
   - No original module exists within this kernel
 - Installation
   - Installing to /lib/modules/4.15.0-1-amd64/extra/zfs/zavl/

zcommon.ko:
Running module version sanity check.
 - Original module
   - No original module exists within this kernel
 - Installation
   - Installing to /lib/modules/4.15.0-1-amd64/extra/zfs/zcommon/

znvpair.ko:
Running module version sanity check.
 - Original module
   - No original module exists within this kernel
 - Installation
   - Installing to /lib/modules/4.15.0-1-amd64/extra/zfs/znvpair/

zpios.ko:
Running module version sanity check.
 - Original module
   - No original module exists within this kernel
 - Installation
   - Installing to /lib/modules/4.15.0-1-amd64/extra/zfs/zpios/

zunicode.ko:
Running module version sanity check.
 - Original module
   - No original module exists within this kernel
 - Installation
   - Installing to /lib/modules/4.15.0-1-amd64/extra/zfs/zunicode/

zfs.ko:
Running module version sanity check.
 - Original module
   - No original module exists within this kernel
 - Installation
   - Installing to /lib/modules/4.15.0-1-amd64/extra/zfs/zfs/

icp.ko:
Running module version sanity check.
 - Original module
   - No original module exists within this kernel
 - Installation
   - Installing to /lib/modules/4.15.0-1-amd64/extra/zfs/icp/

depmod...

DKMS: install completed.
. ok 

User avatar
Stevo
Developer
Posts: 12776
Joined: Fri Dec 15, 2006 8:07 pm

Re: BUG: MX-17.1 - zfs will not build with kernel 4.15

#12 Post by Stevo »

I also just tried it the terminal in a live session of 17.1_x64.

Code: Select all

sudo apt install zfs-dkms
I first got a ncurses dialog about the license issue, then got a second one about it not being able to determine if it was a 32 or 64-bit kernel. I told it to go ahead and try to build anyway, and the build was successful. Go figure.

kingneutron
Posts: 10
Joined: Mon Mar 19, 2018 7:54 pm

Re: BUG: MX-17.1 - zfs will not build with kernel 4.15

#13 Post by kingneutron »

TL,DR: my original MX17 host with P2V MX17 virtualbox Linux guest works OK with kernel 4.15-5 and latest ZFS:

--Well, now I'm a bit confused - I started this thread on another (older) AMD 6-core PC, and my "main" 6-core AMD PC with MX17 (NOT installed from the latest recent iso) running Virtualbox 5.2.6 had good results with updating ZFS in a host P2V VM... I suspect that starting the update from kernel 4.9 helped.

--The problem seems to stem in part from installing the new VM via the recent MX17-1 ISO, which boots kernel 4.15 by default. I can try installing kernel 4.9 in the original problematic PC/VM and test from there...

(running from kernel 4.9.0-5 in-vm on my main PC, not the one from my original report):

Code: Select all

2018.0322 VM snapshot && test update zfs with kernel 4.15
[[
The following package was automatically installed and is no longer required:
  libgles1-mesa
Use 'apt autoremove' to remove it.
The following packages have been kept back:
  apt-notifier libreoffice-avmedia-backend-gstreamer libreoffice-base libreoffice-base-core
  libreoffice-base-drivers libreoffice-calc libreoffice-common libreoffice-core libreoffice-draw
  libreoffice-gtk2 libreoffice-help-en-us libreoffice-impress libreoffice-java-common
  libreoffice-math libreoffice-pdfimport libreoffice-report-builder-bin libreoffice-sdbc-hsqldb
  libreoffice-style-galaxy libreoffice-writer lightdm-gtk-greeter-mx17 live-usb-maker mx-apps
  mx-packageinstaller mx-packageinstaller-pkglist uno-libs3 ure
The following packages will be upgraded:
  adobe-flash-properties-gtk adobe-flashplugin antix-libs apt-mx base-files bind9-host
  broadcom-sta-dkms bsdutils checkaptgpg cli-aptix cli-installer-antix cli-shell-utils
  conky-toggle-mx cpp-6 cron cups cups-bsd cups-client cups-common cups-core-drivers cups-daemon
  cups-ppdc cups-server-common curl dbus dbus-x11 ddm-mx desktop-defaults-xfce-mx17 dnsutils
  featherpad firefox fonts-opensymbol g++-6 gcc-6 gcc-6-base gir1.2-gdkpixbuf-2.0
  gir1.2-javascriptcoregtk-4.0 gir1.2-webkit2-4.0 host intel-microcode libapparmor1 libasan3
  libatk-wrapper-java libatk-wrapper-java-jni libatomic1 libbind9-140 libblkid1 libc-bin
  libc-dev-bin libc-l10n libc6 libc6-dev libcc1-0 libcilkrts5 libcups2 libcupscgi1 libcupsimage2
  libcupsmime1 libcupsppdc1 libcurl3 libcurl3-gnutls libdbus-1-3 libdirectfb-1.2-9
  libdns-export162 libdns162 libfdisk1 libgcc-6-dev libgcc1 libgdk-pixbuf2.0-0
  libgdk-pixbuf2.0-common libgfortran3 libgomp1 libisc-export160 libisc160 libisccc140
  libisccfg140 libitm1 libjavascriptcoregtk-4.0-18 liblsan0 liblwres141 libmount1 libmpx2
  libncurses5 libncursesw5 libnss-myhostname libnvpair1linux libpam-systemd libpoppler-glib8
  libpoppler-qt5-1 libpoppler64 libquadmath0 libsmartcols1 libsmbclient libsoundtouch1
  libstdc++-6-dev libstdc++6 libsystemd0 libtasn1-6 libtiff-tools libtiff5 libtinfo5 libtsan0
  libubsan0 libudev1 libuuid1 libuutil1linux libvorbis0a libvorbisenc2 libvorbisfile3
  libvorbisidec1 libvpx4 libwavpack1 libwbclient0 libwebkit2gtk-4.0-37 libxml2 libxnvctrl0
  libzfs2linux libzpool2linux linux-compiler-gcc-6-x86 linux-kbuild-4.9 linux-libc-dev
  live-kernel-updater live-usb-maker-gui locales mount multiarch-support mx-bootrepair mx-codecs
  mx-conky mx-conky-data mx-docs mx-goodies mx-idevice-mounter mx-installer mx-iso-template
  mx-menu-editor mx-network-assistant mx-remaster mx-remastercc mx-repo-manager mx-select-sound
  mx-snapshot mx-system mx-system-sounds mx-tools mx-tweak mx-usb-unmounter mx-user mx-viewer
  mx-welcome ncurses-base ncurses-bin ncurses-term ndiswrapper ndiswrapper-dkms
  ndiswrapper-utils-1.9 ntp ntpdate nvidia-detect openjdk-8-jre openjdk-8-jre-headless
  openssh-client p7zip p7zip-full partition-info poppler-utils python-samba samba samba-common
  samba-common-bin samba-libs smbclient smtube smxi-inxi-antix spl spl-dkms systemd thunderbird
  tlp transmission-common transmission-gtk tzdata udev util-linux virtualbox-guest-dkms
  virtualbox-guest-utils virtualbox-guest-x11 wavpack xscreensaver xscreensaver-data zfs-dkms
  zfsutils-linux
192 upgraded, 0 newly installed, 0 to remove and 26 not upgraded.
Need to get 291 MB of archives.
After this operation, 32.7 MB of additional disk space will be used.
Do you want to continue? [Y/n]y

Setting up dbus (1.10.26-0+deb9u1) ...
A reboot is required to replace the running dbus-daemon.
Please reboot the system when convenient.

## rebooted into kernel 4.13 -- ZFS modules still will not load

## rebooted into kernel 4.9.0-5 == OK

# del-old-kernel.sh 4.13.0-1-amd64
-rw-r--r-- 1 root root   196565 Nov 18 13:50 config-4.13.0-1-amd64
-rw-r--r-- 1 root root 25600296 Mar 22 21:35 initrd.img-4.13.0-1-amd64
-rw-r--r-- 1 root root 25585981 Mar 22 21:22 initrd.img-4.13.0-1-amd64.old-dkms
-rw-r--r-- 1 root root  2998167 Nov 18 13:50 System.map-4.13.0-1-amd64
-rw-r--r-- 1 root root  4454160 Nov 18 13:50 vmlinuz-4.13.0-1-amd64
The following packages were automatically installed and are no longer required:
  libgles1-mesa linux-headers-4.13.0-1-common linux-kbuild-4.13
Use 'apt autoremove' to remove them.
The following packages will be REMOVED:
  linux-headers-4.13.0-1-amd64* linux-image-4.13.0-1-amd64*
0 upgraded, 0 newly installed, 2 to remove and 26 not upgraded.
After this operation, 201 MB disk space will be freed.
Do you want to continue? [Y/n]y

# apt-cache search 4.15.5|grep amd64|awk '{printf $1" "}'
linux-headers-4.15.5-antix.1-amd64-smp linux-image-4.15.5-antix.1-amd64-smp 

+ upgraded kernel to 4.15 
# apt-get install linux-headers-4.15.5-antix.1-amd64-smp linux-image-4.15.5-antix.1-amd64-smp 
[[
The following NEW packages will be installed:
  linux-headers-4.15.5-antix.1-amd64-smp linux-image-4.15.5-antix.1-amd64-smp
0 upgraded, 2 newly installed, 0 to remove and 26 not upgraded.
Need to get 57.1 MB of archives.
After this operation, 341 MB of additional disk space will be used.

## rebooted into kernel 4.15 == OK

# zpool status -v
  pool: ztestpool1
 state: ONLINE
status: Some supported features are not enabled on the pool. The pool can
        still be used, but some features are unavailable.
action: Enable all features using 'zpool upgrade'. Once this is done,
        the pool may no longer be accessible by software that does not support
        the features. See zpool-features(5) for details.
  scan: none requested
config: 
        NAME                                     STATE     READ WRITE CKSUM
        ztestpool1                               ONLINE       0     0     0
          ata-VBOX_HARDDISK_VB02254f50-48c612f1  ONLINE       0     0     0
errors: No known data errors

# dpkg -l|grep zfs;uname -a
ii  libzfs2linux                           0.7.6-1~mx17+1                    amd64        OpenZFS filesystem library for Linux
ii  zfs-dkms                               0.7.6-1~mx17+1                    all          OpenZFS filesystem kernel modules for Linux
ii  zfsutils-linux                         0.7.6-1~mx17+1                    amd64        command-line tools to manage OpenZFS filesystems
Linux mx1vb 4.15.5-antix.1-amd64-smp #2 SMP PREEMPT Fri Feb 23 12:27:47 EET 2018 x86_64 GNU/Linux
]]

kingneutron
Posts: 10
Joined: Mon Mar 19, 2018 7:54 pm

Re: BUG: MX-17.1 - zfs will not build with kernel 4.15

#14 Post by kingneutron »

:number1:

--OK good news everyone, on the original AMD 6-core/VM I now have the latest ZFS working with kernel 4.15 -- BUT I had to downgrade to kernel 4.9 first to do it. And THEN upgrade kernel 4.15 to a later version than what the most recent MX17-1 ISO is installing with.

Code: Select all

NOTE - rolling back kernel to 4.9 and retrying ZFS upgrade:
[[
## Currently running kernel 4.15.0-1-amd64

# apt-cache search 4.9.87-antix.1-amd64-smp |awk '{printf $1" "}'
linux-headers-4.9.87-antix.1-amd64-smp linux-image-4.9.87-antix.1-amd64-smp

# apt-get install linux-headers-4.9.87-antix.1-amd64-smp linux-image-4.9.87-antix.1-amd64-smp

## reboot into kernel 4.9

# apt-get install --reinstall zfs-dkms

## Verified ZFS is OK in 4.9
# modprobe zfs; zpool status -v

## - Uninstalled kernel 4.15.0-1-amd64
# del-old-kernel.sh 4.15.0-1-amd64
-rw-r--r-- 1 root root   197971 Feb 23 17:26 config-4.15.0-1-amd64
-rw-r--r-- 1 root root 28456658 Mar 19 18:20 initrd.img-4.15.0-1-amd64
-rw-r--r-- 1 root root  3083042 Feb 23 17:26 System.map-4.15.0-1-amd64
-rw-r--r-- 1 root root  4925200 Feb 23 17:26 vmlinuz-4.15.0-1-amd64
The following packages were automatically installed and are no longer required:
  linux-headers-4.15.0-1-common linux-kbuild-4.15
Use 'apt autoremove' to remove them.
The following packages will be REMOVED:
  linux-headers-4.15.0-1-amd64* linux-image-4.15.0-1-amd64*
0 upgraded, 0 newly installed, 2 to remove and 2 not upgraded.
After this operation, 257 MB disk space will be freed.
Do you want to continue? [Y/n] y

+ upgraded kernel 4.15 to 4.15.5
# apt-cache search 4.15.5-antix.1-amd64-smp |awk '{printf $1" "}'
linux-headers-4.15.5-antix.1-amd64-smp linux-image-4.15.5-antix.1-amd64-smp

# apt-get install linux-headers-4.15.5-antix.1-amd64-smp linux-image-4.15.5-antix.1-amd64-smp
Need to get 57.1 MB of archives.
After this operation, 341 MB of additional disk space will be used.

## rebooted OK into 4.15.5

# modprobe zfs

# uname -a; zpool status -v; dpkg -l|egrep 'zfs|spl-'
Linux mx17vmpav 4.15.5-antix.1-amd64-smp #2 SMP PREEMPT Fri Feb 23 12:27:47 EET 2018 x86_64 GNU/Linux

no pools available

ii  libzfs2linux                           0.7.6-1~mx17+1                    amd64        OpenZFS filesystem library for Linux
ii  spl-dkms                               0.7.6-1~mx17+1                    all          Solaris Porting Layer kernel modules for Linux
ii  zfs-dkms                               0.7.6-1~mx17+1                    all          OpenZFS filesystem kernel modules for Linux
ii  zfsutils-linux                         0.7.6-1~mx17+1                    amd64        command-line tools to manage OpenZFS filesystems

ZFS updated OK :)
--For convenience, since del-old-kernel is a BASH script that I wrote, I have attached it to this thread. Unpack it in /root and have /root/bin in your PATH (see ~/.bashrc ) to run it.
# cd /root; tar xzpvf del-old-kernel.tar.gz

PLEASE NOTE that the script is fairly basic, I accept no responsibility for accidental misuse! Make sure you have at least (2) known-good kernels available to boot.

--For everyone involved in this bug report and fixes, and especially the rest of the MX Team, THANK YOU!!! :happy:
You do not have the required permissions to view the files attached to this post.

kingneutron
Posts: 10
Joined: Mon Mar 19, 2018 7:54 pm

Re: (SOLVED) BUG: MX-17.1 - zfs will not build with kernel 4.15

#15 Post by kingneutron »

--Just a thought to the MX Team -- you might want to inform Distrowatch.com (with a link to this thread? after some testing?) that MX17 can now run the latest ZFS with kernel 4.15 -- so you can make the Monday Weekly News update :cool:

User avatar
Stevo
Developer
Posts: 12776
Joined: Fri Dec 15, 2006 8:07 pm

Re: (SOLVED) BUG: MX-17.1 - zfs will not build with kernel 4.15

#16 Post by Stevo »

Did you ever get that box pop up during the zfs-dkms install on the 4.15 kernel where it said it could not determine if the kernel was 32 or 64-bit, and if you wanted to proceed anyway? I'm wondering if they just thought everyone would be installing it from the terminal and not in some GUI, and if you didn't see it and say "go ahead anyway", that would have led to your original error.

Another thing to wonder about is why a successful install on another kernel, like mine on the Liquorix kernel or yours on the 4.9 kernel, seems to clear up any confusion that zfs-dkms seems to have about the architecture of the MX 4.15 kernel.

kingneutron
Posts: 10
Joined: Mon Mar 19, 2018 7:54 pm

Re: (SOLVED) BUG: MX-17.1 - zfs will not build with kernel 4.15

#17 Post by kingneutron »

> Did you ever get that box pop up during the zfs-dkms install on the 4.15 kernel where it said it could not determine if the kernel was 32 or 64-bit, and if you wanted to proceed anyway?

--Nope. There were no popups like that when ZFS installed in the kernel 4.9 environment or in 4.15-5.

Post Reply

Return to “Bugs and Non-Package Requests Forum”