Who creates /dev/xvda?

I upgraded my server today (Arch Linux - which I love for its simplicity of configuration and easy to use, logical package manager - but which I hate for its very poor quality packages that break each other and themselves all of the time!) for the first time in a while.

On reboot, the fsck of /dev/xvda failed because the /dev/xvda device does not exist.

So clearly, something changed that is causing this device to not be created.

My question is, does anyone know which part of the system is responsible for creating this file? I would expect it to be the udevd thing that automatically creates devices, but then, because this is Xen, I thought that maybe it's somehow the responsiblity of Xen. It could also be that it's the responsibility of the initrd scripts that Arch Linux uses.

I just don't know exactly what part of the boot up process I should be looking at to figure out why this device file is not available by the time fsck is run.

For what it's worth, I got past it by allowing the system to boot up without fsck'ing, then remounting the root file system read-write, then modifying /etc/fstab to have the root filesystem on /dev/xvda not be automatically fsck'd on boot. Now I can boot normally but my root filesystem is not being fsck'd as it should.

Thanks in advance for any advice.

1 Reply


On reboot, the fsck of /dev/xvda failed because the /dev/xvda device does not exist.
udev indeed creates /dev/xvda, but udev fails to start properly on kernels other than Latest 2.6 Paravirt in some cases. If you change your configuration profile to Latest 2.6 Paravirt and reboot, the fsck should succeed.


Please enter an answer

You can mention users to notify them: @username

You can use Markdown to format your question. For more examples see the Markdown Cheatsheet.

> I’m a blockquote.

I’m a blockquote.

[I'm a link] (https://www.google.com)

I'm a link

**I am bold** I am bold

*I am italicized* I am italicized

Community Code of Conduct