Beagleboards and Raspberry Pis
June 2012 meeting – report by Ian Macfarlane
June’s meeting saw us looking at two relatively new pieces of hardware: the Beagleboard xM and the Raspberry Pi. It started with Steve Fryatt, who talked about his experiences setting up a usable RISC OS on a Beagleboard; this was followed by Terry Marsh, who showed us Debian Linux running on his Raspberry Pi (which had arrived only the previous week).
Steve said that he had got into using the Beagleboard because people had raised questions about the running of NetSurf on both it and the ARMini – another Club member had offered Steve the loan of a Beagleboard xM to investigate the problem, and he jumped at the chance. The board had arrived with an old version of RISC OS 5 installed and while updating it he had found himself learning about how to set a system up from scratch.
He first explained what was supplied with a new Beagleboard, and what additions were necessary in order to use RISC OS on it. The board itself comes as a open PCB, along with a single Micro SD card and nothing else. The first extra thing to get was a protective case, and optionally a CMOS widget for storing the configuration settings that RISC OS needs (the ones stored in ‘CMOS RAM’ on a RiscPC).
A power supply was also needed, and Steve had found some at Farnell for around £30. It had to be 5 volt and switch-mode with good output regulation, and must be able to supply up to about 2.5 amps. Much of the current usage was for supplying the on-board USB hub; an external, powered hub could also be added if necessary. The Beagleboard xM has an integral network socket, removing the need for the USB-to-ethernet dongles required on the earlier Beagleboards. A standard USB mouse and USB keyboard were also required.
Steve talked about the storage options for data and applications. USB hard discs are readily available and Steve used one of these since he had had it to hand as a spare. A USB stick (flash drive) could also be used. The final thing to add was a battery for the real time clock (again from Farnell) which needs to be soldered to the board. The total cost was therefore between £300 and £400, depending on whether an old USB mouse, USB keyboard and USB hard drive could be obtained for free.
Steve then talked about the requirements of the monitor – he had found that the Beagleboard wasn’t very happy at generating high resolution images at sensible refresh rates. Using the Club’s projector, he was demonstrating on a screen format of 1280 × 1024 at 57Hz. If a higher resolution is demanded the refresh rate drops as low as 24Hz for 1920 × 1080 – the current full HD standard. Many modern monitors do not work at such low refresh rates. Steve had had to buy an HDMI to DVI lead to display the Beagleboard’s output on his monitor. Steve said that any monitor that works as a TV as well should be able to display low refresh rates, but this wasn’t guaranteed.
Setting up the software
The Micro SD card that comes with the Beagleboard has four files on it: comprising a basic boot loader, configuration and a Linux image. While the Linux system may not interest RISC OS users, the boot loader files are essential for any setup, including that for RISC OS. Steve had bought a couple of spare 2GB Micro SD cards (around £2.50 each) to use as working copies – avoiding the need to change the files on the original card. The copy of Linux had to be replaced by a copy of RISC OS.
Steve said that it was necessary to download some files from the RISC OS Open website and he listed and talked in detail about these components. There were some instructions on this website for setting the operating system up using an ‘empty’ Beagleboard, but it was much easier to use another working RISC OS system (ideally one running RISC OS 5, such as an Iyonix).
The first thing Steve did was set up the USB drive to be used with the Beagleboard. He attached it to the ‘mother system’ and formatted it to ADFS using a new version of HForm from RISC OS Open which can format drives attached via USB: it was essential to know the number of the disc drive, otherwise there was the danger of reformatting the wrong disc with dreadful consequences!
The downloaded RISC OS hard disc contents (!Boot, Apps, Printing and so on) must then be transferred across to this clean disc drive, which was set up in the reformatting stage as being bootable. This software was almost everything that was necessary to get the Beagleboard working. This drive was now unplugged from the ‘mother system’ and then plugged into the USB hub on the Beagle board.
Finally it was necessary to sort out the Micro SD card for the Beagle board. This was also plugged into the ‘mother system’ and its four files were copied into a safe space. This Micro SD card was then put somewhere safe, being the master card. Using a tool called SDCreate (downloaded from RISC OS Open’s website), Steve then copied the two boot loader files on to one of the blank Micro SD cards along with a downloaded RISC OS 5 image file; these cards came formatted as FAT32, which is what the Beagleboard requires. When this copying had finished, the Micro SD card was ready to plug into the Beagleboard as it had now been set up to boot the board into RISC OS.
Give it the boot
The moment of truth had been reached: would the Beagleboard start up in RISC OS 5? The power was applied. It took about seven seconds to boot up into RISC OS and then a USB hard disc was searched for and the first bootable disc it found was used. Much to Steve’s relief it had worked perfectly and he now had a working RISC OS machine, except for networking.
The disc image supplied by RISC OS Open did not have any network drivers included, and he didn’t know why. James Peacock has devised some drivers (EtherUSB), which were downloadable from his website and should be put into the system’s !Boot folder at the correct place to enable the on-board network socket. Without a battery there is no real time clock, but the NetTime utility can be downloaded from RISC OS Open for free and would set the real time clock from an internet time server during boot.
Finally Steve talked about the CMOS widget. All Acorn machines had battery backed RAM on them, which stored settings like: the drive to use at boot; whether the system goes into desktop on boot; what font to use on the desktop and which screen mode it works in. Although the CMOS settings can be saved in a file on the Micro SD card using SDCreate, this file must be created and updated manually if the machine’s configuration is changed. To get around this, Rob Sprowson (or ‘Sprow’ in online circles) devised the CMOS widget which is a minute circuit board having a small amount of flash RAM in which are stored the CMOS settings. These widgets can be purchased from RISC OS Open for £5, and once fitted to a socket on the board RISC OS 5.18 can read and update the saved settings automatically once more. Steve recommended the CMOS widget, although the system is still usable without one.
Like the Iyonix, the Beagleboard (or the ARMini) will not run any 26-bit software. The other problem is ‘unaligned memory accesses’ which can cause ‘alignment exceptions’. This is due to the fact that ARM have slightly changed the reading and writing of byte-sized transfers. Software that is designated ‘ARMv7 compliant’ will definitely work, but older 32-bit software may have to be recompiled with the latest compiler to remove the problem. Steve had managed to test a lot of the current application software that he uses on a regular basis, and had not found that many problems that couldn’t be solved by an (often free) upgrade.
A voice from the floor reminded Steve that there is another piece of freeware software called ArcEm which will allow 26-bit software to work on a ‘virtual machine’, but it only emulates an Archimedes running RISC OS 3.1. Steve said that there was also a newer board called a Pandaboard which ran faster than the Beagleboard and supported more conventional screen modes and refresh rates, but was not yet as stable when running RISC OS: there’s an experimental build of RISC OS for it on RISC OS Open’s website.
A slice of Pi
After a short pause so that the hardware on the front table could be swapped around, Terry Marsh powered up his new acquisition. While RISC OS on Raspberry Pi is still very experimental, it comes ready to run a copy of Debian Linux and we spent half an hour exploring its capabilities.
Getting a good picture from the board proved problematic with our projector and monitor, and eventually Peter Richmond ended up abandoning the HDMI output and resorting to the composite video output. With the graphics resolved, we had a quick tour of the ‘desktop’ – with those in the audience who were familiar with Linux making suggestions.
Terry closed his talk by showing us a couple of PDF issues of The MagPi – the magazine dedicated to the new systems. It appeared to contain a range of articles from beginners’ guides to setting a new system up through to some fairly advanced hardware projects.