[Nix-dev] NixOS Xen guest and blkfront

Alexander Foremny alexanderforemny at googlemail.com
Mon May 14 16:45:33 CEST 2012


Hello,

I managed to install NixOS on a Rackspace Cloud Server [1]. In
particular, in configuration.nix I am using the following
configuration parts.

>  require = [
>    "${modulesPath}/virtualisation/xen-domU.nix"
>  ];

>  fileSystems = [
>    { mountPoint = "/";
>      device = "/dev/xvda1";
>    }
>  ];

When trying to exit Rescue Mode and booting into the NixOS system I
get the following (for this problem relevant) messages during boot:

> <<< NixOS Stage 1 >>>
> loading module xen-blkfront
> blkfront: xvda: barrier enabled
> blkfront: xvdc: barrier enabled
> mounting /dev/xvda1 on /...

> <<< NixOS Stage 2 >>>
> running activation script...
> setting up /etc...
> updating groups...
> updating users...
> blkfront: barrier: empty write xvda op failed
> blkfront: xvda: barrier or flush: disabled
> end_request: I/O error, dev xvda, sector 9443896
> end_request: I/O error, dev xvda, sector 9443896
> Buffer I/O error on device xvda1, logical block 1180341
> lost page write due to I/O error on xvda1
> Aborting journal on device xvda1
> EXT-3-fs (xvda1): error: ext3_journal_start_sb: Detected aborted journal
> EXT-3-fs (xvda1): error: remounting filesystem read-only

Then / remains mounted in read-only mode and thus NixOS cannot start
up any services. This is an error that seems to be known [2]. There it
is suggested to mount the root partition with barrier=0 option. I
edited /boot/grub/menu.lst and appended the following option to the
kernel line.

> rootflags=barrier=0

Also, I changed my configuration.nix to include the following line,
just to be sure and to possibly drop the manual change from
/boot/grub/menu.lst.

>  fileSystems = [
>    { mountPoint = "/";
>      device = "/dev/xvda1";
>      options = "barrier=0";
>    }
>  ];

I can correctly see the barrier=0 option in /etc/fstab. However, the
problem persists as described above. Also, during boot before NixOS
Stage 1 kicks in I can see the following line, which I believe comes
from the changed menu.lst.

>  Command line: systemConfig=/nix/store/xy19d9bs1bzgbqc31nq0j0xkxy00sngy-nixos-0.1pre34086-34079 init=/nix/store/xy19d9bs1bzgbqc31nq0j0xkxy00sngy-nixos-0.1pre34086-34079/init rootflags=barrier=0

Does anyone have any suggestions what I can try to resolve this?

[1] http://nixos.org/wiki/Install_NixOS_on_Rackspace_Cloud_Servers
[2] http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=637234


More information about the nix-dev mailing list