Introduction
************

About this document
===================

History
-------

Original document by Mike Schwartz <mykes@shell.portal.com>.

Second revision (completely rewritten) by Guenther Grau <s_grau@ira.uka.de>.

Third revision (restructured) by Tim Walls <tjw1@doc.ic.ac.uk>.

Fourth revision (updates for 1.1) by Hubert Feyrer <hubert.feyrer@rz.uni-regensburg.de>. Thanks to Thorsten Frueauf, Frank Neumann and Bernd Ernesti for proofreading, inspirations and contributions.

Revision 4.2 incorporates a discussion of the various CDs which carry NetBSD/amiga written by Markus Illenseer, a pointer to a XView binary for NetBSD/amiga V1.1, some additions to the list of hardware NOT supported (Squirrel & DKB Rapidfire SCSI controllers) and some fixed typos.

Revision 4.3 has the notice removed, that Xamiga24 runs with the Retina Z2. There's currently no X-server for this card. :(

The FAQ is currently maintained by Hubert Feyrer <hubert.feyrer@rz.uni-regensburg.de>.

Copyright
---------

Copyright © 1993,1994 Guenther Grau

Copyright © 1994,1995 Tim Walls

Copyright © 1996 Hubert Feyrer

Distribution
------------

Whenever this FAQ is updated, notes about where to find the new version will be postet to the following mailing-lists and news-groups: netbsd-announce@netbsd.org, port-amiga@netbsd.org, comp.unix.amiga , de.comp.sys.amiga.unix and comp.unix.bsd.netbsd.announce. You can find it in various formats under /pub/NetBSD-Amiga/docs/NetBSD-Amiga-FAQ on ftp.uni-regensburg.de and its mirrors.  The FAQ is also available via the World Wide Web at http://rfhs1012.fh.uni-regensburg.de/~feyrer/NetBSD/AFAQ/ .

Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies.

Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions, except that this permission notice must be stated in a translation approved by the current maintainer of the FAQ.

Introduction to the FAQ
=======================

Welcome to the NetBSD-Amiga-FAQ!

This document contains a bunch of useful infomation about NetBSD on the Amiga. It was mainly created for people who never used NetBSD on the Amiga before, but it contains a lot of valuable information for all users, especially in the last chapter. This last chapter contains a list of Frequently Asked Questions (FAQs) and their respective answers.

In general the people on the Internet are very helpful, so if you have a problem when using NetBSD, don't be shy and ask for help. But ...

BE SURE YOU HAVE READ AN UP-TO-DATE VERSION OF THIS FAQ FIRST!!!

It is really annoying and time consuming, if a lot of people ask the same questions and we have to answer them over and over again. See INFORM, for information on how to get an up-to-date version of this document. Also, please redistribute this FAQ, so that it is easier for people who are interested in NetBSD to find it.

Please write all comments, suggestions, spelling corrections, etc. to the current maintainter of the FAQ. This will help to keep this FAQ up-to-date and useful. Thank you for reading the FAQ, because that's why we put so many hours of work into it! You will find the name and the email-address of the current maintainer of this document on the second page. Later on all references to the author of this FAQ will be name- and address-less, for the ease of maintainance. If you ever need to contact the author, see the second page for his name and email-address.

What is NetBSD?
***************

This chapter contains general information about NetBSD.

The name of the game
====================

NetBSD is a Unix-like operating system. It is very portable and runs on multiple architectures such as Amiga, Atari, HP300, Mac, Sun3, Sparc, PC, VAX, Mips, Alpha, ... It is developed by people all around the world on the Internet, therefore it's called NetBSD. It has all the features you would expect in a modern Unix, including true (preemtive) multitasking, virtual memory, shared libraries, demand loading, shared copy-on-write executables and TCP/IP networking.

For a complete description of a Unix-like operating system, please refer to some introductionary books about Unix. If you have access to Usenet, get any of the comp.unix.* Newsgroups FAQs.

See INFORM, for information on how to get more and detailed information on NetBSD.

Who is working on the port?
===========================

NetBSD was ported to the Amiga by Markus Wild <mw@eunet.ch>, who also initially ported GCC to AmigaDOS and who did the ixemul.library. Once NetBSD-Amiga was useable, a lot of people joined in and contributed a lot to the project.

Here's an attempt to list them all (in alphabetic order):

  * Alan Bair <abair@amcu-tx.sps.mot.com>: Fontdumper, Rootfs.

  * Stefan G. Berg <sgberg@charon.bloomington.in.us>: Writing documentation.

  * Dave Blaszyk <dvb@ssd.kodak.com>: a driver for IVS Vector SCSI board

  * Klaus Burkert <crest@arkon.dontpanic.sub.org>: Picasso II and Ariadne-support

  * Philippe Brand <PhB@telesys-innov.fr>: X-server for custom chips, X-server for Retina.

  * David Crooke <dcc@dcs.ed.ac.uk>: Writing an installation-document.

  * William J. Coldwell <billc@warped.com>: Maintaining the Mailing-List in the old days, Various programming.

  * Bernd Ernesti <bernd@arresum.inka.de>: Debugging WarpEngine's SCSI-driver and Ariadne ethernet driver, Xcl, Picasso II and CyberVision'64 drivers, compiling X11R6-snapshots.

  * Hubert Feyrer <hubert.feyrer@rz.uni-regensburg.de>: Writing documentation, maintainer of ftp.uni-regensburg.de:/pub/NetBSD-Amiga.

  * Thorsten Frueauf <frueauf@ira.uka.de>: Updating NetBSD-Amiga-X-FAQ

  * Guenther Grau <s_grau@ira.uka.de>: Extensively writing documents.

  * Niklas Hallqvist <niklas@appli.se>: Porting the Mach VM system, that NetBSD-Amiga uses, driver for GVP, ADos-FS, GoldenGate (ISA) support.

  * Rob Healey <rhealey@aggregate.com>: a LOT of bug-fixes.

  * Andy Heffernan <ahh@netcom.com>: Porting GDB, compiling X11R5.

  * Michael L. Hitch <osymh@montana.edu>: Support for the 68040, drivers for various SCSI-devices, changing loadbsd, fixing bugs, 5380-Driver, AGA-modes for the console and X, A4000 IDE driver, a LOT of bug-fixes, implementing a floppy-driver, IVS-Vector-driver etc.

  * Chris Hopps <chopps@emunix.emich.edu>: Support for the custom chips, reintegrating the changes back to the NetBSD-current source tree, fixing bugs and (re-)designing some of the code. Main coordinator of the source and official maintainer of the NetBSD/amiga port. ADos-Filesystem.

  * Eduardo E. Horvath <eeh@btr.com>: X11R5-Mono-Server.

  * Markus Illenseer <markus@tiger.teuto.de>: Writing documentation, Picasso- and Ariadne-support, Porting X-clients, Gateway!-CD

  * Oliver Lahaye <lahaye_o@epita.fr>: X-server for custom chips, X-server for Retina.

  * Kari Mettinen <Kari.Mettinen@helsinki.fi>: Xcl and Picasso II support.

  * Brad Pepers <pepersb@cuug.ab.ca>: Implementing a floppy-driver.

  * Oliver Raoul <raoul_o@epita.fr>: X-server for custom chips, X-server for Retina.

  * Stephen J. Roznowski <sjr@zombie.ncsc.mil>: Building binary-snapshots from sun-lamp sources.

  * Ty Sarna <tsarna@endicor.com>: Various programming, Installation.

  * Ignatios Souvatzis <is@beverly.rhein.de>: A2060 (Arcnet) and A2410 (TIGA gfx card) support

  * Ezra Story <ezy@panix.com>: Spektrum support

  * Michael Teske <teske@wotan.desy.de>: CyberVision'64 support

  * Roy Trevino <rtrevino@sedona.intel.com>: X11R5-Mono-Server.

  * Lutz Vieweg <lkv@mania.RoBIN.de>: providing information and writing a tty-device-driver for the Retina Z2

  * Markus Wild <mw@eunet.ch>: Initially started the port of NetBSD-current to the Amiga, Xamiga24, still working on various projects.

I hope I didn't forget anyone. If so, please tell me!

What do I need to run NetBSD/amiga
**********************************

This chapter describes the hardware related topics of NetBSD. It will explain, what kind of hardware you need to be able to run NetBSD on your Amiga.

In general, there are two major requirements your system must fulfill to be able to run NetBSD. You must have an apropriate CPU and enough memory. To comfortably run NetBSD you should dedicate some harddiskspace to NetBSD.

Which CPU is needed?
====================

It depends heavily on the type of CPU your system has, whether or not NetBSD runs on your Amiga. NetBSD, as any other modern Unix-derivate, too, must have a memory-management-unit (MMU) to be able to run.  This is needed as all the programs that run under Unix are separated from each other, so no program can do any harm to any other.

You need to have one of the following processors (CPUs) to be able to run NetBSD:

  * 68020 with 68851 (MMU) and 68881 or 68882 (FPU)

  * 68030 with 68881 or 68882 (FPU)

  * 68040

