Skip to contentSkip to conversation

GRUB and support for Virtio

DISCUSSION Daniel Bareiro 5 participants 9 messages Aug 18, 2010 – Aug 24, 2010 KVM

lore
Share & tools
lore
#0 lore raw

Hi all!

I'm doing some tests in a KVM virtual machine with CentOS 5.5 and it seems that GRUB is not recognizing the Virtio devices:

# ll /dev/vd*
brw-r----- 1 root disk 253,  0 ago 17 23:35 /dev/vda
brw-r----- 1 root disk 253,  1 ago 17 23:35 /dev/vda1
brw-r----- 1 root disk 253,  2 ago 17 23:35 /dev/vda2
brw-r----- 1 root disk 253, 16 ago 18 00:27 /dev/vdb
brw-r----- 1 root disk 253, 17 ago 18 00:32 /dev/vdb1
brw-r----- 1 root disk 253, 18 ago 18 00:32 /dev/vdb2

-----------------------------------------------------------------------

# grub
Probing devices to guess BIOS drives. This may take a long time.

GNU GRUB version 0.97 (640K lower / 3072K upper memory)

[ Minimal BASH-like line editing is supported. For the first word, TAB
lists possible command completions. Anywhere else TAB lists the possible completions of a device/filename.]
grub> root (hd0,0)
root (hd0,0)

Error 21: Selected disk does not exist

grub> root (hd1,0)
root (hd1,0)

Error 21: Selected disk does not exist
-----------------------------------------------------------------------

Is there any way to solve this problem?

Thanks in advance for your replies.

Regards,
Daniel

Signature · 2 lines
Fingerprint: BFB3 08D6 B4D1 31B2 72B9  29CE 6696 BF1B 14E6 1D37
Powered by Debian GNU/Linux Lenny - Linux user #188.598
#1 lore raw
Quoted 10 lines · Daniel Bareiro

I'm doing some tests in a KVM virtual machine with CentOS 5.5 and it seems that GRUB is not recognizing the Virtio devices:

# ll /dev/vd*
brw-r----- 1 root disk 253,  0 ago 17 23:35 /dev/vda
brw-r----- 1 root disk 253,  1 ago 17 23:35 /dev/vda1
brw-r----- 1 root disk 253,  2 ago 17 23:35 /dev/vda2
brw-r----- 1 root disk 253, 16 ago 18 00:27 /dev/vdb
brw-r----- 1 root disk 253, 17 ago 18 00:32 /dev/vdb1
brw-r----- 1 root disk 253, 18 ago 18 00:32 /dev/vdb2

I've never had any problems with installing grub on virtio. what is in your /boot/grub/device.map?

mk

#2 lore raw

Hi, Martin.

Quoted 11 lines · Martin Kraus
Quoted 10 lines

I'm doing some tests in a KVM virtual machine with CentOS 5.5 and it seems that GRUB is not recognizing the Virtio devices:

# ll /dev/vd*
brw-r----- 1 root disk 253,  0 ago 17 23:35 /dev/vda
brw-r----- 1 root disk 253,  1 ago 17 23:35 /dev/vda1
brw-r----- 1 root disk 253,  2 ago 17 23:35 /dev/vda2
brw-r----- 1 root disk 253, 16 ago 18 00:27 /dev/vdb
brw-r----- 1 root disk 253, 17 ago 18 00:32 /dev/vdb1
brw-r----- 1 root disk 253, 18 ago 18 00:32 /dev/vdb2
Quoted 2 lines

I've never had any problems with installing grub on virtio. what is in your /boot/grub/device.map?

# cat /boot/grub/device.map
# this device map was generated by anaconda
(hd0)     /dev/vda

In Debian I had no problems, but in CentOS 5.5 I came across this when I was doing some tests to convert an existing installation in another with RAID-1.

Thanks for your reply.

Regards,
Daniel

Signature · 2 lines
Fingerprint: BFB3 08D6 B4D1 31B2 72B9  29CE 6696 BF1B 14E6 1D37
Powered by Debian GNU/Linux Lenny - Linux user #188.598
#3 lore raw

make sure your device.map has correct maps (yours look good) then run grub as follows:

grub --device-map=/boot/grub/device.map

I migrated all my centos 5.5 vms to virtio like that, and it worked fine. And yes something is not correct with grub and virtio detection on centos, it works on fedora.

fil

Quoted 32 lines · Daniel Bareiro

Hi, Martin.

Quoted 11 lines · Martin Kraus
Quoted 10 lines

I'm doing some tests in a KVM virtual machine with CentOS 5.5 and it seems that GRUB is not recognizing the Virtio devices:

# ll /dev/vd*
brw-r----- 1 root disk 253,  0 ago 17 23:35 /dev/vda
brw-r----- 1 root disk 253,  1 ago 17 23:35 /dev/vda1
brw-r----- 1 root disk 253,  2 ago 17 23:35 /dev/vda2
brw-r----- 1 root disk 253, 16 ago 18 00:27 /dev/vdb
brw-r----- 1 root disk 253, 17 ago 18 00:32 /dev/vdb1
brw-r----- 1 root disk 253, 18 ago 18 00:32 /dev/vdb2
Quoted 2 lines

I've never had any problems with installing grub on virtio. what is in your /boot/grub/device.map?

# cat /boot/grub/device.map
# this device map was generated by anaconda
(hd0)     /dev/vda

In Debian I had no problems, but in CentOS 5.5 I came across this when I was doing some tests to convert an existing installation in another with RAID-1.

Thanks for your reply.

Regards,
Daniel

#4 lore raw

Strange, i did 2 clean installs of centos 5.5 on an ubuntu 9.10 host and it went flawless with virtio devices ( both disks and network ).

----- Original Message -----

Quoted 11 lines

make sure your device.map has correct maps (yours look good) then run grub as follows:

grub --device-map=/boot/grub/device.map

I migrated all my centos 5.5 vms to virtio like that, and it worked fine. And yes something is not correct with grub and virtio detection on
centos, it works on fedora.

fil

Signature · 2 lines
Nikolai K. Bochev 
System Administrator 
#5 lore raw
Quoted 2 lines · Nikolai K. Bochev

Strange, i did 2 clean installs of centos 5.5 on an ubuntu 9.10 host and it went flawless with virtio devices ( both disks and network ).

It appears that Debian have the same problem. In the installation of both Debian Lenny and CentOS 5.5, I had no problems, but appear later using 'setup' and 'root':

-----------------------------------------------------------------------

debian-test8:~# fdisk -l /dev/vda

Disco /dev/vda: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders
Units = cilindros of 16065 * 512 = 8225280 bytes
Disk identifier: 0x000b7998

Disposit. Inicio    Comienzo      Fin      Bloques  Id  Sistema
/dev/vda1               1         122      979933+  82  Linux swap / Solaris
/dev/vda2             123        1305     9502447+  83  Linux
debian-test8:~#
debian-test8:~#
debian-test8:~# grub
Probing devices to guess BIOS drives. This may take a long time.

GNU GRUB version 0.97 (640K lower / 3072K upper memory)

[ Minimal BASH-like line editing is supported. For
the first word, TAB lists possible command
completions. Anywhere else TAB lists the possible completions of a device/filename. ]
grub> root (hd0,1)
root (hd0,1)

Error 21: Selected disk does not exist
grub>

grub> setup (hd0)

Error 12: Invalid device requested
-----------------------------------------------------------------------

But invoking GRUB with this file, it does recognize the disk:

-----------------------------------------------------------------------

debian-test8:~# cat /boot/grub/device.map
(hd0)   /dev/vda
debian-test8:~# grub --device-map=/boot/grub/device.map

GNU GRUB version 0.97 (640K lower / 3072K upper memory)

[ Minimal BASH-like line editing is supported. For
the first word, TAB lists possible command
completions. Anywhere else TAB lists the possible completions of a device/filename. ]
grub> root (hd0,1)
root (hd0,1)
Filesystem type is ext2fs, partition type 0x83
grub> setup (hd0)
setup (hd0)
Checking if "/boot/grub/stage1" exists... yes
Checking if "/boot/grub/stage2" exists... yes
Checking if "/boot/grub/e2fs_stage1_5" exists... yes
Running "embed /boot/grub/e2fs_stage1_5 (hd0)"... 17 sectors are embedded.
succeeded
Running "install /boot/grub/stage1 (hd0) (hd0)1+17 p (hd0,1)/boot/grub/stage2
/boot/grub/menu.lst"... succeeded
Done.
-----------------------------------------------------------------------

However, in installations made on IDE disks, it is not necessary to do this. What could be causing this difference?

Thanks for your replies.

Regards,
Daniel

Signature · 2 lines
Fingerprint: BFB3 08D6 B4D1 31B2 72B9  29CE 6696 BF1B 14E6 1D37
Powered by Debian GNU/Linux Lenny - Linux user #188.598
#6 lore raw
In reply to Nikolai K. Bochev
Quoted 2 lines · Nikolai K. Bochev

Strange, i did 2 clean installs of centos 5.5 on an ubuntu 9.10 host and it went flawless with virtio devices ( both disks and network ).

Doing some tests with CentOS 5.5 on a KVM virtual machine, after doing the installation, I added a second disk. But when trying to boot from it, I get the following error:

---------------------------------------------------------------------
root (hd1,0)

Error 21: Selected disk does not exist
---------------------------------------------------------------------

The two disks are Virtio devices that are recognized when booting from the first disk:

---------------------------------------------------------------------
[root@localhost ~]# fdisk -l /dev/vda

Disco /dev/vda: 10.7 GB, 10737418240 bytes 255 heads, 63 sectors/track, 1305 cylinders Unidades = cilindros de 16065 * 512 = 8225280 bytes

Disposit. Inicio    Comienzo      Fin      Bloques  Id  Sistema
/dev/vda1   *           1        1174     9430123+  fd  Linux raid autodetect
/dev/vda2            1175        1305     1052257+  fd  Linux raid autodetect

[root@localhost ~]#
[root@localhost ~]#
[root@localhost ~]# fdisk -l /dev/vdb

Disco /dev/vdb: 10.7 GB, 10737418240 bytes 255 heads, 63 sectors/track, 1305 cylinders Unidades = cilindros de 16065 * 512 = 8225280 bytes

Disposit. Inicio    Comienzo      Fin      Bloques  Id  Sistema
/dev/vdb1   *           1        1174     9430123+  fd  Linux raid autodetect
/dev/vdb2            1175        1305     1052257+  fd  Linux raid autodetect

---------------------------------------------------------------------

The idea of these tests is to set up software RAID1 on a running system, since, it seems that Anaconda does not support installation on degraded RAID.

But I'm not sure if this is a problem of Virtio or that GRUB is not recognizing the second disk.

I made sure to modify /boot/grub/device.map with the entry for the new disk:

---------------------------------------------------------------------
[root@localhost grub]# cat /boot/grub/device.map

# this device map was generated by anaconda
(hd0)     /dev/vda
(hd1)     /dev/vdb
---------------------------------------------------------------------

And the reconfiguration of GRUB on both disks did not give problems:

---------------------------------------------------------------------
[root@localhost grub]# grub --device-map=/boot/grub/device.map

GNU GRUB version 0.97 (640K lower / 3072K upper memory)

[ Minimal BASH-like line editing is supported. For the first word, TAB
lists possible command completions. Anywhere else TAB lists the
possible
completions of a device/filename.]
grub> root (hd0,0)
root (hd0,0)
Filesystem type is ext2fs, partition type 0xfd
grub> setup (hd0)
setup (hd0)
Checking if "/boot/grub/stage1" exists... yes
Checking if "/boot/grub/stage2" exists... yes
Checking if "/boot/grub/e2fs_stage1_5" exists... yes Running "embed /boot/grub/e2fs_stage1_5 (hd0)"... 15 sectors are
embedded.
succeeded
Running "install /boot/grub/stage1 (hd0) (hd0)1+15 p
(hd0,0)/boot/grub/stage2 /boot/grub/grub.conf"... succeeded Done.
grub> root (hd1,0)
root (hd1,0)
Filesystem type is ext2fs, partition type 0xfd
grub> setup (hd1)
setup (hd1)
Checking if "/boot/grub/stage1" exists... yes
Checking if "/boot/grub/stage2" exists... yes
Checking if "/boot/grub/e2fs_stage1_5" exists... yes Running "embed /boot/grub/e2fs_stage1_5 (hd1)"... 15 sectors are
embedded.
succeeded
Running "install /boot/grub/stage1 (hd1) (hd1)1+15 p
(hd1,0)/boot/grub/stage2 /boot/grub/grub.conf"... succeeded Done.
grub> quit
quit
---------------------------------------------------------------------

Any idea what may be causing the problem?

Regards,
Daniel

Signature · 2 lines
Fingerprint: BFB3 08D6 B4D1 31B2 72B9  29CE 6696 BF1B 14E6 1D37
Powered by Debian GNU/Linux Lenny - Linux user #188.598
#7 lore raw

Re: SeaBIOS and GRUB booting from Virtio devices [was: GRUB and support for Virtio]

Quoted 102 lines · Daniel Bareiro
Quoted 2 lines

Strange, i did 2 clean installs of centos 5.5 on an ubuntu 9.10 host and it went flawless with virtio devices ( both disks and network ).

Doing some tests with CentOS 5.5 on a KVM virtual machine, after doing the installation, I added a second disk. But when trying to boot from it, I get the following error:

---------------------------------------------------------------------
root (hd1,0)

Error 21: Selected disk does not exist
---------------------------------------------------------------------

The two disks are Virtio devices that are recognized when booting from the first disk:

