Subject: NetBSD1.1 install guide!
To: None <amiga@NetBSD.ORG>
From: Karl Stenerud <>
List: amiga
Date: 12/06/1995 11:26:39
Ok, here it is.. The netbsd install guide updated for NetBSD 1.1.

I keep a copy on my homepage as well:

Name:   NetBSD 1.1 and X11R6 Install Kit V3
Author: Karl Stenerud (
Short:  How to install NetBSD 1.1 and X11R6 (and internet)

  This file is intended as a support to the relevant readme and install docs
that come with the software mentioned within this document.  It is by no 
a 100% replacement for existing documentation.


You should ONLY do this install if you don't mind if your harddrive should
accidentally be erased.  (Yes it is very easy to do so unless you are CAREUL)
In any case, MAKE A BACKUP!!!!!

  This file is designed as a step-by-step guide for the average amiga user
(more or less) for installing NetBSD and the X Window system (X11R6) on your
Amiga computer.  it is expeted that you know at least how to use AmigaDOS or
how a command line interface works.  If not, you are most likely in over your

  This is a quick and dirty method for installing the system.  It does a few
things you shouldn't make a habit of doing, such as always loggin in as root.
Once you get your system up and running, you should create a user for 
If you see anything wrong with this file, don't hesitate to let me know.

Always remember: Shutting off your computer without shutting down NetBSD 
is BAD!  Use the shutdown commands: halt, shutdown, or reboot.

  Any actions taken as a result of this file are considered to be at the risk
and responsibility of the user.  I take no responsibility for any damages
incurred as a result of the use of this file.

Table of Contents:
A. Requirements
B. NetBSD Installation
C. X11R6 Installation
D. Making a user for yourself
E. Compiling your own kernel
F. Quick and dirty SLIP
G. Unix commands for Amiga users

A. Requirements:
To run it, you need at least:

- A system with an FPU and MMU (020 or better)
- 8 megs RAM (Install dox say 4 but I couldn't get it to work without 8 megs)
- at least 100 megs of dedicated space (enough for NetBSD and X11R6)
  -- I would suggest at LEAST 150 megs so you can play with new programs.

B. NetBSD Installation:
Before you start, get any relevant faqs (386BSD.faq, NetBSD-amiga.faq etc)
from or from the newsgroups.

NOTE:  If you have a RetinaZ3 and run on an 030, you may have troubles 
       with the generic kernel distributed with netbsd.  You will know what
       I'm talking about when you start getting vm_faults.
       If this happens, you will have to take out your retina card, install
       netbsd, recompile the kernel with RETINA_SPEED_HACK enabled (see 
       E: compiling your own kernel) and then put your card back in.

0. Get the files you need:
   - Go to a NetBSD-Amiga ftp site.  Here is a short list from the INSTALL
     docs:			pub/netbsd		BSD/NetBSD		pub/BSD/NetBSD	pub/NetBSD			pub/BSD/NetBSD		pub/NetBSD			pub/NetBSD		pub/OS/NetBSD		pub/NetBSD		pub/NetBSD			pub/unix/NetBSD			pub/NetBSD

   - Go to aminet ( in pub/aminet) and get the following:
	ixemul.library			dev/gcc
	gzip				util/pack
	gnutar				util/arc

1. go to bin-dist/1.1 and get all the files in binary, kernel, miniroot and
   (security only if you are in the US or Canada)
    - Note the Harddrive and partition where you put the NetBSD files

2. READ the INSTALL docs!

3. Load HDToolBox and change some settings on your hd.

   - Decide how big to make your partitions and make them:
     root: about 20 megs	(this holds your system and device info)
     user: 100-150 or more	(this is your "official" HD)
     swap: 2-3 times your RAM	(this is your virtual mem)

   * Careful! You are modifying your drive! take precautions!

   - go to "Advanced Options"

   For each NetBSD partition:
    - WRITE DOWN the start and end point of each partition and its size
    - WRITE DOWN the logical device name you gave to each NetBSD partition
    - Note the Harddrive and partition where you put the NetBSD files
    - go to "Change..." under File System
    - Choose "Custom File System"
    - Turn "Automount" off
    - Turn "Custom Boot Code" of
    - Set "Reserved Blocks" to start and end at 0
    - Ignore "Mask" and "MaxTransfer". They are not used.
    - set "Identifier" (dostype) according to the partition type:

       root: 0x4e425207
       swap: 0x4e425301
       user: 0x4e425507

    * Note that swap must be on the same drive as root!

   - save settings and exit

4. Install the miniroot filesystem:
   - gunzip the install miniroot
	gzip -d inst-11.s.gz

   * Be careful with the following step... you are overwriting a partition.
   - use the xstreamtodev program you downloaded from the utils directory to
     stream the install filesystem onto your swap drive.
	xstreamtodev --input=inst-11.fs --rdb-name=<swap-partition>
     where <swap partition> is the name you gave to the swap partition.
   * You may also need to include --device=<driver-name> and/or
   * It should print some info and ask you if you want to proceed.  If it
     doesn't, and just quits, then there was an error (file not found or the

5. Boot NetBSD. You need loadbsd and netbsd files.
	loadbsd -b netbsd

   * ixemul.library must be in your libs: in order for netbsd to load.
   * Make sure you do a cold boot and don't load ANYTHING before booting.
     NetBSD.  The Amiga will pollute the memory and NetBSD won't load 
   * A new screen opens and diplays diagnostics stuff.

   * You will be prompted with available devices.
   - when asked for root device, type: sd0*
     where 0 is the number of the device which has the swap partition.
     (It will usually go in the same order that HDToolbox does.  If you don't
      know, just try one after the other.)

   - when asked for what shell to use, just press return.
   - you will be asked to proceed. Type "y"

   * some info on your hd will appear.  Get your hd info that you wrote
     down earlier ready.

     Make SURE you have the correct information!

   - type "yes" to proceed.  NetBSD will format the root partition.

   * You will see the following errors:
		newfs: ioctl (WDINFO): Invalid argument
		newfs: /dev/rsd0a: can't rewrite disk label
     If there are more, restart the installation.

   - select the proper drive and partition for your user partition

   * You can tell the NetBSD partitions because they have "BSD" in the
     line while the AmigaDos ones have Ados in the line.

6. Install the binaries

   - type "disklabel sd0" or sd1 or whatever drive your NetBSD files are on.
   - find the partition letter corresponding to the partition you put the
     NetBSD files on.
   - type the following:
		mkdir /mnt/ados
		mount_ados -o rdonly /dev/sd__ /mnt/ados
				insert drive and partition here
   * The first amiga partition on a drive is d (example: sd0d)
   * This will mount the amigados partition in read-only mode

   - type "cd /mnt/ados" to get to the amigados partition
   - cd to the dir where your NetBSD files are
   - Type "Set_tmp_dir"
   - Use "Extract" to get the files to NetBSD side. omit the .aa etc.
      ex: Extract base11

7. Configure your system

   - Type "cd /"
   - Type "Configure"
   * You will be asked to input some info about your system.
   * In order to have internet working, I had to set my address to
     If anyone knows the right thing to put in here, let me know!
   - type "halt", wait for it to say "halted", then reboot

8. Load NetBSD in single user mode

   - load NetBSD again by typing:
		loadbsd netbsd
   - press return when it asks what shell to use
   - type the following:
		mount -av
		cd /dev
		./MAKEDEV all
   * This takes awhile
   - mount the ados partition again
   - copy the netbsd file over:
		cp /mnt/ados/wherever/netbsd /netbsd
   * at this point there are some files you should adjust.  However, most
     people don't know how to use vi or ed (similar to amigados ed and edit)
     If you want, you can wait until you have X11R6 installed and use xedit 
     modify them.  Otherwise type "man vi" to get the vi manual.
   - The files you need to edit are:
     /etc/ttys    turn off getty on the Retina display if you don't have one
   - edit these files ONLY if you know what you're doing:
     /etc/  configure network related progs
     /etc/netstart     enable/disable network programs
   - set your timezone info (not imperative):
      ln -s /usr/share/zoneinfo/whatever /etc/localtime
   * /etc/localtime starts out linked to /usr/share/zoneinfo/US/Pacific
   - type the following:
      cd /
      umount -av
   - reboot the machine
   * ALWAYS use the halt command beore booting your machine!

9. Load NetBSD again, this time type "loadbsd -a netbsd"
   * if you have an A3000 and OS 3.1, type "loadbsd -c 3000 -a netbsd"
   - log in as root

You now have a functional NetBSD.

* I would strongly suggest you get bffs 1.3 and bffs 1.4beta and install them
  (1.4beta over top of 1.3) on your amiga side.  This will alow you to get
  your kernel over to the amiga side.
  You can get bffs at any of the sites that have X11R6 for NetBSD-Amiga.

C. X11R6 Installation:
  A common mistake among X-Window newbies is to call it "X-Windows".  Believe
it or not, many people feel very strongly about calling it by its proper 
(Heck, they'd call it Xerox Window system if they had their way.)  So protect
your butt from flames and call it "X11R6" (for X version 11 release 6) or
the "X Window System".

The sites that have X11R6 for NetBSD-Amiga are:	/pub/comp/amiga/NetBSD-Amiga	/pub/machines/amiga/NetBSD		/pub/NetBSD/NetBSD-Amiga	/pub/amiga/NetBSD	/pub/amiga/unix/NetBSD	/pub/NetBSD-Amiga/	/pub/systems/amiga/netbsd	/pub/unix/systems/NetBSD-Amiga

X11R6 is in contrib/X11/X11R6

 1. Look or the most current release and get the files.
    - Xdaniver is an ECS/AGA xserver
    - Xamiga24 and Xcl are for 24-bit graphics cards
    * Make sure you get the readme, too.
    * While you're at it, you may want to grab a few toys from contrib/X11

 2. Boot into NetBSD

 3. Mount ados and then install the files like so:
     cat <filename> | (cd / ; tar xpzf -)
    * This will automagically gunzip and untar the archive to the proper dirs

    * In some distributions, Xdaniver, Xamiga24, and Xcl may not be tarred
      archives (.tar).  In this case, you will have to copy the file to
      your bin directory and gunzip them:
		cp <filename> /usr/local/X11R6/bin
		gunzip <filename>

      In this case, you may be missing 2 files necessary to start X:

      If they are missing, you can put them in by typing:
		echo "X" > /usr/local/X11R6/lib/X11/xdm/Xscript
		echo "X -mono" > /usr/local/X11R6/lib/X11/xinit/xserverrc

      * If you are not using Xamiga24 or Xcl, you should load X for the first
        time in mono to be sure you don't kill your monitor. you can change
        this later by changing xserverrc to:
		X -mode <whatever> -dev /dev/<whatever>
        See the X11R6 readme for more info.

      * look in the xserverrc file to be sure it is loading in mono:
		cat /usr/local/X11R6/lib/X11/xinit/xserverrc
        If not, then change it as shown above. (if you use Xdaniver, then
        ignore this)

 4. Make a softlink to your X server.
    Example with Xdaniver:
    - cd /usr/local/X11R6/bin
    - first you must get rid of the old softlink:  Either remove it (rm X)
      or just rename it to be safe (mv X X.old)
    - make a link to Xdaniver: ln -s Xdaniver X

 5. Set up X11's lib dir
    ! Be careful with the following command! if you make a mistake and put 
      one ">" it will destroy your rc.local!!!  Make a backup first:
		cp /etc/rc.local /etc/rc.local.bak
    - type the following:
		echo "ldconfig /usr/local/X11R6/lib" >> /etc/rc.local
    * this will append "ldconfig /usr/local/X11R6/lib" to the end of your

 6. Reboot NetBSD:

 7. Set your path by typing:
		setenv PATH /sbin:/usr/sbin:/bin:/usr/bin:/usr/local/X11R6/bin

 8. Start up the X Window system:
    - Then login and start X:
    * It will load fvwm (Feeble/Foobar? Virtual Window Manager)

 9. Load up the editor.
    - When it finishes loading all the stuff, go to an xterminal and type:

    * it will load awhile and then display the window outline.  Position the
      window and click the left mouse button.  You will have to resize the
      window using the sizing gadget in any of the corners.  Just do it like
      in Workbench.

10. Edit some configuration files
    * The path and filename information go in the bar at the top of the

    - first open /root/.login
    - put the following in:

	setenv PATH /sbin:/usr/sbin:/bin:/usr/bin:/usr/local/X11R6/bin
	setenv MANPATH /usr/share/man:/usr/local/X11R6/man

    * hint: copy text into the clipboard by dragging the mouse over it with
      the left mousebutton down, then paste it by pressing the middle mouse
      button.  This obviously requires a 3-button mouse.

    - next open /etc/ttys
    - if you have a RetinaZ3, change the ttye1 setting (RetinaZ2) to off and
      ttye2 (RetinaZ3) to on.
    - turn off any other unused graphics displays.

    - open /usr/local/X11R6/lib/X11/xinit/xinitrc
    - if you want to use twm (Be warned, it takes lots of memory and I think 
      looks ugly.), comment out the "exec fvwm" line (put a # in front of it)
      and uncomment the "exec twm" line.

    - if you are using fvwm, open /usr/local/X11R6/lib/X11/fvwm/system.fvwmrc
    * this is your configuration file.  Refer to the documentation by loading
      xman and looking for fvwm in section 1.  Or just type "man fvwm" from 
      xterm. (You may have to reboot the system beore you can use man on X
    * I would suggest taking a bunch of things out of "InitFuction" so that
      you don't always have a bunch of things loading up on initial startup.
      I personally only have GoodStuff and 1 xterm loading at startup.
    * Be sure to edit your color selections if you don't have AGA or a gfx 
      because you will only have 16 colors!

    - you can also edit /etc/ and /etc/netstart to your tastes if
      you know what you're doing.

11. Restart NetBSD.
    - Exit fvwm
    - type "reboot"
    - Reload netbsd: loadbsd -a netbsd
    - login as root
    - startx

NetBSD and X11R6 should now be installed!  Congrats!

* At this point, you can copy over any of the toys you downloaded for X.

D. Making a user for yourself:
Andrew Booker <> sent me a nicely done helpfile
for adding users:

The problem with logging in as root all the time is that you basically can do
anything to the system, including killing it.  For this reason, you really
should make an account for yourself, and use the su command to become root
only when you need to install or fix something.  To make an account, you have
to do a few things:

1) You need to edit the password database, using the vipw command.  This
will unfortuneatly require you to use vi, but tough it out.  You need to
add a line to the end for yourself.  To do this easily in vi, press G
followed by o, and type the line.
  The first field is your login name.  This can be whatever you want.  I 
use my first name.  The second field is your password, encrypted.  Leave
this blank for now (not even a space).  The next two fields are your userid
and your primary groupid.  I use 100 for both.  (Although see step 2 for
more on the groupid.)  The next user you add would have userid 101, etc.
The next couple fields aren't that important for now.  Just follow an
example from another entry in the file.  The last two fields are important.
They are your home directory and your default shell.  Use /home/<name> for
your home directory, where <name> is your login name.  For now, use
/bin/csh as your shell.
  Well, you're done editing the password database.  Hit escape and then ZZ
to save the changes and exit vi.

2) You need to edit the file /etc/group.  For this you can use whatever
editor you want.  There are two things that need to be done here.
  First, you need to add a line for a group called users (or something like
that).  Make the groupid of this group 100 (or whatever you specified as
your default group in step 1).  This is the group id that you'll give to
all user accounts you create.  I'm not sure off the top of my head, but it
should be obvious which field is the group id.  Note that it's not
important to add yourself to the list of users with this group id in the
last field, since you specified your default group in the password
  Second, you need to add yourself to the wheel group, a special group
which has privledges on the system, including allowing you to su to root.
Don't add any other users to this group, only yourself.

3) Make your home directory:

	 mkdir /home/<name>
	 chown <name>:users /home/<name>

4) If you plan on having a lot of users, a disk partition devoted to /home
yould be a good idea.  This would be a good thing to put in the install
guide.  Mail me if you need more info on how to do this, including possibly
how to readjust the size of your partitions.  (It's not hard, but it has to
be done carefully.)

5) Login to make sure your account works.  If all goes well, you should see
the message of the day (the file /etc/motd).  Use the chfn commands to fill
in any information which you left out of the password database (like your
full name, office, phone number, etc.).  This is what people see when they
finger you.

