Meeting: Using CloneDisc and SystemDisc

February 2014

Malcolm Hussain-Gambles demonstrated how Piccolo Systems’ CloneDisc and SystemDisc can be used to set up, configure and manage the SD cards used in modern RISC OS systems.

Report by Peter Richmond

The February meeting saw Malcolm Hussain-Gambles demonstrating CloneDisc and SystemDisc from Ben Avison’s Piccolo Systems.

With the advent of SD card ‘Hard Drives’ running RISC OS 5 on the ARMini, ARMiniX, Beagleboard and Raspberry Pi, there has developed a need to create and copy disc images. These two pieces of commercial software from Piccolo Systems do just that, and also allow other options.

Creating clones

Malcolm started by looking at CloneDisc. This can make an absolutely identical copy of your ‘good’ working system that is on your current SD card, and will include any options you have added to the system. In order to copy the system’s SD card to another card, Malcolm was using what looked like a standard USB ‘thumb’ drive but had, in fact, got a slot on the side to take an SD card. This was plugged into his USB Hub.

Confusingly, when looking at drives and cards connected via USB, RISC OS sees them as SCSI devices, because USB interfaces use SCSI commands to control the drives. The drives that Malcolm’s system came up with for source and destination were SDFS :0 and SCSI :2. Ideally the source and destination cards should be the same size, but it will probably work if the destination card is larger than the source – it will just leave space unused (and inaccessible).

There are a number of customisable options, such as block size, but Malcolm had found that the one which seemed to help speed up the copying was the size of the Next slot in the Task Manager. This decides how much information is copied in one go, and for 512MB machines should be set at 360MB. On boards with 1GB memory, you could set this variable to 500MB.

Rotating backups

While Malcolm was looking at the finer detail of setting up CloneDisc he mentioned that he used a rotating backup for his SD cards – and of course simple labelling on each SD card helped a lot! It would be useful to have a physical reference card for each labelled card, so its ‘history’ and current state could be seen at a glance. Malcolm mentioned that failure to do this had meant that he had destroyed a perfectly good system disc, and had wasted considerable time!

One of the things that CloneDisc can do is to ‘zero’ an SD card to be ready to accept a new image, which is what Malcolm did; this also gets rid of any unwanted partitions. Certain options that appear are not needed, such as defect list, soak test and format. While working through the options, Malcolm remarked that some areas are ‘grayed out’, and not currently activated.

A few minutes after setting the copying in motion a ‘cloned’ disc was available, which was swapped with the original system disc and was found to have all the same files and OS extensions that the original card had contained. Job done!

System discs

Malcolm then looked at SystemDisc from Piccolo Systems, which can be used to create the special disc images combining FAT32 and Filecore to fit any size of SD card: Steve Bass explained what these are and how to create them by hand in last July’s newsletter (The WROCC 31.4, p1). This tool is most likely to be of use to those creating their own disc images from scratch using downloads from ROOL’s site: if you buy a system such as a PandaRO from CJE or an ARMini from R-Comp, it will come with a ready set-up card. ROOL also do complete system cards to buy for the Raspberry Pi, as long as a 2GB card is sufficiently large.

Again, you need to choose the drive that contains your SD card. SystemDisc will then launch HForm if the disc isn’t already in Filecore format – the options needed are Initialize, No Soak Test, Needs To Be Bootable, and Do Want Long Filenames. Once formatted for Filecore, you need to make a FAT32 boot partition of up to 100MB to create the ‘system disc’.

Next, the boot partition needs to be populated with the bootloader files. The first file needed is the RISC OS ROM image, and the one appropriate for the target system needs to be selected and downloaded from the Software section of the ROOL website. Other files will also need to be copied into the partition: these will vary depending on the system that the card will be used in. It’s important to make sure that these files have their names in capitals before copying them on to the card.

If we now open the root directory of the new HardDisc0 that SystemDisc has created, we can see that on the RISC OS side we’ve got !Boot, and if we open that with a Shift-double-click, we’ve got a Loader directory in the form of a DOS partition.

At this point, Malcolm caught up with Steve Bass and his article on the wonders of Filecore and MBRs, as mentioned above. I think that Malcolm joined WROCC just after Steve had written that article, so he got a bit of a ‘live’ insight into the inner workings of RISC OS and what SystemDisc is doing behind the scenes – not for the non-technical amongst us!

Currently the RISC OS !Boot as set up by SystemDisc is very sparse, so the final step is to go to the Software section on the ROOL site and download a HardDisc4 image from the Essentials section. The version downloaded must match the ROM image downloaded earlier: for an unstable 5.21 ROM, the beta disc image must be used. Choose the Zip file option, and extract the contents into a folder on the main hard disc before copying it to the new card with the help of SystemDisc. This boot installs the disc-based components of RISC OS, including the usual set of applications and utilities.

One of the newer features in recent builds of RISC OS 5 is the status information for networking, which gives gateway/IP address and net mask in an easy to read format. Other features include the use of alpha masks when dragging files, rather than hatching – this in turn is based on Jeffrey Lee’s work on the graphics and sprite systems. As Malcolm pointed out, a lot of the new ‘features’ are under the hood, and help with the smooth running of the OS.

Getting hardware specific

As part of his demonstration, Malcolm looked at setting up cards for the Raspberry Pi and Pandaboard. On the Pi, the CONFIG/TXT file tells the bootloader how to set the system up and find the ‘kernel’: the image of the operating system that it is being asked to load (the RISC OS ROM in our case).

A simple file suitable for use with RISC OS can be found in ROOL’s Pi card image – this contains the setting kernel=RISCOS.IMG which is saying “When you boot, load the kernel from RISCOS/IMG”. There are other options available that you can change – particularly with regard to the memory you’re going to give to the video adaptor. There are also options such as forcing the audio out of the 3.5mm stereo audio jack (rather than down the HDMI cable), various over-clocking options, and loads of tweaks for setting up the video options: such as modes for using the composite video output, whether it is to be PAL (the European standard) or NTSC. You can force various HDMI resolution modes, including HDMI safe mode. If you are using a Pi to play DVDs, there are Decode Licences for such options.

Finally, Malcolm looked at making a Pandaboard image. This is essentially the same as making a Pi image, but is a little more fiddly due to the fact that there are a number of revisions to the Pandaboard. Prior to the meeting, Malcolm had tried various versions until he found the one that worked with his particular Pandaboard – he is trying to make this more of a certainty than a guessing game!

Using SystemDisc, he created a 30GB Filecore disc on a 32GB SD card using HForm. A few of the options were ignored, as they are not applicable: options chosen included initialising, making the drive bootable, and using long file-names. The ROOL website was again visited, and the disc image and ROM image for the Pandaboard (OMAP4) were downloaded from the Essentials part of the Software area. These were then copied onto the card using SystemDisc. On the Pandaboard there are four files that are needed: the RISC OS ROM, U-BOOT/BIN, MLO and BOOT/SCR. BOOT/SCR is a file which defines what will be run; MLO and U-BOOT/BIN are the boot loaders – if you have a working Pandaboard you can copy them from your existing SD card.

Faster news

Malcolm closed the evening with a quick look at an update he has made to NewsUK, which loads up a lot faster – partially due to the latest version of ChangeFSI. This version is now available on !Store.

More information

SystemDisc and CloneDisc can be purchased from Piccolo Systems:

The RISC OS disc and ROM images can be downloaded from RISC OS Open: – note that the downloads pages are up for a complete overhaul, and so might have changed by the time you read this!

Malcolm’s tutorials on SystemDisc and CloneDisc can be found on his website: