Hi Andy,
Thanks for the response!
On 06/02/2011 22:53, Andy Smith wrote:
On Sun, Feb 06, 2011 at 04:28:18PM +0000, Joseph
Heenan wrote:
I've not found a solution for this yet, but
running
strace -- grub-probe -vvvv --device-map=/boot/grub/device.map -t device /
2>&1 | less
and browsing the output I noticed this line, which I presume is the issue:
open("/dev/xvda", O_RDONLY|O_LARGEFILE) = -1 ENXIO (No such device or
address)
I presume the older version of grub-probe was less fussy.
I think you could
temporarily resolve it by also creating a device
node for /dev/xvda that looks like this:
rw-rw---- 1 root disk 202, 0 2010-06-18 17:24 /dev/xvda
I've already tried that
- I think correctly, hence the above error is
ENXIO rather than ENOENT. Perhaps I've missed something obvious:
button:~# cat /boot/grub/device.map
(hd0) /dev/xvda
button:~# ls -l /dev/xvda
brw-rw---- 1 root disk 202, 0 Feb 6 16:25 /dev/xvda
button:~# update-grub
Searching for GRUB installation directory ... found: /boot/grub
warning: grub-probe can't find drive for /dev/xvda1.
grub-probe: error: cannot find a GRUB drive for /dev/xvda1. Check your
device.map.
button:~#
The above did work with the lenny grub, but stopped (I think) as soon as
the squeeze grub-legacy was installed.
We can permanently resolve it by changing your block
device to be
xvda instead of xvda1. Actually as previously discussed the new
BitFolk standard layout is a partitioned xvda, but that will be a
bit of work.
Changing your block device name is just a matter of us
editing your config file then you shut down and boot again. Your VPS
comes up with / on xvda instead of xvda1 and it all still works as
long as you're booting and mounting by label or UUID instead of
device name.
If you want to go this way then it's probably best that we pick a
time to do it when we are both around so that any problems can be
rectified. So once you've checked that your VPS is going to boot and
mount its root filesystem by label or UUID, please put in a support
ticket and we'll sort it out.
Okay, that sounds like the way to go, thanks.
I think I'm okay on the label/uuid front - fstab looks like this:
LABEL=/ / ext3 defaults,noatime 0 1
LABEL=SWAP swap swap defaults 0 0
and the kopt line in /boot/grub/menu.list like so:
# kopt=root=UUID=e031dfea-0cda-43eb-a9d6-912fed215b99 ro console=hvc0
Are there any other places I need to check before raising a support ticket?
(I presume my current system will reboot okay, as long as the kernel
entry in menu.lst is correct?)
Thanks
Joseph