Original document by Mike Schwartz <
Second revision (completely rewritten) by Guenther Grau
Third revision (restructured) by Tim Walls <
Fourth revision (updates for 1.1) by Hubert Feyrer
firstname.lastname@example.org>. Thanks to Thorsten Frueauf,
Frank Neumann and Bernd Ernesti for proofreading, inspirations and
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
Copyright (C) 1993,1994 Guenther Grau
Copyright (C) 1994,1995 Tim Walls
Copyright (C) 1996 Hubert Feyrer
Whenever this FAQ is updated, notes about where to find the new version
will be postet to the following mailing-lists and news-groups:
You can find it
in various formats under
and its mirrors. The FAQ is also available via the World Wide Web at
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.
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 section 4 Where can I find more information on NetBSD?, 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.
This chapter contains general information about NetBSD.
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 section 4 Where can I find more information on NetBSD?, for information on how to get more and detailed information on NetBSD.
NetBSD was ported to the Amiga by Markus Wild <
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):
email@example.com>: Fontdumper, Rootfs.
firstname.lastname@example.org>: Writing documentation.
email@example.com>: a driver for IVS Vector SCSI board
firstname.lastname@example.org>: Picasso II and Ariadne-support
PhB@telesys-innov.fr>: X-server for custom chips, X-server for Retina.
email@example.com>: Writing an installation-document.
firstname.lastname@example.org>: Maintaining the Mailing-List in the old days, Various programming.
email@example.com>: Debugging WarpEngine's SCSI-driver and Ariadne ethernet driver, Xcl, Picasso II and CyberVision'64 drivers, compiling X11R6-snapshots.
firstname.lastname@example.org>: Writing documentation, maintainer of ftp.uni-regensburg.de:/pub/NetBSD-Amiga.
email@example.com>: Updating NetBSD-Amiga-X-FAQ
firstname.lastname@example.org>: Extensively writing documents.
email@example.com>: Porting the Mach VM system, that NetBSD-Amiga uses, driver for GVP, ADos-FS, GoldenGate (ISA) support.
firstname.lastname@example.org>: a LOT of bug-fixes.
email@example.com>: Porting GDB, compiling X11R5.
firstname.lastname@example.org>: 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.
email@example.com>: 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.
firstname.lastname@example.org>: Writing documentation, Picasso- and Ariadne-support, Porting X-clients, Gateway!-CD
email@example.com>: X-server for custom chips, X-server for Retina.
Kari.Mettinen@helsinki.fi>: Xcl and Picasso II support.
firstname.lastname@example.org>: Implementing a floppy-driver.
email@example.com>: X-server for custom chips, X-server for Retina.
firstname.lastname@example.org>: Building binary-snapshots from sun-lamp sources.
email@example.com>: Various programming, Installation.
firstname.lastname@example.org>: A2060 (Arcnet) and A2410 (TIGA gfx card) support
email@example.com>: Spektrum support
firstname.lastname@example.org>: CyberVision'64 support
lkv@mania.RoBIN.de>: providing information and writing a tty-device-driver for the Retina Z2
email@example.com>: 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!
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.
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:
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.
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.
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 section 6 How do I build a kernel myself?, 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.
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.
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 section 6 How do I build a kernel myself?, for information on how to do this. See section 4 Where can I find more information on NetBSD?, 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.
Here's what the `INSTALL'-file says. Supported devices include:
Experimental versions of new drivers can sometimes be found in on ftp.uni-regensburg.de and its mirrors in `/pub/NetBSD-Amiga/experimental' .
People have asked for the following things to be supported in NetBSD/amiga, but so far, you're out of luck:
Please don't bother people about support for those devices. As soon as they are available, they'll be removed from the above list.
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.
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 (
firstname.lastname@example.org) 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.
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:
Additional information on NetBSD/amiga is available on
ftp.uni-regensburg.de and its mirrors, look into the directory
. This site carries lots of things
related to NetBSD/amiga. Here's a full list of all known mirrors:
This document is available via the World Wide Web (Mosaic, Netrape, lynx etc.) at http://rfhs8012.fh-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
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'.
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: email@example.com Subject: Don't care, isn't processed. help end
You will receive an answer that might look like this:
To: firstname.lastname@example.org <-- This will be replaced with your email-address. From: email@example.com Subject: Majordomo results Reply-To: firstname.lastname@example.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: email@example.com 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
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.
The books listed below deal with Unix and Unix system administration in general.
'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. :)
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.
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.
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.
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.
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.
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.
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.
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.
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]
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.
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.
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]
Sources for the current release of NetBSD (V1.1) are available from
and its mirrors.
See section 4.2 Anonymous FTP for a list of some of them.
The sources are contained in several directories:
/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 / -
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
directory (and mirrors).
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.
from ftp.netbsd.org and
follow the instructions there, there's enough text that should help you
get it going.
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.
To build the new kernel under NetBSD, make sure you have the compiler package (comp11) and the kernel source tree (ksrc11/*) installed. See section 5 Where to get sources?, for ways to get the kernel source.
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
(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'.
You are now about ready to compile! Change directory to the compile directory for your kernel (eg. `../compile/BABYLON'), and type
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
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.
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 section 8.3.4 Can I access NetBSD files from AmigaOS?, 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
See section 8.3.5 How do I create device files?, for information on how to create device-files, if the file `/dev/reload' doesn't exist.
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.
This chapter contains a list of Frequently Asked Questions (FAQs) and their answers. See section 4 Where can I find more information on NetBSD? for information on where to find the files and documents mentioned in the answers.
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 section 4 Where can I find more information on 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 section 4 Where can I find more information on NetBSD? for details.
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:
Please consult this file for further instructions! See section 4.2 Anonymous FTP, for a list of mirrors of the above server.
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'.
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
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.
Well, you don't strictly speaking need it; If LoadBSD pops up
a requester asking you for version 39.47, click OK
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 .
Make sure the lines which read
in the file `/etc/netstart' do indeed read
`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.
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 section 8.2.3 How do I use binpatch? 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.
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
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 section 4 Where can I find more information on NetBSD? for information on where to find the relevant files.
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).
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.
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
This section details certain specific hardware problems you may run into.
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
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 section 8.3.1 Why can't I su to root?) 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.
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
0x01-- 640x512 at 31.5kHz
0x02-- 768x600 at 38kHz
See section 8.2.3 How do I use binpatch? for details of using
`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
located in `.../tools' on
ftp.uni-regensburg.de and its
In order to patch the kernel, you need to know basically
two things - the name of the symbol (eg.
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.
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.
[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]
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 ]
You may find that if you boot NetBSD immediately after using
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.
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 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.
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).
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
You can't run X on the A2410 TIGA board, as there is currently no X server available for that card.
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.
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
The comma-separated list indicates which users are members
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.
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 section 4 Where can I find more information on NetBSD? 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 .
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:
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.
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 section 3.5 What hardware is supported by NetBSD/amiga V1.1, anyways?, for a full list of all supported ethernet cards.
See section 4 Where can I find more information on NetBSD? for information on locating the slightly outdated `NetBSD-Amiga-Networking-FAQ' .
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! :-).
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
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.
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
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:
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.
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.
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.
The 1.1-release of NetBSD doesn't include an
adduser command. You
can get one as
ftp.uni-regensburg.de and its
, you need
for it, though (to be found in the same directory :-).
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
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.
The GNU debugger `gdb' is available for NetBSD (it is in the standard comp* distribution package).
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 section 4 Where can I find more information on NetBSD? 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!).
Executing the commands `stty cs8 -istrip -parenb' will allow you to use any of the Amiga keys as a meta-key.
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 .
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 .
Add the following line to `/etc/X0.hosts' (assuming your hostname
You have to set up networking (See section 126.96.36.199 And networking?), then you can get your hostname with the `hostname' command.
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 (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 .
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.
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):
There are two ways to boot NetBSD without having a small AmigaOS
partition which holds
loadbsd and the kernel:
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
loadbsdbinary and a `startup-sequence'. Then add the following line to `/s/startup-sequence':
s:loadbsd -a :netbsdYou may need some additional assigns vor `ENV:', but I think you get the basic idea.
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 .
And don't you never forget: NetBSD rules.