LICKS - Linux Installer for CHDK and SDM
LICKS is a Java application designed to install SDM or CHDK on a Linux machine. It will format a card, make it bootable and copy DISKBOOT.BIN (and supporting files) if you ask it to. It's based on SDMInst, my OSX installer for SDM and CHDK. As yet it's still not been fully tested.
LICKS now offers the option of making a FAT32 card bootable. This option is only suitable for DryOS R47 cameras introduced since January 2011 such as the A3300, SX150, SX220, SX230, IXUS220 and IXUS310. For an up-to-date list of such cameras see the bottom of the list on this page
For older cameras, cards less than 4GB in size can only be formatted as a single partition, while cards 4GB or larger can only be formatted with two partitions (a small FAT16 one and the remainder as FAT32). 4Gb cards can be formatted either way. However, by altering the max1size or min2size entries in the licks.properties file (see below) you can change this behaviour.
Note that Licks should be able to turn a card that has two partitions back into one or vice versa. It requires version 1.4 or later of the Java Runtime.
The image below shows the LICKS main window. Click on any field to get help about it.
To download LICKS, click here. Unzip to produce a folder containing the licks.jar file and a shell script to run it.
Notes for Testers
In order to do its job, Licks needs to have admin permission to issue commands such as fdisk. Currently that means you need to run it from a terminal window, setting the current directory to the folder containing the jar file and typing:
sudo java -jar licks.jar or ./licks.shWhen you run it it will ask you to type in your admin (logon) password.
Licks checks the attached mounted devices (hard drives, usb drives and card readers). It should skip drives that are:
- too big (i.e. larger than the "Max card size" value displayed at top right)
- drives whose size is not a multiple of 2GB (possible hard disks)
So far it's successfully dealt with all the devices I have, but I'd like to test a wider variety.
It should correctly report if a card is read-only and if it has two partitions. Again I'm interested in more extensive testing (I have no cards bigger than 4GB for example).
It's possible that LICKS will not work if Linux is not using English as its display/UI language. I had assumed that 'system commands' such as 'fdisk' (which LICKS issues under the covers) produced the same output regardless of UI langauge. However I discovered (by switching my system to French) that this is not true. I have modified LICKS so it does deal with French, but there may be problems with other languages. I'd be very interested to see the debug logs in such cases.
Limited Testing
- the current version has been tested on my Ubuntu Natty Narwhal (11.04) system and, more recently, Oneiric Ocelot (11.10) running under VMWare Fusion on my iMac. I'm aware that it does not work on some Linux flavours (e.g. Debian) that require a slightly different syntax for the 'fdisk' commands that LICKS issues under the covers. I'd like testers to confirm if it works on other Linux flavours.
- the current version has successfully partitioned and made bootable a range of cards, from 32MB up to 4GB, so be aware this is a test version and I can't be sure it won't corrupt a card of yours. Equally, though it correctly skipped all my hard disks, be careful - it will be confused if you have an attached hard drive whose size matches a valid SD card size (i.e. a power of 2GB).
- although I have confirmed that it will format cards as FAT32 and writes the BOOTDISK string in the correct location, I have no post-January 2011 camera, so I cannot confirm that such cards actually are bootable. I'd appreciate it if someone would confirm this.
Version History:
- version 1.05 - offer the option of making a FAT32 card bootable. This option is only suitable for DryOS R47 cameras introduced since January 2011 such as the A3300, SX150, SX220, SX230, IXUS220 and IXUS310. For an up-to-date list of such cameras see the bottom of the list on this page
- version 1.04 - attempt to handle non-English versions of Linux, change default for 4GB cards to one or two partitions, add font selection properties and change layout parameters
- version 1.03 - add "please wait" message
- version 1.02 - fix drag-and-drop
- version 1.01 - adjust default window size, improve directory chooser
- version 1.00 - initial release
Extra Features:
LICKS has some extra features that can be enabled by changing its properties file, "licks.properties", (which you will find in the same folder as the app once you've run it). These features are:
- the ability to specify the maximum size card the app will handle via the 'maxsize'
property. By default the properties file contains the line:
maxsize=16000
which sets the limit at 16000MB or 16GB. Changing it to 32000 would make the limit 32GB.
- the ability to specify the maximum size card on which to allow one partition via the 'max1size'
property. By default the properties file contains the line:
max1size=4000
which sets the limit at 4000MB or 4GB. Changing it to 2000 would make the upper limit 2GB, so that 4GB cards could only be formatted as two partitions.
- the ability to specify the minimum size card on which to allow two partitions via the 'min2size'
property. By default the properties file contains the line:
min2size=4000
which sets the limit at 4000MB or 4GB. Changing it to 8000 would make the lower limit 8GB. Note that if 'max2size' and 'min2size' are the same, that size card can be formatted with either one or two partitions.
- the ability to specify the size of the small partition when two partitions are to be created.
By default the properties file contains the line:
smallpsize=16M
which sets the size to 16MB (large enough to hold DISKBOOT.BIN). Changing it to "1G" would make the small partition 1GB in size.
- the font name, size and boldness used for text.
By default the properties file contains the lines:
fontname=SansSerif fontsize=12 fontbold=NO
but fontname can be set to "Serif", "Monospaced", or the name of any of the installed fonts, such as "Century Schoolbook". You can see the names by typing the command "fc-list" or by looking at Edit/Preferences/Fonts & Colours in the Text Editor.
- The properties file also remembers the size of the window ('height=...' and 'width=...').
The commands LICKS issues 'under the covers' are based in part on those given by Aaron Anderson here, to whom many thanks.
Comments, suggestions and bug reports welcome. Dave@zenoshrdlu.com.
For other SDM and CHDK-related stuff of mine, see here and here.