ANNOUNCE: 274x/284x Bootdisks: Slackware Compatible

--------------------
Note: Having read the c.o.l.* newsgroups for the past year, but not having
      kept up with posting etiquette, I am posting this to comp.os.linux.help,
      since people have been asking for 284x bootdisks in this newsgroup.
      However, I would appreciate it if:

      (1) ...there is a more appropriate location for this message to 
          cross-post this for me, or let me know that I should...
      (2) ...this is deemed useful, that people running ftp sites can
          grab this from our local ftp site and put it in an official
          linux one (e.g. tsx-11.mit.edu, sunsite.unc.edu, etc.).  I cannot
          leave this forever in our local one (or send me instructions
          as to how to copy this into an FTP site.  I would need to know which
          one.)

---------------------
Synopsis:
      I have created a slackware 2.0.0 compatible bootdisk with the 
      kernel patches for the Adaptec 274x/284x cards.  Using this, we
      were able to install linux, get it to boot correctly off the hard
      drive, install X, and get term running.  We tested this bootdisk on
      ONE machine: 486DX2-66, Adaptec 2842 SCSI host adapter, 540MB Quantum
      SCSI hard drive, 2x SCSI CD-ROM drive (not tested), Orchid Fahrenheit 
      1280 PLUS VLB, 8MB RAM, a PAS16 (nothing on its SCSI bus), 3.5" floppy
      drive as the "a:" drive, and a 5.25" drive as the "b:" drive.  I 
      announce it as a 274x bootdisk also, only because in theory, it should 
      be 274x compatible since the kernel patches I applied for the SCSI 
      drivers were for both the 274x and 284x cards.

      The bootdisk can be obtained via anonymous FTP from 
      ic.eecs.berkeley.edu:/pub/linux

History: 
      Three days ago, a friend and I started to make a serious attempt
      to install linux on his machine with an Adaptec 2842 SCSI adapter.
      Having found no bootdisks available, we grabbed...

      (1) A linux kernel 1.1.35 (linux-1.1.35.tar.gz from nic.funet.fi)
      (2) The 274x/2874x patches (aha274x-pre-alpha.tar-- My friend grabbed
          this.  I'm not sure from where these came, but he got it from
          reading an article in c.o.l.h.)
      (3) A sample bootdisk (scsi [144]), rootdisk (color144), and
          the ramdisk modifications from slackware_src (ftp.cdrom.com).  The
          ramdisk modifications were necessary so that the bootdisk can be
          made to prompt to user to insert a rootdisk.  Note: the modifications
          did not directly work on this kernel.  I had to make some changes 
          of my own.

      I compiled a small kernel (in retrospect, it is a bit brain damaged).
    
         Normal harddisk support
         System V IPC
         Use -m486 flag for 486-specific optimizations
         No networking
         SCSI support
         Scsi disk support
         Scsi tape support
         Scsi CDROM support
         Scsi generic support
         Adaptec AHA274X support
         Adaptec AHA1740 support (because I was building the kernel using
                                  my machine which has this card)
         PAS16 SCSI support (with PSEUDO_DMA commented out (see note))
         No non-scsi CD-ROMS
         Standard (minix) fs support
         Second extended fs support
         xiafs filesystem support
         msdos fs support
         ISO9660 cdrom filesystem support

      Note: If this Adaptec card failed we would have tried connecting the
      hard drive to the PAS16 card.  Having read some postings on c.o.l.h,
      I got the impression that commenting out the the PSEUDO_DMA line
      might eliminate the kernel freezing problem during the partition check.
      Luckily, though, the adaptec card worked, so this feature is untested.

      Then to make a bootdisk: I took the slackware 2.0.0 SCSI bootdisk,
      replaced /vmlinuz on it with my new kernel, and ran lilo on the floppy.

How we installed linux (If you are installing linux for the first time,
   PLEASE read the slackware 2.0.0 docs and installation HOWTO's first.)
   These instructions are far from complete.  This is simply a rough sketch
   of what we did.

   (1) BACKUPed the hard drive. 
   (2) Disconnect the 8mm tape drive that we had on the SCSI bus.  This made
       the kernel crash.
   (3) Boot my bootdisk.  Then when asked to install a root disk, we used
       the Slackware color144 rootdisk.
   (4) Ran fdisk to partition the hard drive (this, as expected, nuked all
       of the data on the hard drive).
             /dev/sda1   DOS
             /dev/sda2   Linux Swap
             /dev/sda3   Linux Native 
             /dev/sda4   Linux Native
   (5) Rebooted a DOS floppy and reinstalled DOS on the first partition.
   (6) This step was a bit tricky.  Since Slackware does not contain a kernel
       compatible with the Adaptec 2842 card, we had to make sure that the
       kernel on the bootdisk was the kernel on the hard drive.  There is
       no option in the slackware setup which will install the correct one.
       So before doing the slackware "setup" we copied the kernel from the
       bootdisk to the dos partition.  We had a lot of trouble doing this.
       I thought that the following we work.
       (a) boot the bootdisk/rootdisk combo; Put the bootdisk back in; 
           cd /; mount -t minix /dev/fd0 /mnt; mkdir /dos; 
           mount -t msdos /dev/sda1 /dos; cp /mnt/vmlinuz /dos/vmlinuz;
           umount /dos; umount /mnt
       But it didn't:  My friend did (b), and got it to work, but I couldn't
       reproduce it...
       (b) boot the bootdisk/rootdisk combo; Put the bootdisk back in;
           cd /; mount -t msdos /dev/sda1 /mnt; mkdir /mnt/mnt;
           cd /mnt; mount -t minix /dev/fd0 mnt; cp /mnt/mnt/vmlinuz /mnt;
           umount mnt; umount /mnt
       My untested suggestion is to:
       (c) boot the bootdisk; when asked to install the rootdisk, just leave
           the bootdisk in; ignore all of the error messages; cd /;
           mount -t msdos /dev/sda1 /mnt; cp /vmlinuz /mnt; umount /mnt
   (7) Boot the bootdisk/rootdisk combo, and go through the entire
       slackware install process.  We put "/" in /dev/sda3 and "/home"
       in /dev/sda4.  We made a new bootdisk and everything, following the
       instructions, but this one (I don't think) will work.
   (8) We mounted the dos partition and copied vmlinuz (240100 bytes) to
       the hard disk linux root partition (on /dev/sda3).  Then on this 
       kernel on /dev/sda3, we did...
           rdev vmlinuz /dev/sda3
           rdev -R vmlinuz 1
           rdev -r vmlinuz 0
   (9) Then to make a linux bootdisk (not the same as the original bootdisk); 
       we inserted a DIFFERENT formatted floppy, and did...
           cat vmlinuz > /dev/fd0
       It's important to save the original bootdisk, because if this step
       fails, that will be the only way you can get back onto your system.
   (10) We booted this new floppy, and it worked!!!
   (11) Ran "setup" one last time to do a complete system configuration.
   (12) Set up the Xconfig file.
   (13) Set up minicom, and compile term on a mips box.
   (14) Popped up an "xbiff" from school to the linux box. 

   All of this took us about 6 hours.  Good luck!!!

I hope that this can get the people with Adaptec 2842 cards up and running
linux, but please take note that the 2842 kernel patches are pre-alpha.  You
probably should obtain the 2842 kernel patch release notes and read those.
I'd personally make lots of backups when using this system.  :-)

-- 
Henry Chang				         henryc@eecs.Berkeley.EDU
UC Berkeley Graduate Student                                 Berkeley, CA
