workaround for gigabyte Solaris x86 installation

workaround for gigabyte Solaris x86 installation

Post by John Stoss » Fri, 03 Dec 1993 04:42:30

Here is a updated workaround for the x86 gigabyte installation problem.
This workaround is much easier to apply.

John Stossel

 ==== installing Solaris 2.1 for x86 on a hard drive > 1023 cylinders ====

<Error Message>

 After solaris installation, you'll receive the following sort of
 error message:
   "requested cylinder is beyond range of BIOS geometry."

<Problem Description>

 This error message will be generated when your hard drive controller
 does not support reading of sectors beyond 1023 cylinders via BIOS.

 Initial stage of solaris booting is done via BIOS, which accesses
 root file system (slice 0) and alternate slice (slice 9).  So these
 two slices should reside within the first 1023 cylinders.

 Current solaris installation unconditionally creates slice 9 at  
 the end of solaris partition, which causes slice 9 to be created
 beyond absolute cylinder 1023 on a large hard drive.


 A> IDE drive  

 On a IDE drive, use a CMOS user defined drive type to specify a
 geometry as less than 1024 cylinders.  This can be achieved by
 doubling the number of heads or tracks.   Then, re-install solaris.

 B> SCSI drive

 On a SCSI drive, solaris alternate sectors are not used in any way,
 and we will remove them from the VTOC.

 In summary, when installation is done, boot from boot floppy diskette
 and CDROM, exit to the Shell, remove slice 9, then reboot.

 Follow these steps, once solaris installation is done:

 1.  Reboot your system using solaris boot diskette and CDROM.  
 2.  Select 'Exit to the shell' after you are asked to take the
     diskette out by responding to the <OK> prompt.  
 3.  Edit VTOC table to remove slice 9 (Tag 9 means ALTSCTR slice).

       # fmthard -i -n "" /dev/rdsk/c0t0d0s2 > /tmp/out
       # vi /tmp/out, and remove the last line in the file.

         Last line should start something like this:    
           9   9   01   ...   ...   ...

       # fmthard -s /tmp/out -n "newlabel" /dev/rdsk/c0t0d0s2
         no error message should be displayed here.  

 4.  Reboot.


1. Solaris 2.4 x86, nanosleep workaround

Solaris 2.4 for x86
I have made an application which rely on a master server thread creating and
destroying other threads on request from client applications.
I need very good timing in the threads, and planned to use 'nanosleep' for
delays. But it was not working, which is confirmed from Sun.
As a preliminary workaround I have made code which lowers it's priority with
'thr_setpri', poll 'gettimeofday' and call 'thr_yield' until timeout. But this
takes so much CPU time that it will slown down the computer when there is to
many threads working.
I have looked into using timers, but they are limited and it look a litle
complicated to find out which thread timed out.
Do anybody have any sugestion to make a simple nanosleep ?


Arne Varhol

2. Problem booting from floppy

3. Evaluation pointers: x86-Solaris vs x86-NT vs SPARC-Solaris

4. Redhat 4.1 install - Sony CDU31A CD-ROM problems - HELP

5. Solaris x86 or not to Solaris x86?

6. FileRunner 1.1

7. Benchmarks x86 Solaris vs Linux and Solaris 2.6 x86 vs sparc

8. Some questions about disk

9. Solaris x86 should use HLT instruction / was: Re: solaris x86 7 as guest?

10. Solaris2-x86 2.5 on Gigabyte 586DX

11. 1023 Cylinder limit in x86 Solaris10; workarounds?

12. Solaris 2.6 x86 Installation error

13. Solaris 8 for x86 installation