Note, that it is very important that you have a real CPU, i.e. not an EC- or LC-version. These versions are missing the MMU- and/or FPU-part of the chip and are therefore cheaper. It is not possible to simply add a 68851 (MMU) or 68881/68882 (FPU) to these chips, if your CPU-board doesn't provide a place for it. If you have an 68030EC, you can however replace it by a 68030, or you have to buy a seperate CPU-board or accelerator-board equipped with one of the CPUs mentioned above to be able to run NetBSD.

NetBSD/amiga does currently not support the 68060!

Also note, that you currently need a floating-point-unit (FPU) to be able to run NetBSD. The kernel itself, that is the core part of NetBSD, does not need an FPU, but some of the essential utilities do. Other ports of NetBSD on other architectures have an FPU-emulator implemented in the kernel, so they can do without an FPU. So, if someone implements an FPU-emulator for NetBSD on the 680x0-architecture, the need for a seperate FPU will eventually vanish, but for now you need an FPU.

How much memory do I need?
==========================

Theoretically, you only need 2MB of FAST-RAM and 1MB of CHIP-RAM. The 1MB CHIP-memory is only needed due to the way NetBSD is currently booted.  The kernel is loaded into the CHIP-memory and then copied into the largest chunk of fast memory found. Therefore 2MB is the bare minimum and will not allow you to do anything useful, but booting.

Note that the complete GENERIC kernel (including drivers for every device supported) is over 1MB in size;  you can't load this kernel with only 1MB of CHIP RAM, 2MB is required.  The basic INSTALL kernel will load with 1MB CHIP fine however.

It is possible to run NetBSD in a low memory situation, because it uses a mechanism called paging. It writes currently unused parts of programs to the disk, thus freeing some memory for other parts. Writing to and reading from disk is very slow, compared to the execution of programs in memory, so the system will be too slow to be useable. So, to have an actual useable system, you should have at least 4MB of FAST-RAM, preferably more. When you want to use X-Windows, a graphical user interface on top of NetBSD, you probably need about 8MB or even more to do anything useful.

Non contiguous memory
---------------------

With the Amiga's architecture being what it is, it is often the case that the memory map will have "holes" in it - say, 1MB of CHIP RAM, followed by a gap, 4MB of 16bit RAM, a gap, and then in (very) high memory a block of 32bit RAM; this is often the case with 68000 machines upgraded to an 030 or above.

To use more then one such chunk of memory, you need a kernel that was build with the following line in the config-file (see KERNEL, for more information on how to compile your own kernel):

options         MACHINE_NONCONTIG # Non-contiguous memory support

Besides that, you have to tell loadbsd to use all memory chunks, which you do by passing it '-n 2' when booting NetBSD. It will then use all available memory segments.

How much diskspace do I need?
=============================

Theoretically, you can do without any harddiskspace. It is possible to boot NetBSD from floppy-disks, but you cannot do any useful work with such a setup. To get an actually useable system, you will need to dedicate some harddiskspace to NetBSD. How much you actually need depends heavily on what you want to do with NetBSD.

A small, but complete working system needs about 50 to 80MB. It should be clear, that the more goodies you want to add, the more space you need.

To prevent you from running out of memory, you should use about twice your RAM amount just for a swap partition on your drive (or about three times if you intend to use the X-Windows system). That is where NetBSD writes the parts of running programs which are currently not used to free up some main-memory for other programs.

Add another, say, 30M it you want to recompile your own kernels from source. (This can be stripped down to less then 20M if you delete the source for ports you don't want, but you'd have to unpack the full source first!).

The X window system binaries take another 30M of harddisk space.

What other hardware requirements are there?
===========================================

There are no other hardware requirements to run NetBSD, but you are free to use additional devices, provided they are supported.

There is a general scheme on how NetBSD deals with devices. To get a device working with NetBSD you have to provide a so called 'driver' for this device. This is a hardwaredependent part of the kernel, which knows how to access the particular device. There are already device-drivers for the most commonly used devices, but there are still some device-drivers to be written.

It is a difficult task to add support for a new device. So you need to have good programming skills and need to know a lot about how the kernel deals with devices. If you think that you are an experienced programmer and want to add support for a new device, you need to be able to recompile the kernel yourself. See KERNEL, for information on how to do this. See INFORM, for information on how to get in contact with other developers.

If you use a device that's not supported, there is one danger: the device may generate (hardware-) interrupts for which there are no handlers and which will therefor crash the machine! So, if you use some card which isn't supported or you aren't sure if it is, and your machine locks up early while booting, try removing that card.

A tape drive is recommended for NetBSD, as for any other operating system, too. You should do regularly backups in order to be able to restore the data you might have accidentially destroyed. Especially when you are doing kernel-development, chances are, that you may trash your harddisk. The system is normally quite stable, so doing backups is not a must but a sensible option.

What hardware is supported by NetBSD/amiga V1.1, anyways?
=========================================================

Here's what the INSTALL-file says. Supported devices include:

  * A4000/A1200 IDE controller.

  * SCSI host adapters:

       * 33c93 based boards: A2091, A3000 and GVP series II.

       * 53c80 based boards: 12 Gauge, IVS and Wordsync/Bytesync.

       * 53c710 based boards: A4091, Magnum, Warp Engine and Zeus.

       * FAS216 based boards: FastLane Z3, Blizzard.

  * Video controllers:

       * ECS, AGA and A2024 built in on various amigas.

       * Retina Z2 and Retina Z3.

       * Picasso II.

       * GVP Spectrum.

       * Piccolo.

       * A2410.

       * CyberVision 64.

  * Ethernet controllers:

       * A2065 Ethernet

       * Hydra Ethernet

       * ASDG Ethernet

       * A4066 Ethernet

       * Ariadne Ethernet

       * Quicknet Ethernet

  * Arcnet controllers:

       * A2060 Arcnet

  * Tape drives: Most SCSI tape drives, including Archive Viper, Cipher SCSI-2 ST150.

  * CD-ROM drives: Most SCSI CD-ROM drives

  * Serial cards:

       * MultiFaceCard II and III

       * A2232

  * Amiga floppy drives.

  * Amiga parallel port.

  * Amiga serial port.

  * Amiga mouse.

Experimental versions of new drivers can sometimes be found in on ftp.uni-regensburg.de and its mirrors in /pub/NetBSD-Amiga/experimental .

Things currently not supported by NetBSD/amiga
==============================================

People have asked for the following things to be supported in NetBSD/amiga, but so far, you're out of luck:

  * 68060 CPU, either on the Blizzard A2060, the CyberStorm or some other 060 board.

  * Oktagon SCSI controller

  * Golem SCSI controller

  * Evolution SCSI controller

  * Cobra Ferret SCSI controller

  * Blizzard III and IV SCSI controller

  * ALF 2/3 SCSI controller

  * Rapidfire SCSI controller

  * Merlin graphics card

  * Piccolo SD64 graphics board

  * the A1200's PCMCIA-slot and any card using it

  * Squirrel SCSI controller (PCMCIA card)

  * DKB Rapidfire SCSI controller

  * Networking via AmigaLink & PLIP

Please don't bother people about support for those devices. As soon as they are available, they'll be removed from the above list.

Where can I find more information on NetBSD?
********************************************

This chapter contains information on how to get more information on NetBSD. There are several ways to get the desired information. Choose the one which uses the least resources. To do this, simply use the first method described here which is appropriate for you.

UseNet News
===========

If you have access to Usenet, subscribe to (some of) the following news-groups:

  * comp.unix.amiga : Discussions, Questions and anwers about any on Amiga (NetBSD, Linux, Amix, AmiNIX, Minix, etc.).

  * de.comp.sys.amiga.unix: Basically the same as above, but in German language.

  * comp.unix.bsd.netbsd.announce: NetBSD-related announcements, all ports. Dave Burgess (burgess@s069.infonet.net) posts his excellent 386BSD-FAQ here, also available as http://cynjut.neonramp.com/FAQ.html via WWW. Have a look at it!

  * comp.unix.questions: For general questions on Unix. They got an excellent FAQ there!

  * comp.unix.bsd.netbsd.misc: Discussion on NetBSD on all ports, not just amiga, questions & answers.

Anonymous FTP
=============

If you don't have access to Usenet, but have the possibility to get files from the Internet with the File Transfer Protocol (FTP), then get the latest FAQ from rtfm.mit.edu. This is the place where all FAQs from all news-groups are collected and archived.

To find general information on NetBSD, try the following sites:

  * NetBSD.rmit.edu.au:/pub/NetBSD/NetBSD-1.1

  * ftp.ms.mff.cuni.cz:/MIRRORS/sup.netbsd.org/pub/NetBSD/NetBSD-1.1

  * ftp.uni-paderborn.de:/pub/NetBSD/NetBSD-1.1

  * ftp.uni-regensburg.de:/pub/NetBSD-1.1

  * ftp.iastate.edu:/pub/netbsd/NetBSD-1.1

  * wuarchive.wustl.edu:/systems/unix/NetBSD/NetBSD-1.1

  * ftp.luth.se:/pub/NetBSD/packages/binaries/NetBSD-1.1

  * ftp.demon.co.uk:/pub/unix/NetBSD/NetBSD-1.1

  * sunsite.doc.ic.ac.uk:/packages/NetBSD-1.1

Additional information on NetBSD/amiga is available on ftp.uni-regensburg.de and its mirrors, look into the directory /pub/NetBSD-Amiga/docs . This site  carries lots of things related to NetBSD/amiga. Here's a full list of all known mirrors:

  * ftp.luth.se:/pub/NetBSD/NetBSD-Amiga

  * ftp.hrz.uni-kassel.de:/pub/machines/amiga/NetBSD

  * ftp.uni-stuttgart.de:/pub/systems/amiga/netbsd

  * ftp.uni-erlangen.de:/pub/amiga/unix/NetBSD

  * ftp.uni-trier.de:/pub/unix/systems/NetBSD-Amiga

  * ftp.germany.eu.net:/pub/comp/amiga/NetBSD-Amiga

  * ftp.uni-augsburg.de:/pub/amiga/NetBSD

  * ftp.funet.fi:/index/NetBSD-Amiga

  * ftp.cs.umn.edu:/pub/NetBSD-Amiga

  * ftp.warped.com:/pub/NetBSD-Amiga

  * ftp.unina.it:/pub/amiga/NetBSD-Amiga

  * ftp.nvg.unit.no:/pub/NetBSD-Amiga

World Wide Web
==============

This document is available via the World Wide Web (Mosaic, Netrape, lynx etc.) at http://rfhs1012.fh.uni-regensburg.de/~feyrer/NetBSD/AFAQ/ .

The following URLs point to sites that hold information or files relating to NetBSD, including this FAQ.  (Note that ftp.uni-regensburg.de is the home site for all NetBSD-Amiga specific files).

  * http://www.netbsd.org/

  * ftp://ftp.uni-regensburg.de/pub/NetBSD-Amiga/.index.html

  * http://www4.informatik.uni-erlangen.de/~roessler/NetBSD-Amiga/

  * http://rfhs1012.fh.uni-regensburg.de/~feyrer/NetBSD/

  * http://cynjut.neonramp.com/FAQ.html

Internet Relay Chat
===================

If you have access to IRC (Internet Relay Chat), try to join the channels #amiga or #amigager. Discussions on the former one are in English, on the latter one in German. These channels are not dedicated to NetBSD, but you are likely to find some of the developers and users of NetBSD there.

A dedicated NetBSD channel also exists, suprisingly called #NetBSD.

Electronic Mailing Lists
========================

There are several mailing-lists available for NetBSD . To get information on these mailing-lists, use your favourite mailer and send the following message:

     To: majordomo@netbsd.org
     Subject: Don't care, isn't processed.
     help
     end

You will receive an answer that might look like this:

     To: s_grau@ira.uka.de   <-- This will be replaced with your email-address.
     From: majordomo@netbsd.org
     Subject: Majordomo results
     Reply-To: majordomo@netbsd.org

     --

     >>>> help
     This is Brent Chapman's "Majordomo" mailing list manager, version 1.92.

     In the description below items contained in []'s are optional. When
     providing the item, do not include the []'s around it.

     It understands the following commands:

         subscribe <list> [<address>]
             Subscribe yourself (or <address> if specified) to the named <list>.

         unsubscribe <list> [<address>]
             Unsubscribe yourself (or <address> if specified) from the named <list>.

         get <list> <filename>
             Get a file related to <list>.

         index <list>
             Return an index of files you can "get" for <list>.

         which [<address>]
             Find out which lists you (or <address> if specified) are on.

         info <list>
             Retrieve the general introductory information for the named <list>.

         lists
             Show the lists served by this Majordomo server.

         help
             Retrieve this message.

         end
             Stop processing commands (useful if your mailer adds a signature).

     Commands should be sent in the body of an email message to
     "majordomo@NetBSD.ORG".

     Commands in the "Subject:" line NOT processed.

     If you have any questions or problems, please contact
     "owner-majordomo@NetBSD.ORG".

If you send the command lists to majordomo, you will currently receive a mail like this:

     ...
     >>>> lists
     majordomo@NetBSD.ORG serves the following lists:

       Old
       current-users        General discussion regarding NetBSD-current
       m68k                 Technical discussion regarding all NetBSD/m68k ports
       macbsd-development   Technical discussion regarding NetBSD/mac
       macbsd-general       General discussion regarding NetBSD/mac
       netbsd-announce      Moderated list for announcements only
       netbsd-bugs          Bug reports
       netbsd-help          Questions and answers
       netbsd-ports
       netbsd-users         General discussion
       port-alpha           Technical discussion regarding NetBSD/alpha
       port-amiga           Technical discussion regarding NetBSD/amiga
       port-atari           Technical discussion regarding NetBSD/atari
       port-hp300           Technical discussion regarding NetBSD/hp300
       port-i386            Technical discussion regarding NetBSD/i386
       port-m68k            Technical discussion regarding all NetBSD/m68k ports
       port-mac68k          Technical discussion regarding NetBSD/mac68k
       port-pc532           Technical discussion regarding NetBSD/pc532
       port-pmax            Technical discussion regarding NetBSD/pmax
       port-sparc           Technical discussion regarding NetBSD/sparc
       port-sun3            Technical discussion regarding NetBSD/sun3
       port-vax             Technical discussion regarding NetBSD/vax
       portable-ppp         Technical discussion regarding user-space PPP
       source-changes       Source tree changes
       tech-install         Technical discussion regarding installation tools
       tech-kern            Technical discussion regarding all aspects of the kernel
       tech-misc            Technical discussion not appropriate for the other tech-* lists
       tech-net             Technical discussion regarding networking software
       tech-ports           Technical discussion regarding all ports
       tech-userlevel       Technical discussion regarding user-level programs

     Use the 'info <list>' command to get more information
     about a specific list.

The port-amiga is for all discussion of Amiga-related problems. There used to be three lists (amiga, amiga-dev and amiga-x), but they aren't used any more.

Besides port-amiga, it is highly recommended to get on the netbsd-announce lists, because you'll be informed about official releases, etc. there.

To do so, your email would look like this:

     To: majordomo@netbsd.org
     Subject: None
     subscribe port-amiga
     subscribe netbsd-announce
     end

You will receive an answer-mail from majordomo, that it successfully processed your subscription and that you are on the desired mailing-lists.

If you're interrested in development or want to be up to date with what's going on, join current-users, too.

Note that there is some traffic on all of these lists, so expect a few mails more to arrive in your mailbox each day. It is recommended, but not required, that you get on a list before sending any mail to it, because most of the answers are simply sent to the list and not to the sender. Please note also that most of these mailing lists are archived , so do not send things to them if you do not wish your messages to be archived.

Be sure to have read the latest version of this document, before sending any mail to these lists!

To send any mail to the lists, simply replace majordomo in the address with the list you want to address. For example, if you would like to write a mail to the amiga-list, send your mail to port-amiga@netbsd.org.

Useful books
============

There aren't many books which can help you with (say) possible kernel bugs or installation problems, but administering any Unix system is not a trivial task.  Luckily, there is plenty of paper out there about the assorted jobs that befall a Unix sysadmin.

Basic System Administration
---------------------------

The books listed below deal with Unix and Unix system administration in general.

  * Unix Unleashed

     'The Only UNIX Book You'll Ever Need!' is written on the cover page of this 1600-pages-book, and indeed it covers about every topic one could think of. The book consists of many small introductory texts to various topics, a reference card for common keystrokes in vi and emacs, pictures of some of the authors (ever wondered what the author of NetBSD's UUCP package looks like? :-), plus a CD that doesn't have a rockridge extension. The CD includes sources of the more common Unix tools described and mentioned in the book itself.  All in all, this book's worth having a look at if you don't want to buy several books.

     Contents: What is an operating system, the Unix philosophy, getting started, the Unix filesystem, working with files & directories, listing files, some popular tools (dc, cal, su, man, grep, compress, tee, touch), editors (vi, emacs, sed), using network (rlogin, rcp, ftp, uucp), communication with other users (email, news, talk, irc), in depth introductions to various shells (Bourne, Korn, C), introduction do several programming languages (awk, perl, C), process control (concept, ps, kill, cron), text formatting (nroff, troff, macro packages, tbl, eqn, pic, grap), RCS, SCCS, tar, shar, backups (dump, restore), system startup & shutdown, file system administration, user administration, networking, accounting, performance monitoring, kernel tuning, administration of mail, news & uucp, running INN, a discussion on system security, unix flavours, graphical user interfaces and even some Motif-programming.

     Now, if this doesn't at least mention something you're interrested in, you're in the wrong place here. :)

       * Name: Unix Unleashed

       * Author(s): many

       * Publisher: Sams Publishing

       * ISBN: 0-672-30402-3

       * Pages: 1620

  * AEleen Frisch : Essential System Administration

     A very nice description of all the basic and not so basic tasks of system administration, maybe a bit too much emphasized on System V, but also covers BSD.

     Contents: the system administrator's job, communicating with users, menu interfaces, the unix way: files, processes, devices, filesystem layout, tools, finding files, deleting files, startup & shutdown, boot process, managing user accounts & groups, security, managing system resources (cpu, memory, IO, disk space), automating tasks with scripts and such, filesystems & disks, fsck, adding disks, backup & restore, terminals & modems, printers and the spooling subsystem, TCP/IP network management, electronic mail, configuring & building kernels (SCO Unix, Linux, DEC & SUN, HP, Solaris, AIX), accounting.

       * Name: Essential System Administration

       * Author(s): AEleen Frisch

       * Publisher: O'Reilly & Assosciates, Inc.

       * ISBN: 1-56592-127-5

       * Pages: 788

  * 4.4BSD System Managers Manual

     This is a nicely produced reference book (which we've come to expect from O'Reilly - complete with the magic lay-flat binding, and tab marks at the edges of the pages), which consists of two broad sections.  In the first section are reproductions of the complete BSD4.4 man(8) pages (ie. all those relating to system administration).  Before you shout "I've already got those on disk", this is useful for two reasons: Firstly, some of us like to have a book by the keyboard and an uncluttered screen, and secondly a complete permuted index of the pages is included.

     The second section is a (disparate) collection of papers detailing a whole host of topics, from setting up name-servers to the inimitable sendmail.  The papers are all somewhat terse, but usually contain a pointer to the information you want somewhere.

     This is certainly not the kind of book you sit down to read in a spare five minutes; but I have referred to it enough in emergencies to recommend it.  Its probably best to have a look through it in the shop, though, to see if the style suits you.

       * Name: 4.4 System Managers Manual

       * Author(s): Computer Systems Research Group, UC Berkeley

       * Publisher: The USENIX association and O'Reilly & Assosciates, Inc.

       * ISBN: 1-56592-080-5

       * Pages: 804

