Mac OS X is a wonderful operating system that many students have on their laptops. It is possible to configure the Mac to become a host for AOS slug development. This web page lists the steps necessary to configure a Mac. The number of steps will seem quite daunting but each one is reasonably simple and you should proceed step by step. It is easier to use recent Macintoshes with AirPort installed.
Warning: the OSXCrossToolBuild script linked below is currently broken due to Apple's idiot compilers and GNU Autotools' idiot configure scripts. Use/hack at your own risk.
Watch this space (and the course notices) for future updates.
In the meantime, if you are developing on a Mac, please email Justin.
# sudo mkdir /var/tftpboot/$USER # sudo chown $USER:$USER /var/tftpboot/$USER # cd /System/Library/LaunchDaemons # sudo <editor> tftp.plist # change /private/tftpboot to /var/tftpboot/<$USER> # sudo launchctl unload tftp.plist # sudo launchctl load tftp.plist # sudo service tftp start
It is easier to export the tftpboot directory as your filesystem for later milestones. This section describes the steps necessary to do this.
(These instructions do not apply to Mac OS X 10.5 Leopard. If you are using 10.5, have a look at this page. Note that it does not appear to be possible to export /var/tftpboot/$USER directly on Leopard, as the nfsd does not follow symlinks.)
% sudo -s # Start a superuser shell
# cd /var/tftpboot/$USER
# nicl . -create /exports/\\/var\\/tftpboot\\/$USER clients 192.168.168.2
# nicl . -create /exports/\\/var\\/tftpboot\\/$USER opts maproot=<user>
# nicl . -read /exports/\\/var\\/tftpboot\\/$USER
At a later stage when you want to remove all nfs exports and
% sudo nicl . -delete /exports
The NFS code in SOS also requires the host to be running a server for the time protocol on UDP port 37. (NB: this is not NTP.)
You will need the USB driver for the serial card in your slug. You can find it in Virtual COM Port Drivers, grab whichever driver you need for your Macintosh system. Once you have the driver you can plugin the Slug and find out what the USB serial port is called; it will be something starting with /dev/cu.usbserial-*, note this down as you will need to configure minicom below.
Download and install the MacPorts package installer. Get MacPorts
sudo port install
sudo port install minicom.
When it is finished you will need to configure the minicom installation
sudo minicom -s Delete the modem initialisation
strings, Set the serial port up on previously noted address
/dev/cu.usb..., 115200, 8N1, No Hardware flowcontrol
% cd <somewhere>
% OSXCrossToolBuild armv5b-softfloat-linux c,c++ 3.4.5 2.3.5
This will take a long time! At the beginning sudo will
occasionally ask for your password to create
/opt/crosstool and to call
install for some software.