@end ifhtml '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. @ifhtml
@end ifhtml @sp 1 @emph{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. @ifhtml
@end ifhtml @sp 1 Now, if this doesn't at least @emph{mention} something you're interrested in, you're in the wrong place here. :) @ifhtml
@end ifhtml @sp 1 @itemize @bullet @item Name: Unix Unleashed @item Author(s): many @item Publisher: @ifhtml @end ifhtml Sams Publishing @ifhtml @end ifhtml @item ISBN: 0-672-30402-3 @item Pages: 1620 @end itemize @sp 1 @c ######################################################################### @item @ifhtml @end ifhtml AEleen Frisch @ifhtml @end ifhtml : @ifhtml @end ifhtml Essential System Administration @ifhtml @end ifhtml @ifhtml
@end ifhtml 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. @ifhtml
@end ifhtml @sp 1 @emph{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. @ifhtml
@end ifhtml @sp 1 @itemize @bullet @item Name: @ifhtml @end ifhtml Essential System Administration @ifhtml @end ifhtml @item Author(s): @ifhtml @end ifhtml AEleen Frisch @ifhtml @end ifhtml @item Publisher: @ifhtml @end ifhtml O'Reilly & Assosciates, Inc. @ifhtml @end ifhtml @item ISBN: 1-56592-127-5 @item Pages: 788 @end itemize @sp 1 @c ######################################################################### @item @ifhtml @end ifhtml 4.4BSD System Managers Manual @ifhtml @end ifhtml @ifhtml
@end ifhtml @sp 1 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. @ifhtml
@end ifhtml @sp 1 The second section is a (disparate) collection of papers detailing a whole host of topics, from setting up name-servers to the inimitable @file{sendmail}. The papers are all somewhat terse, but usually contain a pointer to the information you want somewhere. @ifhtml
@end ifhtml @sp 1 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. @ifhtml
@end ifhtml @sp 1 @itemize @bullet @item Name: @ifhtml @end ifhtml 4.4 System Managers Manual @ifhtml @end ifhtml @item Author(s): Computer Systems Research Group, UC Berkeley @item Publisher: The USENIX association and @ifhtml @end ifhtml O'Reilly & Assosciates, Inc. @ifhtml @end ifhtml @item ISBN: 1-56592-080-5 @item Pages: 804 @end itemize @sp 1 @end itemize @node INFORM.READIT.ADVNCD, INFORM.READIT.PROGRM, INFORM.READIT.BASICS, INFORM.READIT @subsection Advanced System Administration @comment ****************************** @itemize @bullet @c ######################################################################### @item @ifhtml @end ifhtml Craig Hunt @ifhtml @end ifhtml : @ifhtml @end ifhtml TCP/IP Network Administration @ifhtml @end ifhtml @ifhtml
@end ifhtml @emph{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! @ifhtml
@end ifhtml @sp 1 @emph{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. @ifhtml
@end ifhtml @sp 1 @itemize @bullet @item Name: @ifhtml @end ifhtml TCP/IP Network Administration @ifhtml @end ifhtml @item Author(s): @ifhtml @end ifhtml Craig Hunt @ifhtml @end ifhtml @item Publisher: @ifhtml @end ifhtml O'Reilly & Assosciates, Inc. @ifhtml @end ifhtml @item ISBN: 0-937175-82-X @item Pages: 502 @end itemize @sp 1 @c ######################################################################### @item @ifhtml @end ifhtml Bryan Costales, etc. @ifhtml @end ifhtml : @ifhtml @end ifhtml Sendmail @ifhtml @end ifhtml @ifhtml
@end ifhtml 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. @ifhtml
@end ifhtml @sp 1 @emph{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 @file{conf.h}, decisions in @file{conf.c}, decisions in @file{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 @file{~/.forward}, logging and statistics. @ifhtml
@end ifhtml @sp 1 @itemize @bullet @item Name: @ifhtml @end ifhtml sendmail @ifhtml @end ifhtml @item Author(s): @ifhtml @end ifhtml Bryan Costales with Eric Allman & Neil Rickert @ifhtml @end ifhtml @item Publisher: @ifhtml @end ifhtml O'Reilly & Assosciates, Inc. @ifhtml @end ifhtml @item ISBN: 1-56592-056-2 @item Pages: 792 @end itemize @sp 1 @c ######################################################################### @item @ifhtml @end ifhtml Cricket Liu, etc. @ifhtml @end ifhtml : @ifhtml @end ifhtml DNS and BIND @ifhtml @end ifhtml @ifhtml
@end ifhtml 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. @ifhtml
@end ifhtml @sp 1 @emph{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. @ifhtml
@end ifhtml @sp 1 @itemize @bullet @item Name: @ifhtml @end ifhtml DNS and BIND @ifhtml @end ifhtml @item Author(s): @ifhtml @end ifhtml Paul Albitz, Cricket Liu @ifhtml @end ifhtml @item Publisher: @ifhtml @end ifhtml O'Reilly & Assosciates, Inc. @ifhtml @end ifhtml @item ISBN: 1-56592-010-4 @item Pages: 380 @end itemize @sp 1 @c ######################################################################### @item Robert King Ables: The Keys to Successful Unix System Management @ifhtml
@end ifhtml 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. @ifhtml
@end ifhtml @sp 1 @emph{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. @ifhtml
@end ifhtml @sp 1 @itemize @bullet @item Name: Keys to Successful UNIX Systems Management @item Author(s): Robert King Ables @item Publisher: Prentice-Hall, Inc. @item ISBN: 0139483810 @item Pages: 316 @end itemize @end itemize @node INFORM.READIT.PROGRM, INFORM.READIT.INTERN, INFORM.READIT.ADVNCD, INFORM.READIT @subsection Programming under Unix @comment ********************** @itemize @bullet @c ######################################################################### @item @ifhtml @end ifhtml Larry Wall, Randal Schwartz @ifhtml @end ifhtml : @ifhtml @end ifhtml Programming perl @ifhtml @end ifhtml @ifhtml
@end ifhtml 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. @ifhtml
@end ifhtml @sp 1 @emph{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. @ifhtml
@end ifhtml @sp 1 @itemize @bullet @item Name: @ifhtml @end ifhtml Programming perl @ifhtml @end ifhtml @item Author(s): @ifhtml @end ifhtml Larry Wall & Randal L. Schwartz @ifhtml @end ifhtml @item Publisher: @ifhtml @end ifhtml O'Reilly & Assosciates, Inc. @ifhtml @end ifhtml @item ISBN: 0-937175-64-1 @item Pages: 482 @end itemize @sp 1 @c ######################################################################### @item Brian W. Kernighan, Rob Pike: The Unix Programming Environment @ifhtml
@end ifhtml 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. @ifhtml
@end ifhtml @sp 1 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. @ifhtml
@end ifhtml @sp 1 Despite the seemingly broad range this book aims at, it's mainly a @emph{very} good introduction to shell programming. @ifhtml
@end ifhtml @sp 1 @itemize @bullet @item Name: The Unix Programming Environment @item Author(s): @ifhtml @end ifhtml Brian W. Kernighan @ifhtml @end ifhtml , @ifhtml @end ifhtml Rob Pike @ifhtml @end ifhtml @item Publisher: Prentice-Hall, Inc. @item ISBN: 3-446-14273-8 (German language edition!!!) @item Pages: ~300 @end itemize @sp 1 @c ######################################################################### @item @ifhtml @end ifhtml Brian W. Kernighan @ifhtml @end ifhtml , @ifhtml @end ifhtml Dennis Ritchie: @ifhtml @end ifhtml The C Programming Language @ifhtml
@end ifhtml This is @emph{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. @ifhtml
@end ifhtml @sp 1 @emph{Contents:} [Damn, whom did i borrow my K&R?! Anyone who can give me a rough summary here? - HF] @ifhtml
@end ifhtml @sp 1 @itemize @bullet @item Name: The C Programming Language @item Author(s): @ifhtml @end ifhtml Brian W. Kernighan @ifhtml @end ifhtml , @ifhtml @end ifhtml Dennis Ritchie @ifhtml @end ifhtml @item Publisher: Prentice-Hall, Inc. (english) - Hanser (german) @item ISBN: 0-13-110330-X (3) (english) - 3-446-15497-3 (german) @item Pages: 228 @end itemize @sp 1 @c ######################################################################### @item Richard Stevens: @ifhtml @end ifhtml Advanced Programming in the Unix Environment @ifhtml @end ifhtml @ifhtml
@end ifhtml 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. @ifhtml
@end ifhtml @sp 1 @emph{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. @ifhtml
@end ifhtml @sp 1 @itemize @bullet @item Name: @ifhtml @end ifhtml Advanced Programming in the UNIX Environment @ifhtml @end ifhtml @item Author(s): W. Richard Stevens @item Publisher: @ifhtml @end ifhtml Addison-Wesley Publishing Company, Inc. @ifhtml @end ifhtml @item ISBN: 0-201-56317-7 @item Pages: 744 @end itemize @end itemize @node INFORM.READIT.INTERN, , INFORM.READIT.PROGRM, INFORM.READIT @subsection Introductions to Unix Internals @comment ******************************* @itemize @bullet @c ######################################################################### @item @ifhtml @end ifhtml Mike Loukides @ifhtml @end ifhtml : @ifhtml @end ifhtml System Performance Tuning @ifhtml @end ifhtml @ifhtml
@end ifhtml 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. @ifhtml
@end ifhtml @sp 1 @emph{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. @ifhtml
@end ifhtml @sp 1 @itemize @bullet @item Name: @ifhtml @end ifhtml System Performance Tuning @ifhtml @end ifhtml @item Author(s): @ifhtml @end ifhtml Mike Loukides @ifhtml @end ifhtml @item Publisher: @ifhtml @end ifhtml O'Reilly & Assosciates, Inc. @ifhtml @end ifhtml @item ISBN: 0-937175-60-9 @item Pages: 336 @end itemize @sp 1 @c ######################################################################### @item Samuel J. Leffer, et al: Design and Implementation of the 4.3BSD Operating System @ifhtml
@end ifhtml 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. @ifhtml
@end ifhtml @sp 1 @emph{Contents:} [Heh, i don't own that book! Anyone care to give me a summary of the contents? - HF] @ifhtml
@end ifhtml
@sp 1
@itemize @bullet
@item Name: Design and Implementation of the 4.3BSD Operating System
@item Author(s): Samuel J. Leffler, Marshall Kirk McKusick, Michael J. Karels, John S. Quarterman
@item Publisher:
@ifhtml
@end ifhtml
Addison-Wesley Publishing Company
@ifhtml
@end ifhtml
@item ISBN: 0-201-06196-1
@item Pages: 471
@end itemize
@sp 1
@end itemize
@c ************************************************************************
@node SOURCE, KERNEL, INFORM, top
@comment ******************************************************************
@chapter Where to get sources?
@comment ******************************************************************
@menu
* SOURCE.RELEAS:: Release
* SOURCE.CURREN:: NetBSD-current with tar-balls
* SOURCE.SOFTUP:: NetBSD-current with SUP
@end menu
@node SOURCE.RELEAS, SOURCE.CURREN, SOURCE, SOURCE
@section Release
@comment *******
Sources for the current release of NetBSD (V1.1) are available from
@ifhtml
@end ifhtml
ftp.netbsd.org
@ifhtml
@end ifhtml
under
@ifhtml
@end ifhtml
@code{/pub/NetBSD/NetBSD-1.1/source}
@ifhtml
@end ifhtml
and its mirrors.
@xref{INFORM.FTPANO} for a list of some of them.
The sources are contained in several directories:
@table @r
@item @code{src11}:
sources for all the binaries from @code{/bin},
@code{/sbin}, @code{/usr/bin}, @code{/usr/sbin},
@code{/usr/libexec}, @code{/usr/lib} and @code{/usr/games}.
@item @code{ksrc11}:
kernel source for all architectures: alpha, amiga,
atari, hp300, i386, mac68k, mvme68k, pc532, pmax, sparc, sun3 and
vax
@item @code{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.
@item @code{dsrc11}:
Domestic source that's likely to underly certain
export restrictions. Mainly Kerberos, DES and crypt-related
things.
@item @code{ssrc11}:
source for things under @code{/usr/share}, mainly some
dictionaries, documentation, man-pages, termcap-source,
timezone-codes, etc.
@end table
To unpack, do something like the following:
@example
cat .../source/ksrc11/*.?? | tar zvxCf / -
@end example
@node SOURCE.CURREN, SOURCE.SOFTUP, SOURCE.RELEAS, SOURCE
@section NetBSD-current with tar-balls
@comment ******************************
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
@ifhtml
@end ifhtml
ftp.netbsd.org
@ifhtml
@end ifhtml
in
@ifhtml
@end ifhtml
@code{/pub/NetBSD/NetBSD-current/tar_files/src}
@ifhtml
@end ifhtml
directory (and mirrors).
@node SOURCE.SOFTUP, , SOURCE.CURREN, SOURCE
@section NetBSD-current with SUP
@comment ************************
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
@ifhtml
@end ifhtml
@code{/pub/NetBSD/sup/supkit/README.sup}
@ifhtml
@end ifhtml
from ftp.netbsd.org and
follow the instructions there, there's enough text that should help you
get it going.
@c ************************************************************************
@node KERNEL, OTHERS, SOURCE, top
@comment ******************************************************************
@chapter How do I build a kernel myself?
@comment ******************************************************************
@menu
* KERNEL.INTROD:: Introduction
* KERNEL.GETTIN:: Getting the kernel source
* KERNEL.CONFIG:: Configuring the kernel
* KERNEL.COMPIL:: Compiling your kernel
* KERNEL.INSTAL:: Installing your kernel
@end menu
@node KERNEL.INTROD, KERNEL.GETTIN, KERNEL, KERNEL
@section Introduction
@comment ************
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.
@node KERNEL.GETTIN, KERNEL.CONFIG, KERNEL.INTROD, KERNEL
@section Getting the kernel source
@comment *************************
To build the new kernel under NetBSD, make sure you have the compiler
package (comp11) and the kernel source tree (ksrc11/*) installed.
@xref{SOURCE}, for ways to get the kernel source.
@node KERNEL.CONFIG, KERNEL.COMPIL, KERNEL.GETTIN, KERNEL
@section Configuring the kernel
@comment **********************
Change to the directory @file{/usr/src/sys/arch/amiga/conf}. This is where
the @emph{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 @emph{YOUR-MACHINE-NAME}. (My machine
is called `Babylon', so my kernel config file is named @file{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 @file{Makefile} for you. This is done with the program
@file{config}. Type the following command
@example
config BABYLON
@end example
(substituting your kernel name for BABYLON, obviously ;-). The program
@file{config} will create a directory @file{../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'.
@node KERNEL.COMPIL, KERNEL.INSTAL, KERNEL.CONFIG, KERNEL
@section Compiling your kernel
@comment *********************
You are now about ready to compile! Change directory to the
compile directory for your kernel (eg. @file{../compile/BABYLON}),
and type
@example
make depend
@end example
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
@example
make
@end example
As an alternative, you can type: @samp{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.
@emph{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 @file{netbsd} in your compile directory.
@node KERNEL.INSTAL, , KERNEL.COMPIL, KERNEL
@section Installing your kernel
@comment **********************
@emph{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 @code{ps} wont work unless you copy the new kernel
image over the one in @file{/netbsd}, so:
@example
mv /netbsd /netbsd.old
cp netbsd /netbsd
@end example
For booting NetBSD via @code{loadbsd}, you'll also have to copy your new
kernel over to the AmigaOS-side of your machine!
@xref{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:
@example
cp netbsd /dev/reload
@end example
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
@code{loadbsd} instead.
@xref{FAQ&AS.MISCEL.DEVICE}, for information on how to create
device-files, if the file @file{/dev/reload} doesn't exist.
@c ************************************************************************
@node OTHERS, FAQ&AS, KERNEL, top
@comment ******************************************************************
@chapter NetBSD - Linux - Amix - Minix
@comment ******************************************************************
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 @emph{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
@ifhtml
@end ifhtml
Linux
@ifhtml
@end ifhtml
.
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 (
@ifhtml
@end ifhtml
Slackware
@ifhtml
@end ifhtml
,
@ifhtml
@end ifhtml
SuSE
@ifhtml
@end ifhtml
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:
@ifhtml
@end ifhtml
http://www-agrw.informatik.uni-kl.de/~jmayer/linux68k/linux68k-faq
@ifhtml
@end ifhtml
.
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.
@c ************************************************************************
@node FAQ&AS, , OTHERS, top
@comment ******************************************************************
@chapter Frequently Asked Questions and their answers
@comment ******************************************************************
This chapter contains a list of Frequently Asked Questions (FAQs) and their
answers. @xref{INFORM} for information on where to find the files and
documents mentioned in the answers.
@menu
* FAQ&AS.INSTAL:: Installing a new system
* FAQ&AS.HARDWR:: Hardware, drivers and binpatching
* FAQ&AS.MISCEL:: Teething troubles
@end menu
@node FAQ&AS.INSTAL, FAQ&AS.HARDWR, FAQ&AS, FAQ&AS
@section 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 (@xref{INFORM}).
@menu
* FAQ&AS.INSTAL.GETBSD:: How do I get NetBSD?
* FAQ&AS.INSTAL.INSTAL:: How do I install NetBSD?
* FAQ&AS.INSTAL.AUTOMU:: How can I autoboot into MultiUser mode
* FAQ&AS.INSTAL.ASKROO:: NetBSD always asks me for a root device
* FAQ&AS.INSTAL.IXEMUL:: Where can I find ixemul.library version >= 39.46
* FAQ&AS.INSTAL.NOMULT:: NetBSD hangs while booting into MultiUser mode
* FAQ&AS.INSTAL.DMAERR:: I keep getting cksum errors when I try to install!
* FAQ&AS.INSTAL.DISTRI:: Which distribution should I use?
* FAQ&AS.INSTAL.DISTNI::
* FAQ&AS.INSTAL.PRODMA:: Does NetBSD run with the PROTO-Chip?
* FAQ&AS.INSTAL.WRMACH:: My A2000 is recognized as A1200
@end menu
@node FAQ&AS.INSTAL.GETBSD, FAQ&AS.INSTAL.INSTAL, FAQ&AS.INSTAL, FAQ&AS.INSTAL
@subsection How do I get NetBSD?
@comment ********************
The first thing you should do is find the file
@ifhtml
@end ifhtml
@file{getting-NetBSD}
@ifhtml
@end ifhtml
,
which details exactly where to find all the files you'll need. You
can probably find it the same place you found this FAQ.
@xref{INFORM} for details.
@node FAQ&AS.INSTAL.INSTAL, FAQ&AS.INSTAL.AUTOMU, FAQ&AS.INSTAL.GETBSD, FAQ&AS.INSTAL
@subsection How do I install NetBSD?
@comment ***********************
There's a file called
@ifhtml
@end ifhtml
@file{INSTALL}
@ifhtml
@end ifhtml
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:
@itemize @bullet
@item
@ifhtml
@end ifhtml
ftp.netbsd.org
@ifhtml
@end ifhtml
:
@ifhtml
@end ifhtml
/pub/NetBSD/NetBSD-1.1/amiga/INSTALL
@ifhtml
@end ifhtml
and mirrors
@item
@ifhtml
@end ifhtml
ftp.uni-regensburg.de
@ifhtml
@end ifhtml
:
@ifhtml
@end ifhtml
/pub/NetBSD-Amiga/release/INSTALL
@ifhtml
@end ifhtml
and mirrors
@end itemize
Please consult this file for further instructions!
@xref{INFORM.FTPANO}, for a list of mirrors of the above server.
@node FAQ&AS.INSTAL.AUTOMU, FAQ&AS.INSTAL.ASKROO, FAQ&AS.INSTAL.INSTAL, FAQ&AS.INSTAL
@subsection How can I autoboot into MultiUser mode
@comment **************************************
The @file{loadbsd} program has a number of options to control the boot
process - type @samp{loadbsd -?} to see all the options. The one you
need in particular (for the current version of LoadBSD, anyway) is
@samp{-a}.
@node FAQ&AS.INSTAL.ASKROO, FAQ&AS.INSTAL.IXEMUL, FAQ&AS.INSTAL.AUTOMU, FAQ&AS.INSTAL
@subsection NetBSD always asks me for a root device
@comment ***************************************
Make sure you are using the latest kernel and version of
@code{LoadBSD}. Note that @code{LoadBSD} has an option,
@code{-b}, to explicitly force it to ask for the root device
on boot - make sure you aren't running @code{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.
@node FAQ&AS.INSTAL.IXEMUL, FAQ&AS.INSTAL.NOMULT, FAQ&AS.INSTAL.ASKROO, FAQ&AS.INSTAL
@subsection Where can I find ixemul.library version >= 39.46
@comment ************************************************
Well, you don't strictly speaking need it; If LoadBSD pops up
a requester asking you for version 39.47, click @emph{OK}
and @code{LoadBSD} will continue using version 39.45.
If you don't have any version of @file{ixemul.library}
(where have you been living? :-), have a look on an
@ifhtml
@end ifhtml
Aminet
@ifhtml
@end ifhtml
site
or get it from
@ifhtml
@end ifhtml
ftp.uni-regensburg.de:/pub/NetBSD-Amiga/tools/ixemul.library.gz
@ifhtml
@end ifhtml
.
@node FAQ&AS.INSTAL.NOMULT, FAQ&AS.INSTAL.DMAERR, FAQ&AS.INSTAL.IXEMUL, FAQ&AS.INSTAL
@subsection NetBSD hangs while booting into MultiUser mode
@comment **********************************************
Make sure the lines which read
@example
name_server=NO
timed_flags=NO
@end example
in the file @file{/etc/netstart} do indeed read @code{NO} twice;
@file{named} and @file{timed} will hang the machine if there is no network
attached when it starts.
Also, delete the directory @file{/var/yp} if you don't use YP (NIS),
because the upcoming @file{ypbind} would search for a NIS server forever.
@node FAQ&AS.INSTAL.DMAERR, FAQ&AS.INSTAL.DISTRI, FAQ&AS.INSTAL.NOMULT, FAQ&AS.INSTAL
@subsection I keep getting cksum errors when I try to install!
@comment **************************************************
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 @file{binpatch}
(@xref{FAQ&AS.HARDWR.BINPAT} for details) type
@example
binpatch -s _sbic_no_dma=0x1 kernelfile
@end example
(not forgetting to replace @file{kernelfile} with the name
of your kernel image!). You should now be able to boot & install
using programmed-IO (PIO) instead of DMA.
@node FAQ&AS.INSTAL.DISTRI, FAQ&AS.INSTAL.DISTNI, FAQ&AS.INSTAL.DMAERR, FAQ&AS.INSTAL
@subsection Which distribution should I use?
@comment ********************************
At the time of writing, there are two principle distributions
you could look at,
@ifhtml
@end ifhtml
@file{NetBSD-1.1}
@ifhtml
@end ifhtml
and
@ifhtml
@end ifhtml
@file{NetBSD-current}
@ifhtml
@end ifhtml
.
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
@ifhtml
@end ifhtml
@code{NetBSD-1.1}
@ifhtml
@end ifhtml
distribution. The
@ifhtml
@end ifhtml
@code{NetBSD-current}
@ifhtml
@end ifhtml
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!
@xref{INFORM} for information on where to find the relevant
files.
@node FAQ&AS.INSTAL.DISTNI, FAQ&AS.INSTAL.PRODMA, FAQ&AS.INSTAL.DISTRI, FAQ&AS.INSTAL
@subsection Which distributions are available outside the Internet?
@comment *******************************************************
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
@ifhtml
@end ifhtml
"Meeting Pearls II"
@ifhtml
@end ifhtml
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
@ifhtml
@end ifhtml
http://www.teuto.de/~markus/gatewaye.html
@ifhtml
@end ifhtml
.
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
@ifhtml
@end ifhtml
ftp://ftp.uni-regensburg.de/pub/NetBSD-Amiga
@ifhtml
@end ifhtml
as of february 1996.
More information on the Gateway V2 see
@ifhtml
@end ifhtml
http://www.teuto.de/~markus/gatewaye.html
@ifhtml
@end ifhtml
.
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).
@node FAQ&AS.INSTAL.PRODMA, FAQ&AS.INSTAL.WRMACH, FAQ&AS.INSTAL.DISTNI, FAQ&AS.INSTAL
@subsection Does NetBSD run with the PROTO-Chip?
@comment ************************************
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 @emph{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 @samp{-I ff} to loadbsd.
@node FAQ&AS.INSTAL.WRMACH, , FAQ&AS.INSTAL.PRODMA, FAQ&AS.INSTAL
@subsection My A2000 is recognized as A1200
@comment *******************************
On some machines, the detection of which machine one has doesn't work
and so you have to tell it by hand giving the @samp{-c} switch to
loadbsd:
@example
loadbsd -c 2000 netbsd
@end example
@node FAQ&AS.HARDWR, FAQ&AS.MISCEL, FAQ&AS.INSTAL, FAQ&AS
@section Hardware, drivers and binpatching
@comment *********************************
This section details certain specific hardware problems you
may run into.
@menu
* FAQ&AS.HARDWR.SERTTY:: How do I get a serial terminal to work correctly?
* FAQ&AS.HARDWR.RETINA:: Does NetBSD work with the Retina video card?
* FAQ&AS.HARDWR.BINPAT:: How do I use binpatch?
* FAQ&AS.HARDWR.TAPEDR:: Tapedrive problems
* FAQ&AS.HARDWR.SUNTAP:: Reading Sun tape cartridges
* FAQ&AS.HARDWR.SILOOV:: How to deal with silo-overflows?
* FAQ&AS.HARDWR.X4TIGA:: How can I run X on the A2410 TIGA board?
@end menu
@node FAQ&AS.HARDWR.SERTTY, FAQ&AS.HARDWR.RETINA, FAQ&AS.HARDWR, FAQ&AS.HARDWR
@subsection How do I get a serial terminal to work correctly?
@comment *************************************************
The file @file{/etc/ttys} tells @code{init} which ports
to run a @code{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
@example
tty00 "/usr/libexec/getty std.19200" vt100 on insecure
@end example
@file{tty00} indicates the internal serial port, the
@file{std.19200} tells @code{getty} what serial parameters
to use - look in @file{/etc/gettytab} for details of
other speeds etc. - and the @file{vt100} indicates
what terminal emulation to use; look in
@file{/usr/share/misc/termcap} for details of other
terminal emulation names.
Note the @file{insecure} entry - this means that you (or an imposter, more
importantly) cannot log in as @samp{root} on that terminal, even if he has
the root password. You've to log in as 'normal' user then use @samp{su} to
switch to root. Be sure to be in the right group (wheel,
@xref{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.
@node FAQ&AS.HARDWR.RETINA, FAQ&AS.HARDWR.BINPAT, FAQ&AS.HARDWR.SERTTY, FAQ&AS.HARDWR
@subsection Does NetBSD work with the Retina video card?
@comment ********************************************
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 @file{binpatch} to set the symbol
@code{_retina_default_mon} to one of the following
values depending on the resolution/refresh rate your monitor
can handle:
@itemize @bullet
@item @code{0x01} -- 640x512 at 31.5kHz
@item @code{0x02} -- 768x600 at 38kHz
@end itemize
@xref{FAQ&AS.HARDWR.BINPAT} for details of using @code{binpatch}.
@node FAQ&AS.HARDWR.BINPAT, FAQ&AS.HARDWR.TAPEDR, FAQ&AS.HARDWR.RETINA, FAQ&AS.HARDWR
@subsection How do I use binpatch?
@comment **********************
@menu
* FAQ&AS.HARDWR.BINPAT.INTROD:: Introduction
* FAQ&AS.HARDWR.BINPAT.KERNEL:: Patching the kernel
* FAQ&AS.HARDWR.BINPAT.OPTION:: Other binpatch options
* FAQ&AS.HARDWR.BINPAT.SYMLST:: List of all binpatchable symbols
@end menu
@node FAQ&AS.HARDWR.BINPAT.INTROD, FAQ&AS.HARDWR.BINPAT.KERNEL, FAQ&AS.HARDWR.BINPAT, FAQ&AS.HARDWR.BINPAT
@subsubsection Introduction
@comment ************
@file{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 @code{binpatch} for AmigaOS in
@ifhtml
@end ifhtml
@file{binpatch-array-1.1.tar.gz}
@ifhtml
@end ifhtml
located in @file{.../tools} on
ftp.uni-regensburg.de and its
@ifhtml
@end ifhtml
mirrors
@ifhtml
@end ifhtml
.
@node FAQ&AS.HARDWR.BINPAT.KERNEL, FAQ&AS.HARDWR.BINPAT.OPTION, FAQ&AS.HARDWR.BINPAT.INTROD, FAQ&AS.HARDWR.BINPAT
@subsubsection Patching the kernel
@comment *******************
In order to patch the kernel, you need to know basically
two things - the name of the symbol (eg. @code{_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 @file{netbsd},
@example
binpatch -s _retina_default_mon=0x02 netbsd
@end example
would patch the kernel to boot into a Retina screen of resolution
768 by 600 at 38kHz.
@node FAQ&AS.HARDWR.BINPAT.OPTION, FAQ&AS.HARDWR.BINPAT.SYMLST, FAQ&AS.HARDWR.BINPAT.KERNEL, FAQ&AS.HARDWR.BINPAT
@subsubsection Other binpatch options
@comment **********************
There are a few more `advanced' options you can call binpatch with;
these are detailed below.
@itemize @bullet
@item @code{-s} -- Specify the symbol of the variable (as above).
@item @code{-a