# Gentoo / VMWare Converter - Issues.

## stevemassey

Hi all,

First time poster here - and now a first time Gentoo user. I think i may have been dumped in this by a friend..  :Sad: 

Basically, we have an old Gentoo box which we decided that we wanted to put onto VMWare instead (as we had no backups for it - and was getting a tad concerned about that). The conversion seemed to go well, but when we boot up we get the following:

VFS: Cannot open root device sda2

Please append a correct "root" boot option.

Kernel panic: VFS unable to mount fs on 08:02

Now i'm assuming this is due to either;

1) The drivers are no longer working and i need to recompile the kernel to use the drivers which vmware uses?

2) Something is amiss with the HD layout?

The version of Gentoo we are using is: 2.4.28-gentoo-r8

I know that's a really old version  :Sad: 

I've downloaded one of the LiveCD's, mounted sda2 and done a "fdisk -l" to which i get;

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

/dev/sda1    Fat16 (this is marked at the boot partition)

/dev/sda2    Linux

/dev/sda3    Extended

/dev/sda5    Linux Swap / Solaris

/dev/sda6    Linux

/dev/sda7    Linux

--------------------[/code]

(This was an old Dell server, and the Fat16 must be the Dell Diag partition).

Looking at the "device.map" it has:

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

(hd0)   /dev/sda2

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

Looking at grub.conf i have:

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

Title Linux 2.4.28-gentoo-r8

root (hd0,1)

kernel /boot/kernel-2.4.28-gentoo-r root=/dev/sda2

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

Am i right in assuming that i need to recompile the kernel? Or have i missed something really obvious? (I've left out some of the information on the fdisk -l command as i have to type this all in manually at the moment).

Thanks for any help given.

----------

## vaxbrat

You probably had vmware use an IDE emulation instead of SCSI for the disk driver.  I suspect your root drive is now /dev/hda2 as a result.  You can do an edit on the grub boot's command line to change that on the fly to confirm this by doing an 'e' at the prompt.  You will then probably have trouble later on if your fstab entries are using the phys device name and not a label or or /dev/disk/by-id style device name.  Use a gentoo livecd to chroot into the system within vmware to fix that.

Your other option is just to tell vmware to use the scsi driver instead.  I think you can choose either a buslogic or an lsi logic type device for this.

----------

## vaxbrat

See you have an "old" kernel so ignore the /dev/disk/by-id thing since that's udev  :Wink: 

Also you may need to recompile your kernel to get it to use one of the IDE or SCSI drivers that vmware can emulate.  The good news is that the stuff they emulate has been around a long time and should have plenty of 2.4 support available.  You didn't mention what your old hardware was using...

----------

## stevemassey

Thanks for the reply and help.

The original hardware was a Dell server, using SCSI disks. I've attempted to manually change the grub.conf to use "hda" rather than "sda" but i get the same error message.

I've been thinking along the lines about recompiling the kernel, but as i new to Gentoo i'm finding this rather difficult. Reading the documentation it tells me to use "emerge" and / or "make" commands, but both are not commands recognised by the Gentoo OS.

Is there documentation relating to this version of Gentoo available?

----------

## stevemassey

Right,

I found an installed for Gentoo 2005.1 - i'm hoping that this is a fairly close enough release from my version. And i went back further into the install docs (as i really do not want to reinstall from scratch as we have a custom app on this, and we couldn't rebuild it if we tried).

I've managed to get (we have no internet connectivity for this due to the real machine being required to be up and running on the network), the right protage tarball and the right kernel tarball. So i started from the documentation where you begin to unpack the kernel tarball.

That went fine, and likewise did the protage stage. Following through the documentation, things go well until i run:

env-update

After that commant i get the "Regenerating /etc/ld.so.cache..."

And then:

ls: relocation error: /lib/libpthread.so.0: symbol _error, version GLIBC_2.0 not defined in file libc.so.6 with link time reference

No scripts to process!

/var/lib/init.d/depcache: /var/lib/init.d/depcache: No such file or directory

Failed to cache service dependencies

And that's as far as i can get. 

As i mentioned above, anything which requires this OS to get to the internet i have to ignore. Is this process dependant on having internet access?

----------

## vaxbrat

I take it to mean that you booted the livecd and were trying to chroot into the old system where you did an env-update.  I haven't touched a kernel 2.4 in a long time, so I'm not sure if your environment problems are due to a kernel 2.6 livecd.  Was the 2005 livecd a 2.4 or really a 2.6 kernel?

Can you go to the old dell and rebuild the 2.4 kernel to include one of the scsi drivers that vmware can emulate?

----------

## stevemassey

Yeah - i used a LiveCD installer entitled 2005.1 installer.

Only issue with touching the live server (dell) is making any changes on it which might render it useless, as we have zero backups for the box and the person who built it (and the application) left 4 years ago and left no documentation.

Can i compile a kernel on the live (dell) box and not touch the existing config?

Edit: Sorry i meant to add that yes, i went through the chroot process and started the env-update - that's where i got the errors.

----------

## vaxbrat

At some point "LOCALVERSION" crept into the .config to allow you to append a unique suffix to the kernel version.  If you can find that in your 2.4 config, you should be able to put something there to distinguish parallel kernel trees.

----------