Advanced System Administration
------------------------------

  * Craig Hunt : TCP/IP Network Administration

     The book if you want to know about TCP/IP networking. Starting with the very basics of routing, it describes how to configure your machine, routers and every crucial service. With this book in your hand, you don't need some of the following books if you just want to get it going, without tackling with every single option. I love it!

     Contents: Overview of TCP/IP (layers: concept Internet, transport, application), addressing, routing, multiplexing, subnetting, RARP, protocols, ports & sockets, name service concepts, basic system configuration of several unix systems (BSD, System V, SCO), SLIP, PPP, various routing protocols (RIP, EGP, gated), configuring DNS, rlogin, FTP, NFS, sendmail, hints on troubleshooting, network security.

       * Name: TCP/IP Network Administration

       * Author(s): Craig Hunt

       * Publisher: O'Reilly & Assosciates, Inc.

       * ISBN: 0-937175-82-X

       * Pages: 502

  * Bryan Costales, etc. : Sendmail

     This book is dedicated to sendmail entirely. Beginning from where to get the source and how to install it, it describes how to set up a simple (client) mail system and documents the transition to a more complex one.  The appendix describes every option in detail, as well as specialities of of IDA & V8 sendmail and rule sets.

     Contents: MUA vs MTA, parts of sendmail, running sendmail by hand, header, body & envelope, local delivery, network forwarding, how to run sendmail (command line options), the sendmail.cf file (comments, macros, rules, rule sets, class macros, options, priority), mail delivery agents, macros, addresses and rules, rule sets, the workspace, description of several rule sets, classes, options in the config file, header, priority, MX records, compiling and installing sendmail, obtaining the source, decisions in conf.h, decisions in conf.c, decisions in pathnames.h, decisions in Makefile, pitfalls, DNS and sendmail, set up MX records, prepare for disasster, security, permissions, forged mail, the queue, parts of a queued file, printing the queue, aliases, mailing lists and ~/.forward, logging and statistics.

       * Name: sendmail

       * Author(s): Bryan Costales with Eric Allman & Neil Rickert

       * Publisher: O'Reilly & Assosciates, Inc.

       * ISBN: 1-56592-056-2

       * Pages: 792

  * Cricket Liu, etc. : DNS and BIND

     This book discusses the Domain Name System and it's most popular implementation, the Berkeley Internet Name Domain software, which is responsible for managing the Internet's distributed database of host information and routing mail to the right destination.

     Contents: Background, How does DNS work (domain names, domains, records, delegation, resolvers, caching), how to start, setting it all up (SOA, NS, PTR records, loopback address, cache data), tools, primary & secondary nameserver, DNS and electronic mail (MX), configuring the resolver, vendor specific options, tuning the installation, parenting, handling nslookup, troubleshooting, programming with the resolver library.

       * Name: DNS and BIND

       * Author(s): Paul Albitz, Cricket Liu

       * Publisher: O'Reilly & Assosciates, Inc.

       * ISBN: 1-56592-010-4

       * Pages: 380

  * Robert King Ables: The Keys to Successful Unix System Management

     This is not the 'usual' sysadmin handbook that describes how to create some user accounts or doing your backups. Much rather, it discusses the philosophy of being a system administrator, how to deal with your users, your customers, and employees, how to manage stress and disaster situations as well as plans for backing up your system, how to prevent disaster and what to do if destiny struck anyway.

     Contents: Who is the System Administrator, What does the System Administrator do, Why is the System Administrator needed, where is the SA needed, Software: Backups, User Accounts, the general health of your system, third-party software, device management, file system management, operating system modifications, performance tuning, dealing with heterogenity, staying ahead. Hardware: equipment components, equipment installation, equipment maintenance; physical environment: your computer room, aif conditioning, fire suppression, capacity management, cooling, disaster recovery, emergency procedures. Networking: standards, protocols, applications; Security: why be secure, types of risk, security planning, administrative controls, software controls, physical controls, network security, handling a breach; Administrative Skills: information management, planning, financial management; Personal skells: user service, communcation with users, management, collegues, vendors; about yourself, stress management, continuing education; the career: hiring a System Administrator, job description, keeping a system administrator, the career path.

       * Name: Keys to Successful UNIX Systems Management

       * Author(s): Robert King Ables

       * Publisher: Prentice-Hall, Inc.

       * ISBN: 0139483810

       * Pages: 316

