Hi, After some online searching I found the cause to this:
$ sudo nixos-rebuild switch -I nixpkgs=. [...] installing the GRUB 2 boot loader on /dev/disk/by-label/240gb... Installing for i386-pc platform. /nix/store/3aj2bp2d9vxy2hrmh9q69n5ydxh9gzd3-grub-2.02-git-1de3a4/sbin/grub-install: warning: File system `ext2' doesn't support embedding. /nix/store/3aj2bp2d9vxy2hrmh9q69n5ydxh9gzd3-grub-2.02-git-1de3a4/sbin/grub-install: warning: Embedding is not possible. GRUB can only be installed in this setup by using blocklists. However, blocklists are UNRELIABLE and their use is discouraged.. /nix/store/3aj2bp2d9vxy2hrmh9q69n5ydxh9gzd3-grub-2.02-git-1de3a4/sbin/grub-install: error: will not proceed with blocklists. /nix/store/w7rgpbyqfcz0xfjhmcn05sp6zig8gx8w-install-grub.pl: installation of GRUB on /dev/disk/by-label/240gb failed For the last 1-2 years I've had boot.loader.grub.device = "/dev/disk/by-label/240gb" in my configuration.nix. But that path points to the first _parition_ of my disk (not the disk itself): $ readlink -f /dev/disk/by-label/240gb /dev/sdb1 I guess the grub we used to have managed to install to the MBR even though I gave it the first partition. But now it doesn't. Possible solutions: 1) Specify /dev/sdb instead of /disk/by-label/* in configuration.nix. Downside: /dev/sdb isn't a stable name. 2) Specify /disk/by-id/*. This namespace has both partitions and raw disk nodes, unliike the "by-label" namespace. Downside: ugly names like "ata-KINGSTON_SH103S3120G_50026B722600AA5F". 3) Tweak install-grub.pl to change partition device nodes into disk nodes (/dev/sdb1 => /dev/sdb) before calling grub-install. Downside: none? (I don't know). Upside: can continue to use stable and human friendly disk name. Thoughts? Best regards, Bjørn Forsman _______________________________________________ nix-dev mailing list [email protected] http://lists.science.uu.nl/mailman/listinfo/nix-dev
