VirtualBox

Opened 15 years ago

Closed 14 years ago

#6293 closed defect (fixed)

SATA still unusable in 3.1.4

Reported by: Jonathan Deitch Owned by:
Component: virtual disk Version: VirtualBox 3.1.4
Keywords: SATA redhat centos Cc:
Guest type: Linux Host type: Linux

Description

SATA is still unusable in 3.1.4 with Redhat OS's.

This is a HUGE PROBLEM --- not everyone in the world uses Debian.

Host OS is RH EL 5.4 x64, guest OS is RH EL 4.6 x86.

Hardware is an IBM x3650.

This needs to be fixed ASAP as this is a serious issue for testing purposes.

Attached is a screenshot of the error, and the vbox log file.

Please indicate when this will be fixed; decisions on whether to abandon Virtualbox and move to competitors are hinging on resolution of this issue.

Attachments (2)

satafail.jpg (122.9 KB ) - added by Jonathan Deitch 15 years ago.
Screenshot of SATA failing to boot.
VBox.log (65.5 KB ) - added by Jonathan Deitch 15 years ago.
Vbox log file of SATA failing to boot.

Download all attachments as: .zip

Change History (16)

by Jonathan Deitch, 15 years ago

Attachment: satafail.jpg added

Screenshot of SATA failing to boot.

by Jonathan Deitch, 15 years ago

Attachment: VBox.log added

Vbox log file of SATA failing to boot.

comment:1 by Frank Mehnert, 15 years ago

First, your tone is rude. Second, information about your guest is missing.

comment:2 by Jonathan Deitch, 15 years ago

How do you expect me to react?

I've been trying to get this problem fixed since v2.

I've opened bug tickets - ignored.

I've opened forum postings - ignored.

This is a seriously HUGE problem which affects *everyone* trying to run a Redhat EL guest OS.

My experience in reading bug reports seems to be everyone concentrates on Debian issues and ignores Redhat.

As for the "no guest information" .... Ummm -- what is "Host OS is RH EL 5.4 x64, guest OS is RH EL 4.6 x86. " supposed to be interpreted as? Not only is the guest OS quite clearly right there, but it's also in the vbox log file too, along with the error. It's also in the screenshot.

Let me be blunt -- I'm TRYING to push an open source VM solution for a project. The project REQUIRES that the VM solution be able to emulate our "in-the-field" configuration, which is Redhat and SATA.

So far, I've been unable to do so because ... simply ... it doesn't work.

Y'all want to compete with the other VM solutions, you might wanna start fixing some of this stuff. Otherwise you will get left in the dust.

I do not mean to seem rude, but frankly, I'm tired of being ignored.

Either this gets fixed, or you lose a user/customer.

comment:3 by Jonathan Deitch, 15 years ago

Ok, some more testing.

Vbox cannot even boot the Centos DVD to *install* a new OS if the target HDD is connected to SATA.

So it's not even a guest OS. Forget what kind of guest OS -- it can't even boot the install CD.

And yes, that's both 4.8 and 5.4's install CDs.

comment:4 by aeichner, 15 years ago

We do not ignore Redhat, we just can't test every possible combination of guests and virtual hardware. Fedora just works with the SATA controller here for example. From the screenshot you attached it seems that the kernel tries to use the IDE emulation of the SATA controller which is only used for the BIOS.

comment:5 by Sander van Leeuwen, 15 years ago

Tired of being ignored? Where are your other bug reports? Do you honestly expect us to read every forum post? Do you really think we have nothing better to do than to read the hundreds of new forum posts every day?

And to make this quite clear: SATA is rock solid with Windows or Ubuntu guests. Nobody is ignoring RHEL guests; that's just your imagination.

And also note that threats don't work when help is being offered free of charge.

in reply to:  4 comment:6 by Jonathan Deitch, 15 years ago

Replying to aeichner:

