Linux - GeneralThis Linux forum is for general Linux questions and discussion.
If it is Linux Related and doesn't seem to fit in any other forum then this is the place.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
This is going to sound bizarre, I know, but we've already searched all available options and this is the best solution we've come up with.
Our lab has some very specialized hardware. It is run from a virtual machine supplied by the vendor. The VM runs Debian Sarge, using the 2.4 kernel. This cannot be upgraded, as newer kernels and libraries break their drivers (and they won't upgrade everything because the VM is supposed to obviate the need for it).
We want to extend the code on the VM, and our additions require much more horsepower than the VM can provide. We just bought a new computer running a Core i7 CPU, hoping that we could transplant the VM's drive onto the new machine, keep all the software, but get a boost in speed.
I made an image of the root partition of the VM's drive using dd. I then booted the new PC into the Gentoo live CD, and made a partition of the same size using fdisk. I used dd to copy the image onto that partition. I then set the partition's boot flag, mounted it, and chroot-ed into the VM drive's root. From there I ran the grub setup. I can now boot the PC, get grub's menu, and start to boot.
The boot fails with the following error:
Code:
pivot_root: No such file or directory
/sbin/init: 432: cannot open dev/console: No such file
Kernel panic: Attempted to kill init!
I'm not surprised that something went awry... I'm actually surprised it gets as far as it does before breaking. However, I'm not very good at decoding the error messages and I need some advice from people more experienced than me. Where would you go from here?
A few things I've tried to mess with:
1. I remember a few times I've upgraded kernels in the past in which I had trouble with the switch from /dev/hd[abcd] to /dev/sd[abcd], so I tried changing that in the grub menu.
2. I tried changing the SATA setting from AHCI to ATA in the BIOS.
3. I tried installing a fresh copy of Debian Sarge from my old DVDs just to see if I could get it to boot when installed from scratch. The installer fails when trying to mount the disks (doesn't give a helpful error message).
So that's the story. I know it's ridiculous trying to install Sarge on a new machine, but we haven't got much choice. Anyone want to take a stab at this problem?
I'm almost certain the problem is you don't have drivers for the motherboard chipsets in your current 2.4 kernel. On the old VMWare image (or maybe a duplicate so you don't mess up your working one), try compiling the latest 2.4 kernel and then transplanting that to the new box (just copy over the *.deb kernel package you create and chroot in with a live CD to install it with dpkg). I believe the 2.4 series still gets maintenance on drivers, and maybe your vendor supplied stuff may still work (or compile) since it's a 2.4 vintage.
Thanks for the hints. Unfortunately, the kernel has to be patched, and I don't think the patches they provide are compatible with the newest 2.4 kernel. I'll try though.
Also, the new PC uses Intel SATA controllers, which (based on what I just read, I may be wrong) should work with the PIIX drivers that are compiled into the current kernel.
I'll report back whether this works or not. Thanks!
I just had another thought. What are the specs of the old machine w/ VM vs. the new machine? If the new machine is actually much better, can you just transplant the whole thing and would the VM image run better on the new machine? Could you install a minimal linux and then dedicate most of the new system resources to the VM to get your speed increase?
Also, from a live CD on the new machine, can you post the hardware specs (lspci & lshw output)? And is it the stock 2.4 kernel that came with Sarge (2.4.27)?
The new PC will run the VM much faster because it supports VT-x, so, yes, if we have to keep running the VM, at least it'll work BETTER. However, we really do need to squeeze a lot of performance out of the machine, so I'm not quite content with that solution.
The gentoo live cd doesn't have lshw or lshal, but the lspci and lsscsi output is shown here:
Code:
00:00.0 Host bridge: Intel Corporation Core Processor DMI (rev 11)
00:03.0 PCI bridge: Intel Corporation Core Processor PCI Express Root Port 1 (rev 11)
00:08.0 System peripheral: Intel Corporation Core Processor System Management Registers (rev 11)
00:08.1 System peripheral: Intel Corporation Core Processor Semaphore and Scratchpad Registers (rev 11)
00:08.2 System peripheral: Intel Corporation Core Processor System Control and Status Registers (rev 11)
00:08.3 System peripheral: Intel Corporation Core Processor Miscellaneous Registers (rev 11)
00:10.0 System peripheral: Intel Corporation Core Processor QPI Link (rev 11)
00:10.1 System peripheral: Intel Corporation Core Processor QPI Routing and Protocol Registers (rev 11)
00:1a.0 USB Controller: Intel Corporation 5 Series/3400 Series Chipset USB2 Enhanced Host Controller (rev 05)
00:1b.0 Audio device: Intel Corporation 5 Series/3400 Series Chipset High Definition Audio (rev 05)
00:1c.0 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 1 (rev 05)
00:1d.0 USB Controller: Intel Corporation 5 Series/3400 Series Chipset USB2 Enhanced Host Controller (rev 05)
00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev a5)
00:1f.0 ISA bridge: Intel Corporation 5 Series Chipset LPC Interface Controller (rev 05)
00:1f.2 IDE interface: Intel Corporation 5 Series/3400 Series Chipset 4 port SATA IDE Controller (rev 05)
00:1f.3 SMBus: Intel Corporation 5 Series/3400 Series Chipset SMBus Controller (rev 05)
00:1f.5 IDE interface: Intel Corporation 5 Series/3400 Series Chipset 2 port SATA IDE Controller (rev 05)
01:00.0 VGA compatible controller: nVidia Corporation GT200 [GeForce GT 220] (rev a2)
01:00.1 Audio device: nVidia Corporation Device 0be2 (rev a1)
02:00.0 Ethernet controller: Broadcom Corporation NetLink BCM57780 Gigabit Ethernet PCIe (rev 01)
Code:
[0:0:0:0] disk ATA WDC WD2500AAJS-7 02.0 /dev/sda
[0:0:1:0] cd/dvd Optiarc DVD+-RW AD-7230S 102B /dev/sr0
[6:0:0:0] disk Fujifilm USB Drive 4.70 /dev/sdb
If the vendor patches fail, I would still build the 2.4.37.6 kernel and see if it works. Then if it does, see if you can figure out which modules are used for the chipset. Then maybe you can just compile those particular modules against the existing 2.4 kernel you're using?
Sorry, I'm not a programmer, so I may just be spewing random thoughts. Let me know if I'm just spamming your thread and I'll stop.
No, by all means, keep throwing thoughts out there. I just need someone else to bounce some ideas around.
So I downloaded the most recent 2.4 kernel and I am trying to get that to compile in the chroot environment of the virtual machine and boot. If I can do that then we'll go from there.
I finally got all the drivers I needed to boot the system... I'm not used to configuring a 2.4 kernel, so I missed the low-level SCSI drivers for the PIIx controller. Now I can boot into debian.
I'm having a lot of trouble getting some of the other drivers worked out, though. As it is, I have no ethernet support. I know the card needs the broadcom tg3 module. In the gentoo liveCD in order to get the ethernet working I have to do
Code:
rmmod tg3
modprobe broadcom
modprobe tg3
I don't know why.
Anyway, I compiled the tg3 driver as a module, but modprobe tg3 throws this:
Code:
init_module: no such device
Also, I couldn't get USB support working (actually, I couldn't get the USB mouse or a USB drive to work... the USB keyboard seems ok)
So under the newest 2.4 kernel (2.4.37.6), I've been getting things working slowly. Any advice on the USB/ethernet driver issues would be appreciated. I'm hoping I'll be able to get everything working, then try again with the older kernel version.
Maybe the tg3 driver isn't the right one for 2.4 kernel series? Maybe there's a different broadcom driver from their website. What modules have been loaded when you boot your current kernel?
What does your syslog say when you plug in the USB mouse and drive? It's possible you missed something in the USB subsystem or input/hardware devices section when you configured the kernel. Also, maybe compare the output of lsmod from your current kernel to the VM system.
EDIT: It looks like tg3 is the right driver. You can try building from the original broadcom source. The README file says it should compile on kernels > 2.4.24.
Starting from the vanilla config file, nothing is a module. Everything is compiled in. So, right now, tg3 is the only module.
I must be missing some of the controller drivers... This machine has an Intel chipset, so it's probably EHCI and UHCI... UHCI is compiled in, but I can't find EHCI in make menuconfig. It is in the .config file itself, though, so I'm trying to compile that module right now.
If I had some way of getting into this machine remotely I'd post the lspci output, but no USB and no ethernet doesn't give me many options.
Yeah, we're getting there. This machine has to communicate with the hardware via ethernet, so that's the last really important part.
I tried putting an old PCI ethernet card in there, but it does the same thing when I try to insert the module... it claims the hardware isn't there. This has to have something to do with the fact that lspci says everything is unknown, don't you think?
I must still be missing drivers for the chipset or something...
I'm having a horrible time trying to install the tg3 drivers from broadcom. The readme claims it should work on 2.4 kernels, but the compile fails every time. Anyone had any experience with this?
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.