-
Notifications
You must be signed in to change notification settings - Fork 33
Installation instructions
The instructions below are outdated!
Please follow the instructions here: https://github.com/niklasekstrom/a314/blob/main/Software/README.md
The instructions below are kept around for the curious reader for the time being but perhaps should be removed instead.
Here follows instructions for installing software for A314.
On the Raspberry side you should:
- Install the most recent version of Raspbian. Up until around January 2019 there was a bug in the Linux BCM2835 SPI driver, so you should use a version of Raspbian released after that (2019-04-08 or later).
- Enable SPI using
sudo raspi-config
> Interfacing Options > SPI > Enable. - In the file /boot/config.txt you should add a line that says
force_turbo=1
. The reason you want this is because the active SPI frequency is a fraction of the core frequency, which is 400 MHz when running at full speed, but that frequency is reduced to 250 MHz when the CPUs are not very busy. The Raspberry does SPI transfers using DMA, so the CPU is typically idle during a SPI transfer, and unfortunately that reduces the core frequency and therefore the SPI frequency, which we don't want. Therefore we force the core frequency to 400 MHz using that option. - In the file /boot/cmdline.txt you should add
spidev.bufsiz=65536
(please note that it says spidev.bufsiz, the 'e' is missing on purpose!). Note that the options in the file form a single line of text. The spidev.bufsize is the maximum size of a single SPI transfer. The a314d daemon will use multiple SPI transfers to transfer more data than 64 kB. - If you are using Raspbian Lite then run
sudo apt install python3-distutils python3-dev python3-pip
to install needed Python3 files. - Create two directories as root: /opt/a314 and /etc/opt/a314.
- Copy the files a314d, a314fs.py, picmd.py to /opt/a314 as root.
- Make the daemon executable:
sudo chmod +x /opt/a314/a314d
- Copy the files a314d.conf, a314fs.conf, picmd.conf to /etc/opt/a314 as root.
- Create the directory /home/pi/a314shared as user pi. I'm assuming you are using the default user pi from the Raspbian installation; if not then you can change this path in the file a314fs.conf.
- Copy the file a314d.service to the directory /lib/systemd/system as root.
- Run
sudo systemctl daemon-reload
to let systemd find out about the new service file. - Run the command
sudo systemctl enable a314d
to let systemd start a314d automatically when the Raspberry boots. You can also runsudo systemctl start a314d
to start a314d immediately without rebooting the Raspberry.
On the Amiga side:
- Create a boot disk with your typical files.
- Copy a314.device to DEVS:.
- Copy a314fs to L:.
- Copy a314fs-mountlist to DEVS:. Note that if you clone the Git repo on Windows then Git may change the line endings of that file to CRLF instead of just LF (depending on your Git settings), and the Amiga mount command cannot handle that, so you may have to open the file in some editors that allows you to change the line endings back to just LF.
- Copy pi to C:.
At this point you should be able to boot from the boot disk and in a CLI run pi uname -a
to execute the uname command on the Raspberry and print out that information in the Amiga CLI. Running pi
without any arguments drops you into an interactive bash shell on the Raspberry. Note that the bash terminal runs in ANSI mode and assumes the terminal has 8 colors. By default Amiga only uses 4 colors, so some colors will not be seen. There's a small program, AddWBplane, that is available on Fish disk 0543 that adds a bitplane so that you get 8 colors.
To mount the PiDisk do mount PI0: from DEVS:a314fs-mountlist
. You may also want to add the contents of a314fs-mountlist to your DEVS:mountlist file, so that you can simply write mount PI0:
instead.
Before powering off your Amiga you should do pi sudo shutdown now
and wait a few seconds to let the Raspberry shutdown properly.