We do not ignore Redhat, we just can't test every possible combination of guests and virtual hardware. Fedora just works with the SATA controller here for example. From the screenshot you attached it seems that the kernel tries to use the IDE emulation of the SATA controller which is only used for the BIOS.

What can be done to fix this?

I cannot even boot the installation DVD -- it hangs attempting to "see" the target partition on the SATA port.

comment:7 by Frank Mehnert, 15 years ago

Just for the record, the old ticket is #5700. As this ticket contains a bit more information I will close the other ticket as duplicate.

comment:8 by aeichner, 15 years ago

Just found a workaround for affected guests. Boot using "linux ide2=noprobe ide3=noprobe" as the command line. The problem is that the legacy emulation for the BIOS is using some I/O ports the older linux kernels probe and use if they detect a IDE controller there. The noprobe options disable this.

comment:9 by Jonathan Deitch, 15 years ago

Well .........

That allows the boot DVD to see the drives, and install to the drives.

You cannot, however, boot a drive with the ide=noprobe set in place.

As soon as grub tries to init, you get a panic when it tries to mount /

So this still needs to be fixed in virtualbox, since the legacy emulation reference above is not compatible.

Soooo .... any other ideas on how to solve or workaround this issue?

comment:10 by aeichner, 15 years ago

Booting a RHEL 4 U2 guest works here. I just need to specify ide2=noprobe ide3=noprobe on the command line. However there is one oddity but this doesn't look like a problem in VirtualBox. When boot grub doesn't show the list of bootable systems but shows a command prompt instead. Entering all data manually works which means that GRUB can talk to the SATA drive. This is what I have to enter here:

root (hd0,0)
kernel /vmlinuz-2.6.9-22.EL ro root=/dev/VolGroup00/LogVol00 ide2=noprobe ide3=noprobe
initrd /initrd-2.6.9-22.EL.img
boot

Everything works fine afterwards. No kernel panics.

comment:11 by Frank Mehnert, 15 years ago

litz, can you confirm this workaround?

comment:12 by Jonathan Deitch, 15 years ago

Workaround confirmed ... I have not been able to make Centos 4 (Redhat EL4) boot on SATA, however.

It does not get past GRUB.

I *can* mount SATA drives if I boot a normal IDE hdd.

I've not yet been able to figure out a way to get it to boot scsi without bootfailing on IDE/SATA first.

Some way to select which hdd we boot from (rather than simply "HDD/CDROM/FLOPPY") for boot order would be nice ...

comment:13 by steve-p, 15 years ago

Actually I'm pretty sure that failing to boot from SATA is not necessarily a VirtualBox bug. I've got it working with CentOS which is binary compatible. I had a bunch of CentOS 5.4 VMs running on virtual IDE disks and wanted to change them all to use SATA instead. Initially I just tried changing the disk type to SATA and booting, and got a kernel panic, which brought me here.

However, after thinking about it for a few minutes, it occurred to me that what was actually happening was that the kernel did not have the SATA driver loaded at a critical point in the boot process, after grub choice, when loading the kernel. Anytime a kernel boot image is made, it only adds the driver for the type of disk it's booted off, so if you take a system installed on an IDE disk for example, it only has the IDE driver and not the SATA driver. (SCSI is usually included too via modprobe.conf, but not relevant to SATA discussion).

What you need to do in short to convert from IDE to SATA is boot the VM with the IDE disk, then force-add the SATA driver to a new boot image for the running kernel version i.e. (as root):

mkinitrd -v -f --with=ahci /boot/initrd-`uname -r`.img `uname -r`

Now shut down the machine and change the disk over to SATA, and it should boot up and run fine. It's worked on all my CentOS VMs anyway. It's cut down the boot time by about 15% and general performance has probably improved by even more, so it's worth doing.

comment:14 by Frank Mehnert, 14 years ago

Resolution: fixed
Status: newclosed

Please reopen if still relevant with VBox 4.0.4.

Note: See TracTickets for help on using tickets.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette