I have pretty old machine which contains some important software. The machine is running on SCO Open Server 5.0.6a. It is Fujitsu Celsius Workstation with SCSI adapter Adaptec 29320.
This machine works, but recently I noticed that motherboard after many years of reliable service is about to fail for good (many bad caps on the board).
Few years ago, anticipating this scenario, we have bough a replacement Fujitsu workstation newer generation (M470 vs old M420) which also contains PCI slots and this machine was kept as a spare.
So, I decided just to create backup of original drive with clonezilla, place new SCSI HDD together with its SCSI Adaptec adapter to new machine (I just moved scsi adapter from old machine to new one) and restore image to the new HDD.
The system starts booting, I saw Boot menu, many dots .... something like hd(40).text, hd(40).data, hd(40).bss etc,
I also saw that scsi adapter is being initialized and then it was panic with a message:
hd: no root disk controller was found.
hd: a Boot-TimeLoadable Drivers may be required
PANIC: srmountfun - Error 19 mounting rootdev (1/42)
This type of message I would expect if I tried to replace scsi adapter, but I used exactly the same one, even though I may not be sure which ports scsi cable was plugged in the original machine (A or B). Also scsi cable has many plugs with end termination, but I'm not sure if that is relevant at all.
What I know for sure is that I made backup from the drive on which SCO is running with this disk controller driver and it reports error message like the adapter is changed. Attached is a picture with exact error messages and configuration.
Compare this screen to the boot screen in the original machine. Is the interrupt for the host adapter the same in both. If not, run the CMOS config and set the interrupts to be the same.
A far simpler solution though is to move to a VirtualBox environment on either a Windows or Linux Host.
I have 5.0.6 media.
I put everything back to the old machine, boot it, remotely connected and listed what you asked + contents of the mscsi and ad320 config files.
Basically there is a difference that IRQ 11 corresponds to ha=0, while IRQ10 corresponds to ha=1, as far as I can see it. I'm not sure if that would causing this problem.
It is pretty hard to set up this manually in the BIOS. Old machine has 6 PCI slots, while new has only two, but in BIOS/CMOS I can see 8 IRQ lines. It seems there is too much combinations and I can play with it until one works.
There is also one more thing I noticed on the new machine and that is SCSI HDD is listed (in SCSI utility) as ID 1 and Adaptec 29320 is listed as ID 7 (this is default for scsi adapters).
Attached is edited screenshot with all relevant information from the old machine.
I find this really interesting, so for sure kernel must have this disk controller driver, since everything is cloned and restored on new disk with the same scsi controller, just in newer machine.
With the new disk in the old machine as root do the following:
This step is required first as /stand is normally mounted read only
umount /stand
mount -rw /dev/boot /stand (check in the man pages )
then do the following:
cd /stand
cp unix unix.m420
cd /
Whenever you put the new disk in the old machine, you can boot it by enterning unix.m420 at the Boot: prompt.
Now with the new disk in the old machine, edit /etc/conf/sdevice.d/ad320, replacing the old irq 5 with 10 and 11.
Relink the kernel, and transfer the disk to the new machine. It should boot by pressing enter at the boot prompt. You can fine tune the kernel parameters by putting the new disk back into the old machine, if the boot fails. Also once you have the new disk working in the new machine, you could copy:
cd /stand
cp unix unix.m470
cd /
Then copy to /stand on the old disk (via tape, tcp or diskette) so that either disk will boot either machine.
Hello jgt and thank for the reply. I will try that, but I need to understand one thing. How did you conclude that IRQ 5 is used? is it from contents of ad320 conf file?
Because in the first listing of /var/adm/messages 10 and 11 were under "vec" column. That was same in the old and new machine but on new machine ha=0 (host adapter I assume) corresponds to 10 and on the old machine ha=1 corresponds to 10.
If I understood correctly my edited ad320 file would look like this now:
* modified contents of the /etc/conf/sdevice.d/ad320
ad320 Y 1 10 0 0 0 0 0 0
ad320 Y 1 11 0 0 0 0 0 0
The irq is the fourth field in sdevice.d/ad320
Is it possible that the kernel in the old machine was created with 10/11 and later the ad320 file was created with irq 5, as irq 5 was often used for scsi devices if lpt2 was not present.
Hello jgt, I did exactly as you suggested and it worked. Many thanks!
Now I have a another issue with network drivers but that is another topic.
once again, thank you very much for your help.