Linux Installation on a Sharp PC-9020 Notebook PC

by Ray Brice
March 21, 1997
This laptop was purchased on February 10, 1997 from
PCs Compleat (1-800-448-1534).  The basic unit: Pentium 120 MHz, 
12.1" dual-scan screen, 6X cd-rom drive, 2 type II or 1 type III PCMCIA
slots, 3.5" floppy drive, 16 MB RAM, 1.1 GB harddrive, all for $1999.
It was upgraded to 48 MB ram for an extra $300.  After the first try at
loading up everything, the screen decided to go out (vertical colored lines,
unreadable text on the screen, etc.).  I don't think the screen
problem was related to linux because I noticed it going out before
trying the X server.

Also purchased was a PCMCIA etherlink III card (3Com 3C589C-TP)
and PCMCIA Data/Fax modem card from Apex Data (33.6kbps/v.34).

This laptop had Win95 pre-loaded.  It contains a small suspend-to-disk 
partition at the end of the harddrive which is used to save contents of RAM
to when powering down.  It can be changed using the PHDISK utility (phdisk 
/info) that comes on a supplied floppy.  The suggested size is whatever amount 
of RAM you have (I set mine to ~60 MB).  

I loaded RedHat linux version 4.0 for intel.  Put in the linux boot floppy
and booted, began the configuration steps.  It didn't recognize the
PCMCIA cards.  At the prompt to load linux to the harddrive, choose edit and
delete the primary DOS partition using linux fdisk.  Recreate the partitions
as follows:

Device     Boot  Begin   Start  End     Blocks    ID  System

/dev/hda1         1       1     102     205600+   6   DOS 16-bit >= 32M
/dev/hda2         103     103   127      50400    82  Linux Swap
/dev/hda3   *     128     128   523     798336    83  Linux Native
/dev/hda4         524     524   526       6048    a0  Unknown

Save and exit fdisk, reboot, continue with boot floppy installation
loading whatever packages you desire (I loaded everything except MetroX).
To get LILO to work, need to set the boot partition to /dev/hda3 in linux.
Then restart the computer with the Win95 floppy in the A: drive.
Use DOS fdisk to set the active partition to be number 3 versus number 1.
Now you can boot from the harddrive and hit the "TAB" key to select
DOS or linux.

After loading linux, now get X working.  The chipset for this 
PC is: Trident Cyber 9385.  I needed to download XFree86 3.2A
which supports this chipset (ftp site: ftp.xfree86.org).  Download the
following tar gzipped files:

preinst.sh
postinst.sh
X32Abin.tgz
X32Adoc.tgz
X32Afnts.tgz
X32Alib.tgz
X32Aman.tgz
X32Aset.tgz
X32AVG16.tgz

Make a tar gzipped file of /usr/X11R6 first
in case something goes wrong (see the RELNOTES34.html file):

cd /usr
tar cvf - X11R6 | gzip > X11.tgz

now run preinst.sh and then un-tar/un-gzip all the .tgz files:

cp preinst.sh /var/tmp
cd /usr/X11R6
sh /var/tmp/preinst.sh

gzip -d < X32A???.tgz | tar xvf -

Run postint.sh similarly.  For some reasong the XF86_SVGA server
doesn't work but the XF86_VGA16 does and it's not too bad.  
Make sure that you have the following symbolic links set:

/usr/X11R6/bin/X -> /etc/X11/X
/etc/X11/X -> /usr/X11R6/bin/XF86_VGA16

then type: ldconfig /usr/X11R6/lib

then put this XF86Config file in the /etc directory:

--------------------------start of XF86Config---------------------------
# XF86Config auto-generated by XF86Setup
#
# Copyright (c) 1996 by The XFree86 Project, Inc.

#
# Permission is hereby granted, free of charge, to any person obtaining a
# copy of this software and associated documentation files (the "Software"),
# to deal in the Software without restriction, including without limitation
# the rights to use, copy, modify, merge, publish, distribute, sublicense,
# and/or sell copies of the Software, and to permit persons to whom the
# Software is furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
# THE XFREE86 PROJECT BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
# OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.
#
# Except as contained in this notice, the name of the XFree86 Project shall
# not be used in advertising or otherwise to promote the sale, use or other
# dealings in this Software without prior written authorization from the
# XFree86 Project.
#

# See 'man XF86Config' for info on the format of this file

Section "Files"
   RgbPath    "/usr/X11R6/lib/X11/rgb"
   FontPath   "/usr/X11R6/lib/X11/fonts/misc/,/usr/X11R6/lib/X11/fonts/75dpi/:unscaled,/usr/X11R6/lib/X11/fonts/75dpi/"
EndSection

Section "ServerFlags"
EndSection

Section "Keyboard"
   Protocol        "Standard"
   AutoRepeat      500 5
   LeftAlt         Meta
   RightAlt        Meta
   ScrollLock      Compose
   RightCtl        Control
   XkbKeycodes     "xfree86"
   XkbTypes        "default"
   XkbCompat       "default"
   XkbSymbols      "us(pc101)"
   XkbGeometry     "pc"
   XkbKeymap       "xfree86(us)"
   XkbRules        "xfree86"
EndSection

Section "Pointer"
   Protocol        "PS/2"
   Device          "/dev/mouse"
   BaudRate        1200
   Emulate3Timeout 50
   SampleRate      0