6) I recommend getting one of the newer shells, like tcsh or bash, both of
which can be found precompiled in the contrib directories on many
NetBSD-Amiga ftp sites.  Both of these shells support improved command line
editing, and scrolling through commands with the arrow keys.  If you choose
to use one of these shells, then try the chsh command to change your
default shell.  (You don't have to reedit the password database, although
it can be done that way).

* When you have logged in with your new userid, you will have to setup
  your .login and other files in the same way you did with /root

E. Compiling your own kernel:
1. Get the kernel source distribution from any of the NetBSD sites in the
   1.1 source distribution directory under ksrc11.

2. Extract it with the following command:
		cat ksrc11.?? | (cd / ; tar xz -)

3. cd /sys/arch/amiga/conf

4. Make a copy of GENERIC and call it something cool.
		cp GENERIC <your-kernel-name>

5. Edit your file to customize the kernel to your tastes.
   * If you have a RetinaZ3 and are running on an 030, you will most likely
     have to turn on the #define RETINA_SPEED_HACK.

6. Type "config <your-kernel-name>" to configure your kernel.

7. Compile the kernel:
		cd /sys/arch/amiga/compile/<your-kernel-name>
		make depend

   * A file called "netbsd" will be created.

8. Go to your amiga side, copy the kernel over and try it out.  (you will 
   bffs to do this)  If it works, boot into netbsd and copy the working 
   kernel as /netbsd

