Here's the cheat sheet for setting up a netatalk 2.1.3 server, with Apple II
netboot, on Ubuntu 10.04. I hope it's helpful. It draws heavily on what
Steven Hirsch contributed before. This setup has been tested with an Apple
Workstation Card attached to an AsanteTalk bridge, connecting to VirtualBox
or VMWare Fusion on Mac OS X 10.5.8 (wired only, wireless will not work).
In principle, this should work for IIgs netbooting as well, but it has not
been tried.
In these instructions, I use pico to edit text files, but you can use the
text or graphical editor of your choosing.
- Using Synaptic Package Manager or apt-get, install libdb4.8-dev,
libssl-dev, libcrack2, libcrack2-dev, cracklib-runtime, libpam-cracklib
- download netatalk 2.1.3 (source) then in a terminal, cd to the folder you
downloaded it to (e.g. "cd ~/Downloads") and type:
tar zxf netatalk-2.1.3.tar.gz
cd netatalk-2.1.3
- if you want to apply Steve's date fix, type:
pico etc/afpd/file.c
- put // (two slashes) at the start of line 827, which says "change_mdate =
1;"
- you're ready to build! type:
/configure --enable-debian --enable-a2boot --with-cracklib [wait until
complete]
sudo make [wait until complete]
sudo make install [wait until complete]
Ok, it's installed. Now to edit config files:
sudo pico /etc/init.d/netatalk
- line 1: change from #!/bin/sh to #!/bin/bash
- lines 36 and 37: change /etc/default/netatalk to
/usr/local/etc/netatalk/netatalk.conf
- wherever it says "timelord" [six places], change it to "a2boot" (observing
case as appropriate)
sudo pico /usr/local/etc/netatalk/netatalk.conf
change ATALKD_RUN and A2BOOT_RUN from no to yes
sudo pico /usr/local/etc/netatalk/afpd.conf
add this to the bottom:
- -transall -uamlist uams_guest.so,uams_clrtxt.so,uams_randnum.so
sudo pico /usr/local/etc/netatalk/atalkd.conf
add this to the bottom:
eth0 -router -phase 2 -net 1 -addr 1.6 -zone "myZone"
[may need adjustment for your setup; this works for me with an AsanteTalk
LocalTalk-to-Ethernet bridge]
sudo pico /usr/local/etc/netatalk/AppleVolumes.default
put a # in front of the tilde near the bottom. On the next line, put
/home/A2BOOT A2BOOT casefold:toupper options:prodos
[you can add other shared folders below this line if you wish, in the same
format]
- create the share folder. type:
sudo mkdir /home/A2BOOT
If you don't want to netboot and only wish to use the Workstation Disk to
log onto the server from your Apple II, you can now boot the disk and you
should be able to log on as guest. To add registered users, type:
sudo afppasswd -c [only for the first user you ever add]
sudo afppasswd -a -n username ['username' should be an Ubuntu user]
You're now ready to start the server. You can start netatalk with:
sudo /etc/init.d/netatalk start [it takes about 1 minute to start up]
[you can also stop it with "stop" instead]
(Even if you are planning on netbooting, it's not a bad idea to actually try
out the Workstation Disk now just to see if you can log on as a guest at
this point.)
Next, set up the Boot Blocks which are transferred and executed during an
Apple II netboot. In the csa2 "secret archive" find "Extras for netatalk
environment" and download it, and cd to the folder it downloaded to (e.g.
"cd ~/Downloads"). Then type:
tar zxf netatalk_extras.tar.gz
cd netatalk_extras
tar zxf troika-2.tar.gz
sudo mv a2boot /usr/local/etc/netatalk
Finally, you need to set up the netboot shared volume just so. This part is
tricky because for each user you need a customized file called ATINIT in
/home/A2BOOT/USERS/[username]/SETUP/ which is normally generated by the
AppleShare 3 server software. You also need a copy of BASIC.SYSTEM in
/home/A2BOOT/SYSTEM that appears to ProDOS with its correct file type
(meaning correct metadata must be in the correct .AppleDouble folder). All
this stuff is available for two users called "local2e" and "local2e" in the
netatalk_extras folder you just downloaded, so you can start with those.
Type:
ztar zxf A2BOOT.tar.gz
sudo mv A2BOOT /home
sudo chown -R root:root /home/A2BOOT
sudo chmod -R ugo+rw /home/A2BOOT
- on the Ubuntu desktop, in System->Administration->Users and Groups, create
a new user called "local2e" (or "local2gs" if you're netbooting from a
IIgs), with whatever password you like.
- back in terminal, type:
sudo afppasswd -c [if you didn't already so above]
sudo afppasswd -a -n local2e
- enter the password you want to log from the Apple II with, twice.
Now, if all is well, you should be able to type PR#2 (or whatever slot your
WS card is in), and hold open-apple as you press return (not necessary on
IIgs). You should then be able to log onto the server with username
"local2e" (or "local2gs") and the password you typed, and launch
BASIC.SYSTEM. Cool! The default prefix is /A2BOOT/SYSTEM.
I have sometimes had issues getting my //e to initially find the server for
netboot; starting from the Workstation Disk and logging on seemed to help,
and then further netboots go ok. Also, if you have a System 7/8/9 Mac, try
using that to see if the server shows up in the Chooser (make sure the
AppleTalk control panel is set to the correct port).
If you want to permit guest login, do this in the Ubuntu terminal:
cd /home/A2BOOT/USERS
mkdir '<ANY USER>' [type this exactly as shown, including single quotes]
cd '<ANY USER>' [same here]
mkdir SETUP
cd SETUP
base64 -d > ATINIT
[when you press return, it will not display a new prompt]
paste the following:
AP//AAAJ/xsvQTJCT09UL1NZU1RFTS9CQVNJQy5TWVNURU0AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAA//8AAAn/Dy9BMkJPT1QvU1lTVEVNLwAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKPEFueSBVc2VyPgAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
[now type return, then ctrl-D, and you will be back at the prompt]
sudo chmod -R ugo+rw /home/A2BOOT
Guest login should now be enabled.
If you want to create your own ATINIT file for your Ubuntu user(s), use
AppleShare 3 and make a user with the same name, and set the user up for
Apple II Startup, then log into the A2BOOT volume and copy over the new user
folder to the USERS folder on A2BOOT. If you want to try to hand-roll your
own ATINIT, you can look at the existing ones, and refer to the technical
notes in /home/A2BOOT/USERS for details on the file format. I'll eventually
write a utility to do this. Maybe.
If you get as far as logging in but then the Apple //e complains about not
finding the startup program, BASIC.SYSTEM may not have the correct file
type. To fix this, log onto the server with the Workstation Disk, and go to
BASIC. Then type:
PREFIX /A2BOOT/SYSTEM
CAT [verify that BASIC.SYSTEM isn't type SYS]
BLOAD BASIC.SYSTEM,T$00,A$2000
RENAME BASIC.SYSTEM,BASIC.SYS00
CREATE BASIC.SYSTEM,TSYS
BSAVE BASIC.SYSTEM,TSYS,A$2000,L$2800
CAT [verify that BASIC.SYSTEM is now type SYS]
DELETE BASIC.SYS00