---------------------------------------------------------------------
[root@localhost ~]# fdisk -l /dev/vda

Disco /dev/vda: 10.7 GB, 10737418240 bytes 255 heads, 63 sectors/track, 1305 cylinders Unidades = cilindros de 16065 * 512 = 8225280 bytes

Disposit. Inicio    Comienzo      Fin      Bloques  Id  Sistema
/dev/vda1   *           1        1174     9430123+  fd  Linux raid autodetect
/dev/vda2            1175        1305     1052257+  fd  Linux raid autodetect

[root@localhost ~]#
[root@localhost ~]#
[root@localhost ~]# fdisk -l /dev/vdb

Disco /dev/vdb: 10.7 GB, 10737418240 bytes 255 heads, 63 sectors/track, 1305 cylinders Unidades = cilindros de 16065 * 512 = 8225280 bytes

Disposit. Inicio    Comienzo      Fin      Bloques  Id  Sistema
/dev/vdb1   *           1        1174     9430123+  fd  Linux raid autodetect
/dev/vdb2            1175        1305     1052257+  fd  Linux raid autodetect

---------------------------------------------------------------------

The idea of these tests is to set up software RAID1 on a running system, since, it seems that Anaconda does not support installation on degraded RAID.

But I'm not sure if this is a problem of Virtio or that GRUB is not recognizing the second disk.

I made sure to modify /boot/grub/device.map with the entry for the new disk:

---------------------------------------------------------------------
[root@localhost grub]# cat /boot/grub/device.map

# this device map was generated by anaconda
(hd0)     /dev/vda
(hd1)     /dev/vdb
---------------------------------------------------------------------

And the reconfiguration of GRUB on both disks did not give problems:

---------------------------------------------------------------------
[root@localhost grub]# grub --device-map=/boot/grub/device.map

GNU GRUB version 0.97 (640K lower / 3072K upper memory)

[ Minimal BASH-like line editing is supported. For the first word, TAB
lists possible command completions. Anywhere else TAB lists the
possible
completions of a device/filename.]
grub> root (hd0,0)
root (hd0,0)
Filesystem type is ext2fs, partition type 0xfd
grub> setup (hd0)
setup (hd0)
Checking if "/boot/grub/stage1" exists... yes
Checking if "/boot/grub/stage2" exists... yes
Checking if "/boot/grub/e2fs_stage1_5" exists... yes Running "embed /boot/grub/e2fs_stage1_5 (hd0)"... 15 sectors are
embedded.
succeeded
Running "install /boot/grub/stage1 (hd0) (hd0)1+15 p
(hd0,0)/boot/grub/stage2 /boot/grub/grub.conf"... succeeded Done.
grub> root (hd1,0)
root (hd1,0)
Filesystem type is ext2fs, partition type 0xfd
grub> setup (hd1)
setup (hd1)
Checking if "/boot/grub/stage1" exists... yes
Checking if "/boot/grub/stage2" exists... yes
Checking if "/boot/grub/e2fs_stage1_5" exists... yes Running "embed /boot/grub/e2fs_stage1_5 (hd1)"... 15 sectors are
embedded.
succeeded
Running "install /boot/grub/stage1 (hd1) (hd1)1+15 p
(hd1,0)/boot/grub/stage2 /boot/grub/grub.conf"... succeeded Done.
grub> quit
quit
---------------------------------------------------------------------

Quoted 1 line

Any idea what may be causing the problem?

Martin Kraus seems that recently experienced a similar problem and this was linked to SeaBIOS [1] and compiling the version from the git would solve this problem. I had no problems with GRUB trying to boot from two different IDE drives.

I would like to know if there are plans to incorporate this to stable KVM in the short term.

Regards,
Daniel

[1] http://www.spinics.net/lists/kvm/msg39928.html

Signature · 2 lines
Fingerprint: BFB3 08D6 B4D1 31B2 72B9  29CE 6696 BF1B 14E6 1D37
Powered by Debian GNU/Linux Lenny - Linux user #188.598
#8 lore raw

Re: SeaBIOS and GRUB booting from Virtio devices [was: GRUB and support for Virtio]

Quoted 9 lines · Daniel Bareiro

Martin Kraus seems that recently experienced a similar problem and this was linked to SeaBIOS [1] and compiling the version from the git would solve this problem. I had no problems with GRUB trying to boot from two different IDE drives.

I would like to know if there are plans to incorporate this to stable KVM in the short term.

No, but the next release is very soon and will have this. It's a new feature. There's never been

Regards,

Anthony Liguori

Quoted 5 lines

Regards,
Daniel

[1] http://www.spinics.net/lists/kvm/msg39928.html