F.  Quick and dirty SLIP:
  This is a quick and dirty way to start up slip for those of you who really
don't care how networking runs and just want to get on the net from the
NetBSD side.
Note that most of my terminology is probably incorrect =)

1. Make sure that /etc/hosts has the entry:	localhost localhost.<domain>
  * example: for, <domain> is and looks like this:	localhost

2. Create a file /etc/resolv.conf and put in it the nameserver IP and your
   domain name. (get them from your internet provider)



3. Get bsddip from any of the NetBSD distribution sites.  From the NetBSD
   directory it is in:

4. Compile it

5. Make a dip script.  Here is a sample script:

# Sample dip script "mock.dip".
# modified from the original by Joachim Bartz, <>.

	port tty00
#your modem speed
	speed 19200
	get $counter 0

	wait 5 OK ERROR
	if $errlvl ==  2  goto error_reset_modem
	if $errlvl == -1  goto timeout

	print Modem at port $port is reset.

#your init string
	init ATZ
	print Modem init string set.

	inc $counter
	print Now dialing... Try No.: $counter
#phone number to call
	dial 555-1234
	wait 5 OK ERROR
	if $errlvl ==  2  goto error_init_string

	if $errlvl ==  6  goto dial_wait
	if $errlvl ==  5  goto dial_noanswer
	if $errlvl ==  4  goto dial_nodialtone
	if $errlvl ==  3  goto dial_nocarrier
	if $errlvl ==  2  goto dial_out
	if $errlvl == -1  goto timeout

#login prompt
	wait 10 ogin:
	if $errlvl != 1  goto login_error

#my username for login
	send Cmock\n

#password prompt
	wait 10 assword:
	if $errlvl != 1  goto login_error

#my password
	send Dontyouwish\n

#here you might need to have it wait for a prompt and/or send a slip command

#server responds with:
#SL/IP session from ( to beginning...
	wait 10 SL/IP session from (
	if $errlvl != 1  goto getip_error
	get $rmtip remote 10
	get $locip remote 10


	print Local IP ... $locip
	print Remote IP .. $rmtip
	print Netmask .... $netmask
	print MTU ........ $mtu
	print Connected!
	wait 10 starting
	mode CSLIP

        if $errlvl == -1  goto mode_pidfileerror
        if $errlvl !=  1  goto exit2
        print The DIP daemon lost the carrier and the connection.
        print Trying to build up a new one...
        get $counter 0
        goto dial_out

        print Fatal error: "mode" returned -1 (creating pid file)
        goto exit

	print Got CONNECT and login, but no IPs! Sorry...
	print Local  IP .. $locip
	print Remote IP .. $rmtip
	print Netmask .... $netmask
	print MTU ........ $mtu
	goto exit

	print Got CONNECT, but no chance to log in!
	goto exit

	print Got NO CARRIER !
	goto exit

	print Got NO DIALTONE !
	goto exit

	print Got NO ANSWER !
	goto exit

	print Error initializing the modem.
	print Aborting dial out!
	goto exit

	print Error resetting the modem at port $port .
	goto exit

	print Timeout or other error occurred. Sorry...
	goto exit

	print Exiting.


6. Reboot your system

7. Run it by typing: dip <script-name>

Congrats!  You are now hooked up to the net!  Why not give the REAL Mosaic a
try now? =)