EndSection

Section "Monitor"
   Identifier      "trident"
   VendorName      "trident"
   ModelName       "cyber938x"
   HorizSync       31.5-37.9
   VertRefresh     55-90
   Modeline  "800x600"    40.00 800 840 968 1056 600 601 605 628 +hsync +vsync
   Modeline  "640x480"    31.50 640 680 720 864 480 488 491 521
   Modeline  "640x400"    25.18 640 664 760 800 400 409 411 450
   Modeline  "480x300"    23.89 480 496 576 632 300 301 303 314 doublescan
   Modeline  "400x300"    20.00 400 416 480 528 300 301 303 314 doublescan
   Modeline  "320x240"    12.59 320 336 384 400 240 245 246 262 doublescan
   Modeline  "320x200"    12.59 320 336 384 400 200 204 205 225 doublescan
EndSection

Section "Device"
   Identifier      "cyber938x"
   VendorName      "cyber"
   BoardName       "938x"




EndSection

Section "Device"
   Identifier      "Generic VGA"
   VendorName      "Unknown"
   BoardName       "Unknown"
   Chipset         "cyber938x"
   VideoRam        2048


EndSection

Section "Screen"
   Driver          "Accel"
   Device          "cyber938x"
   Monitor         "trident"
   BlankTime       0
   SuspendTime     0
   OffTime         0
   SubSection "Display"
      Depth        8
      Modes        "800x600" "640x480" "640x400" "480x300" "400x300" "320x240" "320x200"
      ViewPort     0 0
   EndSubSection
   SubSection "Display"
      Depth        15
      Modes        "800x600" "640x480" "640x400" "480x300" "400x300" "320x240" "320x200"
   EndSubSection
   SubSection "Display"
      Depth        16
      Modes        "800x600" "640x480" "640x400" "480x300" "400x300" "320x240" "320x200"
      ViewPort     0 0
   EndSubSection
   SubSection "Display"
      Depth        24
      Modes        "800x600" "640x480" "640x400" "480x300" "400x300" "320x240" "320x200"
      ViewPort     0 0
   EndSubSection
   SubSection "Display"
      Depth        32
      Modes        "800x600" "640x480" "640x400" "480x300" "400x300" "320x240" "320x200"
      ViewPort     0 0
   EndSubSection
EndSection

Section "Screen"
   Driver          "VGA2"
   Device          "Generic VGA"
   Monitor         "trident"
   BlankTime       0
   SuspendTime     0
   OffTime         0
   SubSection "Display"
      Depth        1
      Modes        "800x600" "640x480" "640x400" "480x300" "400x300" "320x240" "320x200"
#      Virtual       800 600
      Virtual       1024 768
      ViewPort     0 0
   EndSubSection
EndSection

Section "Screen"
   Driver          "VGA16"
   Device          "Generic VGA"
   Monitor         "trident"
   BlankTime       0
   SuspendTime     0
   OffTime         0
   SubSection "Display"
      Depth        4
      Modes        "1024x768" "800x600" "640x480" "640x400" "480x300" "400x300" "320x240" "320x200"
     # Virtual       800 600
      Virtual       1024 768
      ViewPort     0 0
   EndSubSection
EndSection

Section "Screen"
   Driver          "SVGA"
   Device          "cyber938x"
   Monitor         "trident"
   BlankTime       0
   SuspendTime     0
   OffTime         0
   SubSection "Display"
      Depth        8
      Modes        "800x600" "640x480" "640x400" "480x300" "400x300" "320x240" "320x200"
      ViewPort     0 0
   EndSubSection
   SubSection "Display"
      Depth        15
      Modes        "800x600" "640x480" "640x400" "480x300" "400x300" "320x240" "320x200"
   EndSubSection
   SubSection "Display"
      Depth        16
      Modes        "800x600" "640x480" "640x400" "480x300" "400x300" "320x240" "320x200"
      ViewPort     0 0
   EndSubSection
   SubSection "Display"
      Depth        24
      Modes        "800x600" "640x480" "640x400" "480x300" "400x300" "320x240" "320x200"
      ViewPort     0 0
   EndSubSection
   SubSection "Display"
      Depth        32
      Modes        "800x600" "640x480" "640x400" "480x300" "400x300" "320x240" "320x200"
      ViewPort     0 0
   EndSubSection
EndSection

--------------------------end of XF86Config---------------------------

Now you should be able to type: startx and have X working.
It is working for me, including the glide-point mouse
and virtual screen.  I am running the fvwm95 window manager.

Other odds and ends:

go into /etc/rc.d/init.d and rename some files, e.g.:

mv inet inet.sav
mv nfs nfs.sav
mv nfsfs nfsfs.sav
mv sendmail.init sendmail.init.sav

To link the cdrom:

ln -sf /dev/hdc /dev/cdrom

To access the cdrom:

mount -t iso9660 /dev/cdrom /mnt/cdrom

I'm still working on getting the PCMCIA services working
and will update when/if that happens.  Good luck!

Ray Brice ray@hwr.arizona.edu

XFree86 Update

The Cyber 9385 video chipset in the Sharp PC 9020
is fnow ully supported by XFree86 version 3.3, with 
the SVGA server, at 256 or 64k colors. 

Thanks for the attention...
epassos@roadnet.com.br