|
|
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:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.