Programming under Unix
----------------------

  * Larry Wall, Randal Schwartz : Programming perl

     This book, also known as the 'Camel book',  describes the 'Practical Extraction and Report Language' in a tight fashion, showing up all the features and giving numerous small examples as well as a full reference for the grammar and all the functions provided by perl. Describing only perl version 4, this book is a nice reference for all the things you need every day, but not up-to-date if you want to use the latest features.

     Contents: overview: filehandles, variables, operators, lists, pattern matching, associative arrays, lines and paragraphs, command-line switches, generating reports, subroutines, recursion, exact discussion of data types & objects, operators, statements, subroutines, regular expressions, formats, special variables and packages, all functions, common tasks with perl, real perl programs (database manipulation, grep programs, programming aids, system administration stuff, filename manipulation, text manipulation tools, processes, interprocess communications), debugging, efficiency, setuid scripts.

       * Name: Programming perl

       * Author(s): Larry Wall & Randal L. Schwartz

       * Publisher: O'Reilly & Assosciates, Inc.

       * ISBN: 0-937175-64-1

       * Pages: 482

  * Brian W. Kernighan, Rob Pike: The Unix Programming Environment

     This book is good for absolute Unix beginners which want to learn how to do some programming with all those tools that come ready to use with any Unix system.

     Topics covered are first steps from logging in, file handling (cat, mv, cp, rm), directory handling (cd, mkdir, ...) shell-basics (variables, wildcards), filters (grep, sed, awk), shell programming (loops, signals, arguments, stdio), an introduction to system calls (read, write, open, creat, ...), an introduction to programming with lex, yacc & make and documentation using troff, tbl & eqn.

     Despite the seemingly broad range this book aims at, it's mainly a very good introduction to shell programming.

       * Name: The Unix Programming Environment

       * Author(s): Brian W. Kernighan , Rob Pike

       * Publisher: Prentice-Hall, Inc.

       * ISBN: 3-446-14273-8 (German language edition!!!)

       * Pages: ~300

  * Brian W. Kernighan , Dennis Ritchie: The C Programming Language

     This is the C-bible, written by the people who created the C programming language. It describes the full language, starting from simple function calls, variables and loops to functions, structures, arrays and pointers. The appendix contains a list of all functions from the ANSI-C-library together with their prototype and a shoft description. Be sure to get the second edition which describes ANSI-C.

     Contents: [Damn, whom did i borrow my K&R?! Anyone who can give me a rough summary here? - HF]

       * Name: The C Programming Language

       * Author(s): Brian W. Kernighan , Dennis Ritchie

       * Publisher: Prentice-Hall, Inc. (english) - Hanser (german)

       * ISBN: 0-13-110330-X (3) (english) - 3-446-15497-3 (german)

       * Pages: 228

  * Richard Stevens: Advanced Programming in the Unix Environment

     A book for those that want to use the basic services the Unix operating system offers. They will find hints on the layer between the bare kernel and some application program here, that's usually hidden in some library.

     Contents: The book starts with an introduction to basic concepts like files and directories, input and output, as well as various Unix-related standards and their limits and limitations. Then file IO is explained with file descriptors, fcntl, ioctl, file sharing, stat, permissions and links. Then the stdio-lib is examined with concerns to efficiency, binary and formatted IO, temporary files and alternatices to stdio. System data files like passwd, shadow passwords, groups, supplementary groups, logging and accounting data are described next, followed by a description of the environment a unix process runs in (main-function, command line arguments and environment, setjmp & longjmp), process control through fork, vfork, various wait- and exec-functions, process relations (regarding terminal and network logins, process groups, sessions, job control), signals (signal, kill, sig*), terminal IO (sttyy, termcap, terminfo, curses, advanced io (nonblocking io, record locking, streams, IO multiplexing, asynchronous IO, memory mapped IO), some introduction to process communication using pipes, FIFOs, message queues, semaphores and shared memory, passing file descriptors under various unix implementations (SVR4, 4.3BSD, >4.3BSD), client server connection functions. The book closes with three big examples, a database library, communicating with a PostScript printer and a modem dialer.

       * Name: Advanced Programming in the UNIX Environment

       * Author(s):  W. Richard Stevens

       * Publisher: Addison-Wesley Publishing Company, Inc.

       * ISBN: 0-201-56317-7

       * Pages: 744

Introductions to Unix Internals
-------------------------------

  * Mike Loukides : System Performance Tuning

     Improving the overall performance of your system is the goal of this book. To do so, it describes the verious subsystems Unix consists of and how to monitor them for problems and bottlenecks as well as all the internals that keep the system running and the screws and buttons you can play with and what they do. Very interresting if you want to know why your box is swapping like hell again and what you can do against it.

     Contents: System performance issues, system resources (CPU, memory, IO), user communities, monitoring system activity (system load average, ps, cron, accounting, sar, benchmarks), managing the workload, some tricks for users, reducing the workload, scheduling priority, off-peak job submission, shell time limits, cpu capacity, memory performance, paging and swapping, how to tell if your system is paging, conserving memory, tuning the paging algorithm, managing the swap area, computing memory requirements, disk performance issues, IO subsystem configuration, partitions and filesystems, balancing IO workload, filesystem buffers, striped filesystems, conserving disk space, network performance issues, networks and cpu load, RFS, STREAMS, terminal performance, kernel configuration, why build a custom kernel, configuring a BSD kernel, configuring a System V kernel.

       * Name: System Performance Tuning

       * Author(s): Mike Loukides

       * Publisher: O'Reilly & Assosciates, Inc.

       * ISBN: 0-937175-60-9

       * Pages: 336

  * Samuel J. Leffer, et al: Design and Implementation of the 4.3BSD Operating System

     This book is to BSD-Unix what 'Programming Perl' is to the perl programming language and Kernighan/Ritchie's 'C Programming language' is to C. Also based on 4.3BSD, it's still the most comlete description of all the internals of a BSD-favoured unix, from device drivers to interrupt handling and from memory management to the filesystem. This might not be the book you look into when you're about to write 'just' a device driver, but it's certainly of value if you want to understand the relationship between the verious subsystems of the operating system. An 'upate' for 4.4BSD is in the works.

     Contents: [Heh, i don't own that book! Anyone care to give me a summary of the contents? - HF]

       * Name: Design and Implementation of the 4.3BSD Operating System

       * Author(s): Samuel J. Leffler, Marshall Kirk McKusick, Michael J. Karels, John S. Quarterman

       * Publisher: Addison-Wesley Publishing Company

       * ISBN: 0-201-06196-1

       * Pages: 471

Where to get sources?
*********************

Release
=======

Sources for the current release of NetBSD (V1.1) are available from ftp.netbsd.org under /pub/NetBSD/NetBSD-1.1/source and its mirrors. See INFORM.FTPANO for a list of some of them.

The sources are contained in several directories:

src11:
     sources for all the binaries from /bin, /sbin, /usr/bin, /usr/sbin, /usr/libexec, /usr/lib and /usr/games.

ksrc11:
     kernel source for all architectures: alpha, amiga, atari, hp300, i386, mac68k, mvme68k, pc532, pmax, sparc, sun3 and vax

gsrc11:
     source tainted with the GNU copyleft, e.g. gcc, gcc2, libg++, UUCP, bc, diff, cpio, gas, gawk, gdb, grep, groff, ld, rcs, tar, gzip, sort.

dsrc11:
     Domestic source that's likely to underly certain export restrictions. Mainly Kerberos, DES and crypt-related things.

ssrc11:
     source for things under /usr/share, mainly some dictionaries, documentation, man-pages, termcap-source, timezone-codes, etc.

To unpack, do something like the following:

     cat .../source/ksrc11/*.?? | tar zvxCf / -

NetBSD-current with tar-balls
=============================

If you want to track NetBSD-current and you're really sure you know what you do, you can get tar-archives (usually called tar-balls for some odd reason) of the NetBSD-current source from ftp.netbsd.org in /pub/NetBSD/NetBSD-current/tar_files/src directory (and mirrors).

NetBSD-current with SUP
=======================

Sup stands for Software Update Protocol and provides a facility to update your source-tree by transmitting only those files that have changed since you've checked the last time.

Get /pub/NetBSD/sup/supkit/README.sup from ftp.netbsd.org and follow the instructions there, there's enough text that should help you get it going.

How do I build a kernel myself?
*******************************

Introduction
============

Theoretically you have two options here. You can build the kernel under AmigaDOS or under NetBSD itself. Initially NetBSD was compiled under AmigaDOS, of course, but now everybody works under NetBSD itself. Recent attempts to compile the kernel under AmigaOS showed that the compiler, assembler, linker etc. have developped differently, and that you can't produce a working kernel under AmigaOS anymore.

For more general information on compiling the NetBSD kernel, refer to the 386BSD-FAQ;  there is a complete chapter related to the subject.

Getting the kernel source
=========================

To build the new kernel under NetBSD, make sure you have the compiler package (comp11) and the kernel source tree (ksrc11/*) installed. See SOURCE, for ways to get the kernel source.

Configuring the kernel
======================

Change to the directory /usr/src/sys/arch/amiga/conf.  This is where the configuration file for the kernel lives.  This file details exactly what drivers (eg. CD file systems) you want in your kernel, and what hardware you have.  The easiest way to configure your new kernel is to copy the file GENERIC, and name it YOUR-MACHINE-NAME.  (My machine is called `Babylon', so my kernel config file is named BABYLON too). Edit this file, commenting in/out options you do/don't want.  It should be pretty clear from the comments what you can safely remove and what you definitely shouldn't.

Once you have tailored the config file to your system, you need to ask the system to build a Makefile for you.  This is done with the program config.  Type the following command

     config BABYLON

(substituting your kernel name for BABYLON, obviously ;-).  The program config will create a directory ../compile/BABYLON (or whatever), and place a customised kernel Makefile and a bunch of header files in there.  If all goes to plan, you should get a message along the lines of `Don`t forget to run make depend'.

Compiling your kernel
=====================

You are now about ready to compile!  Change directory to the compile directory for your kernel (eg. ../compile/BABYLON), and type

     make depend

The computer will take a while sorting out some computery stuff it has to do (to be technical about it ;-), and now is probably a good a time to start making the buckets of coffee you will inevitably need for the full kernel recompile.  When the make finishes, you can set the system off building your kernel with

     make

As an alternative, you can type: make depend all and have one really large coffee instead of two medium sized ones.  If this is your first kernel compile, the estimated time is "Forever".  Particularly if you don't have too much memory to spare; however, it is feasible to do a kernel compile in only 4MB - I have ;-).  An A3000 with 16MB RAM takes approximately 2 hours, my A2000 (030@25, 4MB 16bit RAM, 4MB 32bit RAM) takes about 4 hours.

Several cups of coffee later...

Assuming you only had coffee (and nothing more, say, alcoholic...), you should be able to use your new kernel once the compilation has finished. The kernel will be named netbsd in your compile directory.

Installing your kernel
======================

Do not delete your old kernel etc. until you have fully tested the new one;  bear in mind that once you reboot into the new kernel, commands like ps wont work unless you copy the new kernel image over the one in /netbsd, so:

     mv /netbsd /netbsd.old
     cp netbsd /netbsd

For booting NetBSD via loadbsd, you'll also have to copy your new kernel over to the AmigaOS-side of your machine! See FAQ&AS.MISCEL.BFFSFS, for more information on how to do this.

When you successfully build and installed a new kernel, you can reboot your computer into the new kernel with the following command:

     cp netbsd /dev/reload

Note that this may hang if the new kernel differs substancially from the old one. Just reset your machine (three-finger-salut) and reboot NetBSD via loadbsd instead.

See FAQ&AS.MISCEL.DEVICE, for information on how to create device-files, if the file /dev/reload doesn't exist.

NetBSD - Linux - Amix - Minix
*****************************

Currently there are four possibilies to run Unix on the Amiga.

The first one is Amiga-Unix, also called Amix. This is a commercial unix from Commodore, actually, it's one of the very first (and most complete!) implementations of System V Release 4 (SVR4). It is neither sold nor supported any more.

The second unix on the Amiga was Minix from A. S. Tanenbaum, a very famous operating system professor. It runs on every Amiga and does not support memory protection and some other features needed to get the real unix feeling. It is commercial, too. It's major aim is to be an operating system to play around with. It was developed for the computer science students Tanenbaum held lectures for.

The third available unix on the Amiga was NetBSD. It gives you almost anything you might want to expect from a free unix clone. It is being developed on several platforms, and therefore has a reasonable amount of developers supporting it. It was designed to be as portable as possible, as all machine-dependent code is separated. Currently there are ports to the Amiga, Intel-based PCs, HP-300 (680x0-based), Macs(680x0-based), Sun3, Sun-Sparcs and some other platforms. NetBSD-Amiga has a binary-compatibility-mode for Sun3-SunOS-binaries. Of course, this means only binary-compatible with static linked binaries, unless you have the original SunOS shared-libs available. The far end aim is, that all NetBSD-implementations will be binary-compatible on the same processor. That means, that there will be NetBSD-m68k-binaries, that run on the Amiga, the Macs and the Sun3. This shows some of the possibilities of NetBSD. NetBSD-Amiga is part of the NetBSD-current sources, so any platform-independent improvement will be an improvement for NetBSD-Amiga as well. The new features from 4.4BSD are already incorporated into NetBSD. NetBSD contains a lot of other fancy features, other unix-based operating systems are missing, e.g. cpu-time- or disk-quotas, mounting CD-images, swapping to files and concatenating several disks to one large disk.  NetBSD is copyrighted software, but you are free to use, modify and distribute it. Note that it is NOT under the GPL (General Public License, the Gnu Copyright (-left)) and the developers of NetBSD want it to keep this state. Therefore it is not possible to include any software which is under the GPL into the kernel. NetBSD is available in source, but anybody is free to take the current sources and provide them together with his own binaries, i.e. you don't have to provide the sources of your own work. This offers the opportunity for software developers to keep the source of the programs they sell. This is not possible under GPL, where you must provide the source. However, it is appreciated if you also release the source of your derived work to the public. If nobody releases his sources, the free software will soon disappear.

The fourth available Unix on the Amiga is Linux . It was first designed to run on Intel-based PCs. However, HamishMcDonald and others started a major rewrite of the sources so that it is now possible to run Linux on the Amiga (and Atari, by the way). The first public kernel release happened around October 1993, a few months after the first NetBSD kernels came out.  Nowadays Linux has become quite usable, although some people still report problems on the '040 then and now. Attempts to make the kernel run on '060 machines are in the works. The major drawback with Linux/m68k is that it is not yet incorporated into the Linux mainstream source tree. This means that every change made in the Intel-PC source tree has to be adapted manually to the m68k source tree. In NetBSD, on the other hand, changes are always made to the unique source tree for all platforms.  Also, there are not yet as much device drivers for Linux/m68k as for NetBSD/Amiga (esp. in the graphics section), and there is as of now no such 'binary distribution' as known from PCs ( Slackware , SuSE etc.) and whole NetBSD.  All of these problems are the main goals of development for the next months, some of the results so far look pretty promising.  For interested people: The Linux/m68k FAQ can be found at: http://www-agrw.informatik.uni-kl.de/~jmayer/linux68k/linux68k-faq .

Everybody has to decide by themselves, which unix is best for them.  For now I can say, that using NetBSD is the best way to go, as Linux still has some more nasty bugs in it and is missing a lot of the functionality you might want to use, but this can change in the future.

Frequently Asked Questions and their answers
********************************************

This chapter contains a list of Frequently Asked Questions (FAQs) and their answers. See INFORM for information on where to find the files and documents mentioned in the answers.

Installing a new system
=======================

Installing the system is probably the most painful part of running NetBSD-Amiga;  this section should hopefully answer most of the questions which will arise, in conjunction with the installation document (see INFORM).

How do I get NetBSD?
--------------------

The first thing you should do is find the file getting-NetBSD , which details exactly where to find all the files you'll need.  You can probably find it the same place you found this FAQ. See INFORM for details.

How do I install NetBSD?
------------------------

There's a file called INSTALL that comes for each architecture that's supported by a NetBSD release, and which describes the installation procedure in great detail. For the 1.1-release, this document can be found in the following places:

  * ftp.netbsd.org : /pub/NetBSD/NetBSD-1.1/amiga/INSTALL and mirrors

  * ftp.uni-regensburg.de : /pub/NetBSD-Amiga/release/INSTALL and mirrors

Please consult this file for further instructions! See INFORM.FTPANO, for a list of mirrors of the above server.

How can I autoboot into MultiUser mode
--------------------------------------

The loadbsd program has a number of options to control the boot process - type loadbsd -? to see all the options.  The one you need in particular (for the current version of LoadBSD, anyway) is -a.

NetBSD always asks me for a root device
---------------------------------------

Make sure you are using the latest kernel and version of LoadBSD.  Note that LoadBSD has an option, -b, to explicitly force it to ask for the root device on boot - make sure you aren't running LoadBSD with that option enabled!

Also, ensure that your hard disk (in particular DOSType IDs etc.) is configured properly so that NetBSD can locate the root partition correctly.

Where can I find ixemul.library version >= 39.46
------------------------------------------------

Well, you don't strictly speaking need it;  If LoadBSD pops up a requester asking you for version 39.47, click OK and LoadBSD will continue using version 39.45.

If you don't have any version of ixemul.library (where have you been living? :-), have a look on an Aminet site or get it from ftp.uni-regensburg.de:/pub/NetBSD-Amiga/tools/ixemul.library.gz .

NetBSD hangs while booting into MultiUser mode
----------------------------------------------

Make sure the lines which read

     name_server=NO
     timed_flags=NO

in the file /etc/netstart do indeed read NO twice; named and timed will hang the machine if there is no network attached when it starts.

Also, delete the directory /var/yp if you don't use YP (NIS), because the upcoming ypbind would search for a NIS server forever.

I keep getting cksum errors when I try to install!
--------------------------------------------------

This (and other bizarre symptoms) could be the result of a bug in your SCSI host adapter's DMA controller or ROM - I have seen this with an A2091.  (It also seems to depend on the phase of the moon and other sundry factors).  The solution is to switch DMA transfers off in the kernel.  To do this using binpatch (see FAQ&AS.HARDWR.BINPAT for details) type

     binpatch -s _sbic_no_dma=0x1 kernelfile

(not forgetting to replace kernelfile with the name of your kernel image!).  You should now be able to boot & install using programmed-IO (PIO) instead of DMA.

Which distribution should I use?
--------------------------------

At the time of writing, there are two principle distributions you could look at, NetBSD-1.1 and NetBSD-current .

Which you choose really depends on what sort of system you are looking to run.  If you want a stable, out-of-the-box, install-and-forget type system, go for the NetBSD-1.1 distribution.  The NetBSD-current distribution is for the OS hackers amongst you; it is in a state of constant change, but as a result it'll be the first place to find neat new features etc.  The choice is yours!

See INFORM for information on where to find the relevant files.

Which distributions are available outside the Internet?
-------------------------------------------------------

Quite a few distributions have been released in the past.  Some of them are outdated and should not be used, other are quite new and contain NetBSD as well as some contribution packages.  All of those are available on CD-ROM and therefore require access to a CD-ROM drive.

The first distribution contains a - today - ways outdated NetBSD V0.9 release on the "Meeting Pearls I" CD-ROM.  This distribution should be avoided today, please do not try to mix binaries from this release with newer ones.

Second distribution is made available on the "Meeting Pearls II" and contains NetBSD 1.0 from november 1994 together with some (small) contribution packages.  This distribution contains all material required to install NetBSD from scratch, and the documentation. All this is an extract of the next distribution:

The most complete distribution can be found on the "Gateway!  Vol.  1" CD-ROM.  This includes NetBSD 1.0, X11R6, TeX, lot of ready-to-use packages and much more.  Despite some CRC-errors in some archives, this CD is very usuable.  The CD comes with complete german manual in Postscript and TeX (dvi) format. As a bonus., the CD contains an RFC and FAQ archive, as well as some network-programs for AmigaOS. You can get more information about this CD-ROM on http://www.teuto.de/~markus/gatewaye.html .

The best documented distribution of NetBSD-Amiga 1.0 is the distribution to be found on the german "Amiga Magazin Sonderheft 2/95".  The entire process of installation and configuration is described in detail on about 20 pages (german language only).

The "Gateway!  Vol.  2" contain NetBSD 1.1 for all platforms (amiga, i386, etc.), as well as X11R6 for Amiga and i386 and some contributions such as TeX and a complete snapshot of ftp://ftp.uni-regensburg.de/pub/NetBSD-Amiga as of february 1996. More information on the Gateway V2 see http://www.teuto.de/~markus/gatewaye.html .

The only non-Amiga related distributions are made available on the Infomagic "BSDisc" CD-ROMs.  These CD-ROMs contain NetBSD 1.0 as well as NetBSD 1.1 (the newest release) and FreeBSD (i386-only).

Does NetBSD run with the PROTO-Chip?
------------------------------------

The first A3000 and A2091 were equipped with a prototype version of the SCSI controller chip (exact name: 33c93-4), the later ones had a full-blown chip (33c93-8).

The answer to the above question is yes. The only problem which may occur is that some hard drives do not like to be enabled in sync mode; it depends on your kernel patches, the hard drive, controller etc. etc.  if you'll find this problem.  To disable sync negotiation, pass -I ff to loadbsd.

My A2000 is recognized as A1200
-------------------------------

On some machines, the detection of which machine one has doesn't work and so you have to tell it by hand giving the -c switch to loadbsd:

     loadbsd -c 2000 netbsd

Hardware, drivers and binpatching
=================================

This section details certain specific hardware problems you may run into.

How do I get a serial terminal to work correctly?
-------------------------------------------------

The file /etc/ttys tells init which ports to run a getty (ie. login) program on.  Edit the file, and (supposing you had a 19200bd vt100 terminal on the serial port) add or edit a line to read

     tty00 "/usr/libexec/getty std.19200" vt100 on insecure

tty00 indicates the internal serial port, the std.19200 tells getty what serial parameters to use - look in /etc/gettytab for details of other speeds etc. - and the vt100 indicates what terminal emulation to use;  look in /usr/share/misc/termcap for details of other terminal emulation names.

Note the insecure entry - this means that you (or an imposter, more importantly) cannot log in as root on that terminal, even if he has the root password. You've to log in as 'normal' user then use su to switch to root. Be sure to be in the right group (wheel, see FAQ&AS.MISCEL.SUROOT) for this, especially if you've marked the console as secure.

Marking the console as insecure will result in the root password being requested when booting into single-user.  Normally the only terminal regarded as secure would be the console.

Does NetBSD work with the Retina video card?
--------------------------------------------

A qualified yes!  With a Retina card, NetBSD tries to open a screen with a resolution of approximately 800 by 600, with a display rate of 75KHz.  Not all monitors are capable of handling such a high display rate - indeed, it could cause some damage - so it comes highly reccomended that you use binpatch to set the symbol _retina_default_mon to one of the following values depending on the resolution/refresh rate your monitor can handle:

  * 0x01 -- 640x512 at 31.5kHz

  * 0x02 -- 768x600 at 38kHz

See FAQ&AS.HARDWR.BINPAT for details of using binpatch.

How do I use binpatch?
----------------------

Introduction
............

binpatch is a very useful little utility which allows you to change the value of variables in a compiled binary (in particular, the NetBSD kernel) without needing to recompile; it uses the symbol table information included in the binary to locate where the variable's value is stored, and directly modifies it.  This is very useful for setting certain flags in the kernel necessary to make it boot on your system (until you are in a position to compile a kernel to your own requirements!).

You will be able to find a binpatch for AmigaOS in binpatch-array-1.1.tar.gz located in  .../tools on ftp.uni-regensburg.de and its mirrors .

Patching the kernel
...................

In order to patch the kernel, you need to know basically two things - the name of the symbol (eg. _retina_default_mon) and the value to patch it to.  Armed with this information, it is basically just a case of running the binpatch with the name of the kernel file.  For example, assuming a kernel image named netbsd,

     binpatch -s _retina_default_mon=0x02 netbsd

would patch the kernel to boot into a Retina screen of resolution 768 by 600 at 38kHz.

Other binpatch options
......................

There are a few more `advanced' options you can call binpatch with; these are detailed below.

  * -s -- Specify the symbol of the variable (as above).

  * -a <addr> -- Explicitly specify the address of the location to patch.

  * -b -- Patch only a byte value.

  * -w -- Patch a word value (2 bytes).

  * -l -- Patch a longword value (4 bytes).

  * -r <val> -- The value to replace the old value.

List of all binpatchable symbols
................................

[Such a list would be very nice, but I didn't come across one yet. Please contact the maintainer of this FAQ if you want to say something here! - HF]

Tapedrive problems
------------------

This FAQ deals with a number of problems tapedrive owners may experience with NetBSD - and more importantly suggests a few workarounds!  As far as I know, at the time of writing no tape drive has been found that cannot be made to work with NetBSD.

The first thing to point out is that for some tape drives NetBSD reports that the tape drive is not supported on boot - ignore this message it is lying!

[Note of the editor: i don't know if either of the followint two problem is still valid. Besides that, what about those Tandberg streamers that didn't work with 1.0? Someone tell me, please!  -HF ]

Problem 1
.........

You may find that if you boot NetBSD immediately after using btn in AmigaDOS to write a file to the tape, that tar reports some error when trying to read from the tape.

The reason is that NetBSD doesn't send SCSI IDs 4 and 5 a reset command, since they are assumed to be tape drives, and sending a reset can cause some drives to spend a lot of time resetting/rewinding.  The solution is to power cycle the tapedrive before or after booting NetBSD, forcing it to reset.

Problem 2
.........

If you write small files to the tape, there may appear to be nothing on the tape when you attempt to read them back - this can occur with tapes written from either NetBSD or AmigaDOS.  The solution is simply to append a fairly large file to the end of the tape.  For example, if I wanted to write the file netbsd to the tape, I would use the command

     tar cvfp /dev/rst0 netbsd rootfs.gz

(assuming rootfs.gz is fairly large) instead of

     tar cvfp /dev/rst0 netbsd

Reading Sun tape cartridges
---------------------------

Reading tapes created by Sun machines is another source of some confusion.  The original Sun Archive tape drive is capable of reading/writing two tape formats, QIC-11 and QIC-24.  To maximise your chances of being able to read the tape, use QIC-24 format; the command

     tar -cvf /dev/rst8

will create a QIC-24 formatted tape.

But the Sun has an Archive Viper drive
......................................

Although the Archive Viper hardware can read/write a variety of formats, the Sun will only let you use one -- QIC-150.  All the tape drive devices (/dev/rst0, /dev/rst8, /dev/rst16 etc.) will therefore produce a QIC-150 tape. Just use /dev/rst8 for all data cartridge systems (if it isn't a 4mm or 8mm tape, it probably is a data cartridge).

How to deal with silo-overflows?
--------------------------------

Those silo overflows usually occur when you work with a high speed modem connection, and indicated the kernel's buffer for serial i/o is full. To fix this problem, compile a new kernel with the following lines in your config-file:

     options         LEV6_DEFER      # serial is more important than clock
     options         "SERIBUF_SIZE=8192" # buffer size for serial stuff

How can I run X on the A2410 TIGA board?
----------------------------------------

You can't run X on the A2410 TIGA board, as there is currently no X server available for that card.

Teething troubles
=================

If you think its all over once you've finished the installation, you're mistaken!  There are numerous little things that need tweaking and configuring before you can sit down and let the system run itself.  Happily, once these things are set up, very little further work is necessary, bar day to day adding of users, adding new services etc.

Why can't I su to root?
-----------------------

For a user to switch user (su) to root, they must be a member of the group wheel.  Make sure that in the /etc/group file there is a line like

     wheel:*:0:root,tjw1

The comma-separated list indicates which users are members of the wheel group - add any users you wish to be able to su to root here;  note that although the user still requires root's password, the wheel group should really be restricted to system administrators only. Please note also that if you remove 'root' from this list, unpredictable things may happen.

What packages can I install to enhance NetBSD?
----------------------------------------------

Since NetBSD is basically a flavour of Unix, more or less anything written for Unix can probably be ported (or already has been) to NetBSD; the list is enormous!  See INFORM for details of mailing lists and newsgroups to subscribe to.

If you're looking for precompiled binaries that you just have to install, have a look at /pub/NetBSD-Amiga/contrib on ftp.uni-regensburg.de and its mirrors .

What about X-Windows?
.....................

First of all, there ain't no such thing as 'X windows'. The thing you think of is either called, X, X Window System or (in it's current release) X11R6. Read X(1) if you want to find out more.

X servers for NetBSD-Amiga are available for the standard custom chips, and also available (or in development) for a number of graphics cards:

  * OCS, ECS, AGA: Xdaniver

  * Picasso II, Piccolo, Spektrum: Xcl

  * Retina Z3, CyberVision'64: Xamiga24

Please note that there's currently no X-server available for the Retina Z2.

A binary distribution of the X Window System for NetBSD/amiga V1.1 can be found under /pub/NetBSD-Amiga/contrib/X11/X11R6/bin11 on ftp.uni-regensburg.de and its mirrors .  It will take up about 30MB of diskspace if fully installed. Please read the files README and README.2 there, as well as the NetBSD-Amiga-X-FAQ for full instruction on installation.

And networking?
...............

Networking is an integral part of the BSD system, and already a part of your kernel; support is currently available for serial IP protocols (SLIP, PPP) over the built-in serial port, and also several ethernet cards. See NEEDED.SUPPRT, for a full list of all supported ethernet cards.

See INFORM for information on locating the slightly outdated NetBSD-Amiga-Networking-FAQ .

Can I access AmigaOS files from NetBSD?
---------------------------------------

The ADOS file system driver for NetBSD-Amiga can currently mount AmigaOS file systems read-only; support for writing to AmigaOS partitions may be added at a later date.  For more information on how to mount AmigaOS filesystems, see the mount and mount_ados man pages.

In any case, don't forget to add -o ro as the options to the mount command, as NetBSD's AmigaDOS-filesystem can't write to AmigaOS-files (yes, this is necessary since 1.0! :-).

Can I access NetBSD files from AmigaOS?
---------------------------------------

Yes, by using the BFFS-Filesystem, but be sure to get version 1.4b0, which does not provide code for writing files to NetBSD-disks but can only read them. There's a V1.31b that can write to old (4.3) filesystems (e.g. from before NetBSD/amiga V1.0 or ones that were created with option -O to newfs), but that will nuke your 4.4-filesystems you newfs'ed under V1.1 or V1.0 without mercy. You've been warned!

The file's available as bffs-1.4b0.gz from /pub/NetBSD-Amiga/tools on ftp.uni-regensburg.de and its mirrors , some documentation on how to set up the filesystem is in the bffs-1.3.lha archive.

How do I create device files?
-----------------------------

There is a shell script (in the /dev directory) called MAKEDEV which creates device files for any of the standard device drivers.  To create, say, the view00 device, type (from a root shell)

     cd /dev
     ./MAKEDEV ./view00

How do I create accounts and change user information?
-----------------------------------------------------

Introduction
............

From the adduser(8) manpage:

A new user must choose a login name, which must not already appear in /etc/passwd or /etc/aliases. It must also not begin with the hyphen - character.  It is strongly recommended that it is all lowercase, and not contain the dot `.' character, as that tends to confuse mailers.  An account can be added by editing a line into the passwd file; this must be done with the password file locked e.g. by using chpass(1) or vipw(8).

A new user is given a group and user id.  Login and user id's should be unique across the system, and often across a group of systems, since they are used to control file access.  Typically, users working on similar projects will be put in the same groups.  At the University of California, Berkeley, we have groups for system staff, faculty, graduate students, and special groups for large projects.

A skeletal account for a new user ernie might look like:

     ernie::25:30::0:0:Ernie Kovacs,,,:/home/ernie:/bin/csh

For a description of each of these fields, see passwd(5).

It is useful to give new users some help in getting started, supplying them with a few skeletal files such as .profile if they use /bin/sh or /usr/local/bin/bash (which does not come with the NetBSD distribution!), or .cshrc and .login if they use /bin/csh or /usr/local/bin/tcsh (which also doesn't come with the NetBSD distribution). The directory /usr/share/skel contains skeletal definitions of such files.  New users should be given copies of these files which, for instance, use tset(1) automatically at each login.

Adding a new user
.................

The easiest way to add a new user is to run the vipw command to edit the master password file, and add a new entry with the user's username and userid (which must be unique), but all other fields left blank.  Now run the chpass command, specifying the new user's name, eg.

     chpass tjw1

You can now edit the user's password, finger information, group etc. etc. in comfort.

For more information on the vipw and chpass commands, see the relevant manual pages.

But - isn't there an adduser-command?
.....................................

The 1.1-release of NetBSD doesn't include an adduser command. You can get one as .../contrib/adduser-1.2.tar.gz from ftp.uni-regensburg.de and its mirrors , you need perl5 for it, though (to be found in the same directory :-).

How can I reboot straight into NetBSD?
--------------------------------------

The reboot command that's distributed with NetBSD/amiga performs a 'full' reboot through AmigaOS or whatever, but that may hang occasionally. NetBSD/amiga also provides the facility to just 'reload' (and restart) the kernel itself. To enable this, do the following (as root):

     mv /sbin/reboot /sbin/reboot.amiga
     echo "cp /netbsd /dev/reload" >/sbin/reboot
     chmod 755 /sbin/reboot

You can now use the reboot command to reboot into NetBSD, and reboot.amiga to reboot into AmigaDOS.

Also, shutdown -r will use the /sbin/reboot that goes directly back to NetBSD. In case your system doesn't have a /dev/reload for some odd reasons, you can generate one with the following options:

     cd /dev
     ./MAKEDEV std

Why doesn't the ps command work?
--------------------------------

For programs that use the kernel symbol table to retrieve information (like ps), you must make sure that there is a copy of your kernel image named /netbsd.  You may also want to make a link from this file to /vmunix for very old programs.

Is there a debugger for NetBSD?
-------------------------------

The GNU debugger gdb is available for NetBSD (it is in the standard comp* distribution package).

How do I report bugs?
---------------------

If you think you have discovered a bug, and you are sure its not your mistake, the best thing to do is to mail on one of the mailing lists (see INFORM for details).  Try to include as much information as possible - the configuration of your machine, the output you saw, the exact circumstances etc.; if possible try to isolate the bug as far as is possible (ie. don't just say `my machine crashes', try to explain what causes it to crash!).

How do I get a Meta-Key for Emacs?
----------------------------------

Executing the commands stty cs8 -istrip -parenb will allow you to use any of the Amiga keys as a meta-key.

My keymap is all wrong!
-----------------------

Fixing the console's keymap
...........................

There is a little program called loadkmap which allows you to change the keyboard map.  The maps are edited in the form of a simple C file - a german keymap din-kbdmap.c is supplied.  It should be relatively trivial to edit this to your requirements.  To install the German keyboard, for example, you would type the following commands

     cd /sys/arch/amiga/stand/loadkmap
     gcc din-kbdmap.c -o din-kbdmap
     gcc loadkmap.c -o loadkmap
     ./din-kbdmap >din
     ./loadkmap din

To make this permanent, add the loadkmap command to /etc/rc.local. There's also a readily compiled version of those files in .../contrib/kbdmaps-1.0-bin11.tar.gz on ftp.uni-regensburg.de and it's mirrors .

Fixing the keymap under X
.........................

Under X, you change your keymap-settings with the xmodmap command, which reads its configuration from the file $HOME/.xmodmaprc when invoked (e.g. from $HOME/.xinitrc). Such configuration files for French , German , British and Swedish keyboards exist under .../contrib/X11 on ftp.uni-regensburg.de and its mirrors .

Xcl reports "Cannot open screen"
--------------------------------

Add the following line to /etc/X0.hosts (assuming your hostname is anarchy.tue.schwaben.de):

     INET:anarchy.tue.schwaben.de

You have to set up networking (see FAQ&AS.MISCEL.NETWRK), then you can get your hostname with the hostname command.

Where do I get Motif? XView? OpenGL?
------------------------------------

Motif
.....

Motif is a commercial product and currently not available for NetBSD/amiga. The only option you have here is to get a binary licence for Sun3 libs, and link those with NetBSD/amiga.

[Someone who tried this and can get me a pointer on where to get Motif for Sun3? - HF]

XView
.....

XView (also known as the Open Look toolkit) is currently available as openwin-bin11A.tar.gz on ftp.uni-regensburg.de and it's mirrors.

If you want to rebuild the XView package yourself, you'll find the sources for version 3.2 available from ftp.x.org in /R5contrib/xview3.2 .

OpenGL
......

There's a free implementation of the OpenGL API called " Mesa 3-D graphics library ", or simply Mesa. A precompiled version is available from ftp.uni-regensburg.de and its mirrors as .../contrib/X11/Mesa-1.0b-bin10.tar.gz , sources are available in /pub/Mesa from iris.ssec.wisc.edu.

What's all this stuff about binary emulation?
---------------------------------------------

Binary emulation means two things:

1. to read different executable file formats: About every second operating system uses a different file format in which it saves its binaries, using different headers, magic cookies, hunks, whatever. The ones NetBSD supports natively is a.out, and through some of the above emulations, ELF's supported, too.

2. (the more important thing!) Almost every operating system offers also a different range of services to the system programmer, with different ways to access them. This is called the system-call-interface. Under AmigaOS, this is done with an index into a table containing pointers to functions pointed to by some address register  and the data in some data register, NetBSD uses some trap-command, I think. Other operating systems use other methods, traps, tables, registers, etc. and this is handled by the binary emulation.

Of course, for a program to generate such system calls (in a controlled manner :-), it has to be compiled for the CPU it's running on. You won't be able to execute Ultrix or SunOS-SPARC binaries on a Motorola CPU. But what you can do is use SunOS-Sun3-binaries, which just use different ways to reach the kernel (=the operating system itself) to use its services.

On NetBSD/amiga, you can use binaries for the following architectures (as long as they don't access any special hardware or drivers):

  * NetBSD/amiga, mac68k, atari and sun3. The hp300-port uses a different pagesize to remain binary compatible with HP-UX, and therefore won't work by default.

  * Sun3, SunOS till 4.1.1. You can run programs compiled for Suns with Motorola CPUs, not SPARC CPUs. So you can not just download Netscape for SunOS 4.1.3, as it is still compiled for the wrong CPU. Sorry.

How can I boot NetBSD without keeping an AmigaOS partition?
-----------------------------------------------------------

There are two ways to boot NetBSD without having a small AmigaOS partition which holds loadbsd and the kernel:

 1. Setup the BFFS filesystem (see FAQ&AS.MISCEL.BFFSFS) for your root partition with hdtoolbox, so it doesn't need a Mountlist entry to be mounted, but rather gets mounted automatically on system bootup. Next, create a directory /s that holds the AmigaOS loadbsd binary and a startup-sequence. Then add the following line to /s/startup-sequence:

           s:loadbsd -a :netbsd

     You may need some additional assigns vor ENV:, but I think you get the basic idea.

 2. Use Michael Hitch's Bootloader which is in an experimental state as of this writing. This Bootloader can be found in .../experimental/bootblock.tar.gz on ftp.uni-regensburg.de and its mirrors . Follow the instructions given in the README-file to set up the bootblock.

Where can I find an archive of the mailing lists?
-------------------------------------------------

All the official NetBSD mailing lists are archived on ftp.netbsd.org in /pub/NetBSD/mailing-lists . An archive of the discussions during the very early days of NetBSD/amiga can be found in /pub/NetBSD-Amiga/docs/Mailinglist-Archive on ftp.uni-regensburg.de and its mirrors .