Is it possible to use an unstable kernel with stable?

Is it possible to run an unstable Kernel on stable? I tried the following on a virtualbox guest and it fails while trying to build VirtualBox-GuestAdditions’s modules I think.

I have this in my configuration.nix.

nixpkgs.config = {
  allowUnfree = true;
  packageOverrides = pkgs: {
    unstable = import <nixos-unstable> {
      config = config.nixpkgs.config;
    };
  };
};

boot.kernelPackages = with pkgs; unstable.linuxPackages_4_17 ;
sudo nix-channel --list
nixos https://nixos.org/channels/nixos-18.03
nixos-unstable https://nixos.org/channels/nixos-unstable

error

sudo nixos-rebuild switch
[...]
In file included from /tmp/nix-build-VirtualBox-GuestAdditions-5.2.12-4.17.drv-0/install/src/vboxguest-5.2.12/vboxvideo/vbox_drv.h:68:0,
                 from /tmp/nix-build-VirtualBox-GuestAdditions-5.2.12-4.17.drv-0/install/src/vboxguest-5.2.12/vboxvideo/vbox_ttm.c:31:
/nix/store/apcw8p1lwjk0k0fsqgl11k14v5a8d72i-linux-4.17-dev/lib/modules/4.17.0/source/include/drm/ttm/ttm_bo_api.h:544:5: note: declared here
 int ttm_bo_init(struct ttm_bo_device *bdev, struct ttm_buffer_object *bo,
     ^~~~~~~~~~~
make[5]: *** [/nix/store/apcw8p1lwjk0k0fsqgl11k14v5a8d72i-linux-4.17-dev/lib/modules/4.17.0/source/scripts/Makefile.build:312: /tmp/nix-build-VirtualBox-GuestAdditions-5.2.12-4.17.drv-0/install/src/vboxguest-5.2.12/vboxvideo/vbox_ttm.o] Error 1
make[5]: *** Waiting for unfinished jobs....
make[4]: *** [/nix/store/apcw8p1lwjk0k0fsqgl11k14v5a8d72i-linux-4.17-dev/lib/modules/4.17.0/source/Makefile:1571: _module_/tmp/nix-build-VirtualBox-GuestAdditions-5.2.12-4.17.drv-0/install/src/vboxguest-5.2.12/vboxvideo] Error 2
make[3]: *** [Makefile:146: sub-make] Error 2
make[2]: *** [Makefile:24: __sub-make] Error 2
make[2]: Leaving directory '/nix/store/apcw8p1lwjk0k0fsqgl11k14v5a8d72i-linux-4.17-dev/lib/modules/4.17.0/build'
make[1]: *** [/tmp/nix-build-VirtualBox-GuestAdditions-5.2.12-4.17.drv-0/install/src/vboxguest-5.2.12/vboxvideo/Makefile.include.footer:101: vboxvideo] Error 2
make[1]: Leaving directory '/tmp/nix-build-VirtualBox-GuestAdditions-5.2.12-4.17.drv-0/install/src/vboxguest-5.2.12/vboxvideo'
make: *** [Makefile:34: all] Error 1
builder for '/nix/store/7sygwdigp0xbpazdg27ism74awh6vcn9-VirtualBox-GuestAdditions-5.2.12-4.17.drv' failed with exit code 2
cannot build derivation '/nix/store/sfg69xc2lh1jlph62gf65mwffvbxcnmy-kernel-modules.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/dywv5c3snqb66byv8n9k1k4k8vrsyh0f-system-path.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/qcy08xa60104pj87j4dx6dsnyjc4i2ix-unit-virtualbox.service.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/x5gznyz2lyab3nhyclz32sccdvybnd2z-xserver.conf.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/brgnirw4xzqrxcdaacbwlxnkrpigi85z-xsession.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/a39ljm42fxyd8b08k1qmi27ajqd4hm73-nixos-system-nixos-18.03.132687.14c248a4ab7.drv': 1 dependencies couldn't be built
error: build of '/nix/store/a39ljm42fxyd8b08k1qmi27ajqd4hm73-nixos-system-nixos-18.03.132687.14c248a4ab7.drv' failed
1 Like

Can you try again with virtualbox disabled and report back?

It works if I disable virtualisation.virtualbox.guest.enable = true; in hardware-configuration.nix.

[bidon@nixos:~]$ uname -a
Linux nixos 4.17.0 #1-NixOS SMP Sun Jun 3 21:15:21 UTC 2018 x86_64 GNU/Linux
1 Like

TL;DR: It looks like VirtualBox is not compatible with the latest Kernel. See Search · virtualbox guest · GitHub


First I had a look at nixpkgs/virtualbox-guest.nix at release-18.03 · NixOS/nixpkgs · GitHub to understand how the guest additions interface with the rest and see if there would be any compatibility issues. Looking at the code, the only interface is that kernel.virtualboxGuestAddition needs to exist, so taking a kernel from a different release should work.

So it must be kernel.virtualboxGuestAddition that is broken in unstable.

$ nix build -f "channel:nixos-unstable" linuxPackages_4_17.virtualboxGuestAdditions
builder for '/nix/store/7sygwdigp0xbpazdg27ism74awh6vcn9-VirtualBox-GuestAdditions-5.2.12-4.17.drv' failed with exit code 2; last 10 log lines:
       ^~~~~~~~~~~
  make[5]: *** [/nix/store/apcw8p1lwjk0k0fsqgl11k14v5a8d72i-linux-4.17-dev/lib/modules/4.17.0/source/scripts/Makefile.build:312: /build/install/src/vboxguest-5.2.12/vboxvideo/vbox_ttm.o] Error 1
  make[5]: *** Waiting for unfinished jobs....
  make[4]: *** [/nix/store/apcw8p1lwjk0k0fsqgl11k14v5a8d72i-linux-4.17-dev/lib/modules/4.17.0/source/Makefile:1571: _module_/build/install/src/vboxguest-5.2.12/vboxvideo] Error 2
  make[3]: *** [Makefile:146: sub-make] Error 2
  make[2]: *** [Makefile:24: __sub-make] Error 2
  make[2]: Leaving directory '/nix/store/apcw8p1lwjk0k0fsqgl11k14v5a8d72i-linux-4.17-dev/lib/modules/4.17.0/build'
  make[1]: *** [/build/install/src/vboxguest-5.2.12/vboxvideo/Makefile.include.footer:101: vboxvideo] Error 2
  make[1]: Leaving directory '/build/install/src/vboxguest-5.2.12/vboxvideo'
  make: *** [Makefile:34: all] Error 1
[0 built (1 failed), 8 copied (217.2 MiB), 118.1 MiB DL]
error: build of '/nix/store/7sygwdigp0xbpazdg27ism74awh6vcn9-VirtualBox-GuestAdditions-5.2.12-4.17.drv' failed

Yup. Let’s see if anybody is having the same issue on GitHub. Searching nixpkgs for “virtualbox guest”, the first issue is: Virtualbox guest additions build failure with linuxPackages_latest · Issue #41360 · NixOS/nixpkgs · GitHub . Looks related.

1 Like

Thank you very much. :grinning:

1 Like