G. Unix commands for Amiga users:
This chart shows the closest unix command to each relevant amigados command.
(still incomplete... send me updates or changes)

Addbuffers       | ?
Alias            | alias
Ask              | simulated using echo and read commands
Assign           | ?
Avail            | ?
Binddrivers      | taken care of by kernel
Break            | kill
CD (change dir)  | cd
CD (current dir) | pwd
ChangeTaskPri    | renice
CMD              | use input/output redirection < >
Copy             | cp
Date             | date
Delete (file)    | rm
Delete (dir)     | rmdir
Delete (all)     | rm -r
Dir              | ls
Diskchange       | (umount, then mount)
Diskcopy         | dd
Diskdoctor       | fsck
Echo             | echo
Ed               | vi
Edit             | ed
Else             | else
Endcli           | exit
Endif            | sh: fi
                 | csh: endif
Endshell         | exit
Endskip          | ?
Eval             | expr
Execute          | sh
Failat           | ?
Fault            | error (sort of)
Filenote         | ?
Format           | mkfs
Get              | local variables are stored as $variable
Getenv           | env variables are stored as $<variable>
Iconx            | ?
If               | if
Info             | df
Install          | ?
Join             | cat file1 file2 >newfile
Lab              | ?
List             | ls -l
Loadwb           | startx =)
Lock             | chmod -w /dev/devicename
Magtape          | mt
Makedir          | mkdir
Makelink         | ln
More             | more
Mount            | mount
Newcli           | xterm &
Newshell         | xterm &
Path             | sh: set PATH=whatever ; export PATH
                 | csh: setenv PATH whatever
Prompt           | sh: set PS1=whatever ; export PS1
                 | csh: setenv prompt=whatever
Protect          | chmod
Quit             | ?
Relabel          | ?
Remrad           | ?
Rename           | mv
Resident         | ?
Run              | <command> &
Search           | grep
Set              | set
Setclock         | date
Setdate          | date
Setenv           | setenv
Setfont          | ?
Setpatch         | recompile the kernal ;-)
Skip             | goto
Sort             | sort
Stack            | ?
Status           | ps -guwx
Type             | cat
Unalias          | unalias
Unset            | unset
Unsetenv         | unsetenv
Version          | uname, file, what, ident
Wait             | sleep
Which            | which
Why              | ?