Monday, May 19, 2008

Installing SCO OpenServer 5.0.6 with BTLD on CD

Scope: To install OpenServer 5.0.6 onto a server with no supported floppy drive (eg. servers that use wacky new USB emulation modes that 5.0.7 supports).

Initially the idea was from Bela Lubkin's suggestion on this usenet post. The concept is to build the BTLD into the El Torito filesystem of a recreated install CD so that a separate floppy is no longer required.

I emailed Bela to clarify a couple of things which he kindly replied to and provided some great tips. He now works for VMWare so he's also provided some tips that will come in handy for that too, I'll put some of his tips at the end of this post for those interested. The core instructions will also be cross posted to Usenet for long term archival/search.

What you will need:

  • SCO OpenServer 5.0.6 installation CD. It should be legal for someone to make you a copy if you don't have one, since you will still need license codes.
  • SCO OpenServer 5.0.7 July 05 ISO from here (definitely required on the new boot disk we're creating for some newer hardware/VMWare - see notes from Bela later).
  • The geteltorito perl script.
  • The BTLD floppy or image you're expecting to require (eg. ServeRAID ipsraid, LSI lsil, etc).
  • A working SCO box to mount the floppy images.
  • A SCO or some other *ix box that has mkisofs/cdrecord to prepare the new boot image CD.
  • Any additional drivers which might be convenient to add to the SCO boot CD so you don't have to scrap together all your drivers next time you reinstall.

Generic Procedure:

  1. Extract the 5.0.6 install CD el torito image => 506bootfd.img
  2. Extract the 5.0.7 install CD el torito image => 507bootfd.img
  3. Mount the boot images and the BTLD on an OpenServer box.
  4. rm /mnt506/unix.notebook (if you don't need it and need space for BTLDs)
  5. cp /mnt507/boot /mnt506/
  6. cp -pR /mntbtld/btldname /mntbtld/install /mnt506/ (for each BTLD you want to add).
  7. Optional: edit /mnt506/etc/default/boot to set your default boot string, or add new entries as aliases for multiple BTLDs already built into the boot string.
  8. unmount 506bootfd.img (and the others if you like)
  9. mount 5.0.6 boot CD (eg to /mnt506cd for this example)
  10. mkdir /tmp/506newimg
  11. cp -pR /mnt506cd/* /tmp/506newimg
  12. cp 506bootfd.img /tmp/506newimg (506bootfd.img = the modified one we added the BTLD to).
  13. Copy any other drivers you want, to /tmp/506newimg now - eg. NIC drivers.
  14. mkisofs -r -v -l -b 506bootfd.img -o 506customcd.iso /tmp/506newimg
  15. Burn 506customcd.iso (or virtual mount if under VMWare).
  16. Boot using this CD on the new server and boot string: "defbootstr link= btld=fd(64)ipsraid". With any additional strings as required to help SCO find the root disk.
  17. Install as normal, press enter when it asks you to put the floppy with the BTLD in the drive, near the middle it will attempt to install the BTLD permanently, this will fail, follow the prompts until you get the opportunity to "(b) abort BTLD load, but continue the install" - press "b".
  18. Reboot the server, keeping the same CD in the drive to boot from it (in VMWare don't forget to go into the virtual BIOS and update the boot order if you need to - it automatically reduces the CD boot priority once the MBR is modified).
  19. At the boot prompt use the boot string: "hd(40)unix root=hd(42) link=fd(64)ipsraid Srom=wd(0,0,0,0) Sdsk=ips(0,0,0,0)" Modifying BTLD names and parameters as required.
  20. At the single user login prompt, enter the root password.
  21. mount /dev/cd0 /mnt
  22. /etc/btldinstall /mnt - follow the prompts.
  23. /etc/conf/cf.d/link_unix
  24. umount /mnt
  25. eject cd
  26. init 6
  27. Server should boot by itself!
  28. Optionally install the extra drivers from the CD once the server is back up.
  29. Start installing patches and customising your box. (Also, Acronis works well with SCO to cut an image of the hard disk - compression doesn't work as well if you don't cut an image with a relatively clean/fresh install, you can fit a base install image in under 700MB).

Detailed Procedure

1. Extract the 5.0.6 install CD el torito image => 506bootfd.img

./geteltorito.pl -o 506bootfd.img /dev/cdrom
Booting catalog starts at sector: 193114
Manufacturer of CD: SCO Product Integration
Image architecture: x86
Boot media type is: 2.88meg floppy
El Torito image starts at sector 193115 and has 5760 sector(s) of 512 Bytes
Image has been written to file "506bootfd.img".
Notes: Parts 1 and 2 were done on a Linux box, since I don't have easy access to the CD drive of a SCO box.

2. Extract the 5.0.7 install CD el torito image => 507bootfd.img

./geteltorito.pl -o 507bootfd.img /dev/cdrom
Booting catalog starts at sector: 140269
Manufacturer of CD: SCO Product Integration
Image architecture: x86
Boot media type is: 2.88meg floppy
El Torito image starts at sector 140270 and has 5760 sector(s) of 512 Bytes
Image has been written to file "507bootfd.img".

3. Mount the boot images and the BTLD on an OpenServer box.

mkdir /disks
ftp/scp/rcp images into /disks
restore:/disks >ls -l 50?bootfd.img
-rw-r--r-- 1 root sys 2949120 May 23 09:31 506bootfd.img
-rw-r--r-- 1 root sys 2949120 May 23 09:31 507bootfd.img
mkdir /mnt506 <- mount point for 506 boot image mkdir /mnt507 <- mount point for 507 boot image marry -a /disks/506bootfd.img
marry -a /disks/507bootfd.img
mount -o nolog /dev/marry/disks/506bootfd.img /mnt506
mount -o nolog /dev/marry/disks/507bootfd.img /mnt507

restore:/disks >df -Pk
Filesystem 1024-blocks Used Available Capacity Mounted on
[...]
/dev/marry/disks/5 2880 2256 624 79% /mnt506
/dev/marry/disks/5 2880 2755 125 96% /mnt507
Key information: 624KB free on the floppy image to work with, plenty of space. Not much room on the 507 image, let's see what's on the filesystems.

restore:/disks >ls -l /mnt506
total 4200
-r--r----- 2 bin bin 52961 Jul 28 2000 ahslink
-r-------- 1 bin bin 74096 Jul 28 2000 boot
drwxrwxrwx 3 bin bin 48 Jul 28 2000 etc
-r--r----- 2 bin bin 52961 Jul 28 2000 link
drwxrwxrwx 4 bin bin 64 Jul 28 2000 opt
-rw-r--r-- 1 bin bin 150810 Jul 28 2000 rootFS
-rw-r--r-- 1 bin bin 1182756 Jul 28 2000 unix
-rwxr-xr-x 1 root sys 616630 Jul 28 2000 unix.notebook


You can delete the unix.notebook kernel if you need space on the 506 disk, but I don't think you'll need to for most.

restore:/disks >ls -l /mnt507
total 5190
-r--r----- 2 bin bin 52985 May 20 2005 ahslink
-r-------- 1 bin bin 74648 May 20 2005 boot
drwxrwxrwx 3 bin bin 48 May 20 2005 etc
-r--r----- 2 bin bin 52985 May 20 2005 link
drwxrwxrwx 4 bin bin 64 May 20 2005 opt
-rw-r--r-- 1 bin bin 154182 May 20 2005 rootFS
-rw-r--r-- 1 bin bin 1652840 May 20 2005 unix
-rw-r--r-- 1 root sys 648826 May 20 2005 unix.smallmem


If you're adjusting this procedure to install a BTLD on the 507 disk you probably want to make space by deleting the >600KB unix.smallmem.








TBC

No comments: