Hi,
I’m using nixops to manage few machines at home and I often have the problem that I can’t update my Raspberry PI 3 because nixops can’t find the kernel derivation in the binary cache and it can’t build it locally.
The exact error is:
error: a ‘aarch64-linux’ with features {big-parallel} is required to build ‘/nix/store/xcir72yqwxk91mgm7x9k3n4ivs6xasnw-linux-4.19.81.drv’, but I am a ‘x86_64-linux’ with features {benchmark, big-parallel, kvm, nixos-test}
Traceback (most recent call last):
I’m aware that it can’t build the kernel on my raspberry pi (and I don’t want to) because even if it is configured as build machine it doesn’t have the big-parallel feature, what I don’t understand is why is it happening; I’m using
$ nix-channel --list
nixpkgs nixos-19.09-small release nixos-19.09.2522.75f4ba05c63
shouldn’t this channel being updated after all derivations have been built?
If it is not the case, how do I know that the cache is updated?
I tried to understand how the hydra jobs are setup, currently Hydra - Jobset nixos:release-19.09-small is green but maybe should I check if Hydra - Jobset nixos:release-19.09-aarch64 completed successfully? (I was not able to find a 19.09-aarch64-small)
Now and then I’m able to get a new prebuilt kernel from the cache, so I’m not using any strange kernel configuration that it is requiring to always build the kernel locally.
Do you have any suggestion that I can use to make my server update more reliable?
Thanks