I’m trying to virtualise a SuSE 6.4 system before its ageing hardware finally dies, by using VMWare Server 2.0 running on an i686 system. I’ve successfully ghosted the existing disk onto a virtual disk, and this boots and runs the installed packages without any visible problem.
However, installing or updating many rpms fail because they claim that the machine architecture isn’t correct. uname -m returns “i?86” (that’s literally a question mark, not a wildcard). Attempting a clean install of 6.4 from the original disks onto a clean VM also fails, with similar complaints.
Although the original image is running OK, I’m nervous about junking the original hardware when I can’t reliably install, update or delete rpms on the virtual system.
VMWare initially seemed to be the likely culprit, but loading a clean install of SuSE 8.0 (2.4.18) uname -m correctly reports “i686”, so it looks more likely that VMWare is correctly reporting the CPU type, but 6.4 (2.2.14) just doesn’t know of the existence of i686.
So, a little grubbing around in the kernel sources seems to point the finger at head.S, which uses the cpuid instruction to identify the architecture and store this for future reference by syscall. However, I can’t see any significant difference in the relevant section of head.S between the 6.4 (2.2.14) and 8.0 (2.4.18) versions, so it’s not clear whether this is the source of the problem.
Does anyone out there have experience of this issue?
Is head.S the likely source of the problem, or could it be elsewhere?
Thanks
gvm