Annotation of Net2/arch/amiga/readme.first, revision 1.1

1.1     ! root        1: ******************************************************************************
        !             2: 
        !             3: Here's the initial version of NetBSD for the Amiga. This version is strictly
        !             4: for the kernel hackers among you, there's no sense in `normal' users trying
        !             5: to install it, possibly killing their other partitions, facing kernel panics and
        !             6: not knowing what to do. Please keep that in mind, if you feel like going on...
        !             7: 
        !             8: ******************************************************************************
        !             9: 
        !            10: 
        !            11: Currently supported equipment:
        !            12: -----------------------------
        !            13: 
        !            14: o any Amiga with either 68020/68851 or 68030, 6888[12] is currently required
        !            15:   (because fpu code is conditionally compilable in the kernel, and this
        !            16:    version contains fpu code).
        !            17: o A3000 internal SCSI controller. Note that you cannot boot BSD currently
        !            18:   with any other SCSI controller (not to mention weird IDE interfaces..).
        !            19: o internal RS232 port. This is not by default used as the system console.
        !            20:   you have to recompile if you want the console on the RS232.
        !            21: o some `sort of' VT200 emulator for the custom chips display, which is
        !            22:   an NTSC laced, 640x400 monochrome display. This is the default console.
        !            23: o disk and tape drivers using the mentioned A3000 scsi controller.
        !            24:   Disks I tried it on include: Wren7, IBM-OEM 0663E12, Quantum LP105S.
        !            25:   Only tape tested is my Wangtek 5150ES.
        !            26: 
        !            27: 
        !            28: Some comments on these:
        !            29: ----------------------
        !            30: 68020&68851/68030 support:
        !            31:        These cpu's should be fully supported. Note that you cannot run
        !            32:        BSD with a '30EC, the MMU is absolutely required. The '40 is
        !            33:        currently *NOT* supported, don't try! The reason for this is
        !            34:        the braindamaged, mind boggingly stupid '40 MMU, which only
        !            35:        implements a very limited subset of the 68851/68030 MMUs. In
        !            36:        particular, it doesn't deal with the current 2-level MMU 
        !            37:        setup. See the extra doc about AMIGA-MMU for details.
        !            38:        Exception handling for the '40 is also different to its predecessors,
        !            39:        however this should be easier to implement than revamping
        !            40:        the MMU code to work on the '40.
        !            41:        
        !            42: A3000 internal SCSI controller:
        !            43:        This is a driver tested on an AMD33C93A chip, I just hope I
        !            44:        didn't do anything that won't run on the dreadful WD33C93A-PROTO
        !            45:        still in use in thousands of A3000. It is a *VERY* rough
        !            46:        driver, it's really a hack, and should be replaced by a chip-
        !            47:        specific low-level driver for use with the generic scsi/*
        !            48:        code for the PC. Might even use Mach-drivers as well. The
        !            49:        driver would support DMA, if only DMA would work... That is,
        !            50:        DMA trashed my memory, so I disabled it for a while, and the
        !            51:        driver was degraded to a PIO in the meanwhile.. Hope to get
        !            52:        DMA up again RSN ...
        !            53:        Note that (contrary to Amiga Unix..) this driver should handle
        !            54:        drives ok that send sync-requests (it just rejects those..).
        !            55: 
        !            56: Internal RS232 port:
        !            57:        Well, that's not exactly a terribly complicated thing.. It should
        !            58:        perform reasonably well, but I didn't really test it with file
        !            59:        transfers, just with my old VT100. It should do hardware flow-
        !            60:        control, but that's not tested either. The driver supports being
        !            61:        a console.
        !            62: 
        !            63: Custom chips display, console:
        !            64:        I implemented the console in a two-layer approach stolen from
        !            65:        the hp300 implementation. There is a low-level layer (grf*) 
        !            66:        responsible for creating a display (`view' in AmigaOS parlance),
        !            67:        and a hi-level layer (ite*) dealing with display of characters,
        !            68:        scrolling regions, handling keyboard, etc. This approach should
        !            69:        it make trivial to support consoles on custom graphics boards.
        !            70:        Grf currently opens an interlaced NTSC screen, with a resolution
        !            71:        of 1024x1024 pixels, and a visible display size of 640x400. It
        !            72:        provides for smooth scrolling of this display window inside the
        !            73:        larger bitmap (once the ioctl's are implemented..), and it can
        !            74:        handle overscan (by changing the visible display size and moving
        !            75:        the display offset). These ioctl's aren't implemented yet either.
        !            76:        Oh: don't try to convince me to offer a PAL display, I won't.
        !            77:        The console tries to be some sort of VT200 compatible terminal,
        !            78:        however, I only implemented a small subset of features. Essentially,
        !            79:        I took the existing HP-ite driver, a VT320 manual, and started
        !            80:        to replace the control sequences with the ones I found in the
        !            81:        manual. Don't expect the driver to do downloadable fonts or other
        !            82:        weird features, I think even scrolling regions might be broken
        !            83:        at the moment. It should however work reasonably well for most
        !            84:        editing purposes.
        !            85:        
        !            86: 
        !            87: Keyboard:
        !            88:        Default keymap is US-ASCII. However, I reasoned quite a bit about
        !            89:        how to do the mapping of keys into characters and character 
        !            90:        sequences to easily change the keymap to international layouts.
        !            91:        Dead-keys are supported, as well as having a second set of keys
        !            92:        reachable with the Alt keys (same usage as AmigaOS). Thus, you
        !            93:        should be able to generate an � (oe) by typing Alt-k o.
        !            94:        However, currently any 8bit characters just appear as ^@ on the
        !            95:        screen, and I don't know whether the tty is responsible for this
        !            96:        misfeature, or whether I have a bug in my alt-key handling...
        !            97:        All keys sending <CSI> sequences send <CSI> as <ESC>[ instead of
        !            98:        \x9b, as under AmigaOS. This should make use with Emacs, Bash, etc.
        !            99:        *much* easier.
        !           100:        For information about how keymaps work, look at dev/kbdmap.h and
        !           101:        dev/kbdmap.c.
        !           102: 
        !           103: Disks:
        !           104:        See the special section on how RDBs map into BSD partitions.
        !           105: 
        !           106: Tapes:
        !           107:        The tape driver seems to support a variety of different tape
        !           108:        drives. Chances are, your tape will work too. Just give it a try,
        !           109:        worst thing that can happen is a kernel panic ;-)
        !           110: 
        !           111: 
        !           112: 
        !           113: RDB's and how BSD finds its partitions on disk drives
        !           114: -----------------------------------------------------
        !           115: BSD partition tables usually look like this:
        !           116:        A:      boot partition, ~8M
        !           117:        B:      swap partition, twice the (Fast)RAM size you have
        !           118:        C:      the entire disk
        !           119:        D:      /usr
        !           120:        E, F, G, H:     additional partitions
        !           121: 
        !           122: Since Amiga partitions are managed thru a RigidDiskBlock (RDB) stored
        !           123: in the first cylinder(s) of a drive, I took the following approach to
        !           124: map Amiga partitions to BSD A-H partitions:
        !           125: 
        !           126: C:     still is the entire disk. Take extreme care!!
        !           127: A:     has identifier: BSDR    (Root fs)
        !           128: B:     has identifier: BSDS    (Swap fs)
        !           129: DEFGH: have identifiers: BSDD, BSDE, BSDF, BSDG, BSDH.
        !           130: 
        !           131: BSD recognizes at most one partition of each type per drive, but you can
        !           132: have multiple BSDD partitions on different drives, for example.
        !           133: 
        !           134: There is no restriction on the volume name for those partitions, and
        !           135: there's no restriction on the order of the partitions on the disk, you can
        !           136: have BSDD before BSDR, for example.
        !           137: 
        !           138: -> IMPORTANT NOTE: BSD will boot off the last BSDR partition it finds,
        !           139:                    ie. if you have a BSDR partition on drives 0 and 6,
        !           140:                    it will boot from the one in drive 6 !!
        !           141: 
        !           142: I'm running BSD on my Amiga with BSDR, BSDS, BSDE on drive 6, and a
        !           143: BSDD on drive 1. BSDD on drive 6 is a backup root filesystem, I can just
        !           144: change its type to BSDR, change the BSDR type to BSDD (ie. swap them), and
        !           145: boot off the other partition, without BSD noticing anything.
        !           146: 
        !           147: 
        !           148: Using UFS partitions formatted under Amiga Unix System V Release 4
        !           149: ------------------------------------------------------------------
        !           150: You can use such partitions under NetBSD-Amiga, however, you cannot use
        !           151: partitions formatted (newfs/mkfs) under NetBSD-Amiga under Amix. Amix
        !           152: uses the old BSD-4.2 ffs, and doesn't understand the new BSD-4.3 ffs.
        !           153: 
        !           154: 
        !           155: Other documents
        !           156: ---------------
        !           157: The BSD distribution contains a huge doc directory, so if you want to
        !           158: know everything about XYZ, chances are you'll find a manual for it there.
        !           159: The other short docs in this distribution cover:
        !           160: 
        !           161:  AMIGA-MMU:    short description of what's going on when initializing
        !           162:                the system.
        !           163: 
        !           164:  BUGS:         you might guess what this contains :-)
        !           165: 
        !           166:  INSTALL:      quick guide on how to install the included dump of the
        !           167:                root filesystem on your harddisk. This is quite risky,
        !           168:                please read the warnings, and only try the installation
        !           169:                if you feel totally confident that you understood the
        !           170:                process!
        !           171:                
        !           172:  README.first: this file.
        !           173:  
        !           174:  RECOMPILE:    short notes about how to change the default configuration
        !           175:                (throw out unneeded drivers, add drivers for other
        !           176:                SCSI units, etc). Recompiling probably requires a lot
        !           177:                of experience in this sort of things (possibly from already
        !           178:                hacking around with the Mach kernel...), I'd imagine
        !           179:                make'ing the kernel requires a lot of unix'ish tools
        !           180:                not commonly found on `normal' amigas, however you 
        !           181:                should find most of them in the Mach distribution.
        !           182: 
        !           183: 
        !           184: Distribution of NetBSD-Amiga
        !           185: ----------------------------
        !           186: I'll try to put my updates on ftp.eunet.ch, given that I don't run out
        !           187: of diskspace there. After integrating the Amiga changes into the official
        !           188: NetBSD sources, you'll also be able to get the (entire) distribution
        !           189: from sun-lamp.cs.berkeley.edu, or any of its mirrors. I'm using the
        !           190: NetBSD-current sources, and am updating my source tree regularly, however I
        !           191: didn't incorporate the most recent changes before the first release, since
        !           192: I've worked with this version for some time now, and found it to be
        !           193: fairly stable (so no loadable kernel modules yet in this release).
        !           194: 
        !           195: There is going to be a mailing-list for NetBSD-Amiga, I'll post the
        !           196: information to comp.unix.amiga when I know its definite name and location.
        !           197: 
        !           198: You can reach me at [email protected], please mention `BSD' in your Subject: 
        !           199: line, this makes it easier for me to automatically sort incoming mail
        !           200: according to topic, thanks!
        !           201: 
        !           202: -Markus Wild
        !           203: 

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.