GRUB and support for Virtio
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
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
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
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/vdb2Quoted 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/vdaIn 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
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
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
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
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/vdaDisco
/dev/vda: 10.7 GB, 10737418240 bytes 255 heads, 63 sectors/track, 1305 cylinders Unidades = cilindros de 16065 * 512 = 8225280 bytesDisposit. 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/vdbDisco
/dev/vdb: 10.7 GB, 10737418240 bytes 255 heads, 63 sectors/track, 1305 cylinders Unidades = cilindros de 16065 * 512 = 8225280 bytesDisposit. 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.mapwith 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.mapGNU 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 type0xfd
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 type0xfd
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
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