Annotation of Net2/arch/amiga/readme.first, revision 1.1.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.