↑↑↑ Home | ↑↑ Hardware | ↑ Iliad |
Versions -- Specifications -- Display -- Internal partitions -- Boot sequence -- IDS -- Package manager
There are two major version of the Iliad, the "consumer" features of which differ little. Besides, there is the Book Edition, which is a version 2 Iliad without WLAN.
The most important improvement of the second version from a hacker's point of view is that it can boot an alternative Linux kernel and initrd which allow replacing the primary kernel and booting from a CF card.
Telling the versions apart is relatively easy for an unmodified system. The software version of the version 2 Iliads is at least 2.11. It can be viewed in the Iliad settings, is contained in the registry /mnt/settings/registry/registry.xml (XML path /iLiadRegistry/version/registry, near the top) and in the version of the Linux kernel (look at /proc/version or run uname -a). (The Book Edition is obviously distinguished by its silver colour.)
If the software or kernel has been upgraded, the version of the device is slightly harder to find out. /proc/sysset/hwrev seems to contain the hardware revision of the device or possibly the Delta ASIC; for my Book Edition Iliad, this is 7. A binary flash configuration region is available under /proc/sysset/raw. You can display it with the following command:
hexdump -C /proc/sysset/raw
The first byte indicates the version of the sysset region itself (0x05 for my Book Edition); it contains a device name in ASCII at offset 16 ("ER0150" for the Book Edition); and there is an ASCII date farther down ("2008051616:43" for my device). Alternatively you could look at the modification dates of preinstalled executables or configuration files: The version 2 is supposed to have started shipping in September 2007, and the Book Edition files have modification dates in March 2008.
Most of this can be found on the iRex website and/or Wikipedia.
The electronics market research firm iSuppli has published a list of the electronic components of the Iliad.
The Iliad's main claim to technological superiority is its display, which is larger than that of competing devices and can represent 16 grey levels instead of the usual 4. iRex have developed a custom chip, the Delta ASIC, to make that possible. Suspicious as I am, I wanted to see whether the effort was really worth it. I created a test image with greyscale areas and ramps and displayed it on the Iliad. You can see the result here:
The ramps are displayed as 16 clearly distinguished grey levels, and the areas have visibly different brightness. (Click on the image to see a larger version; it is better visible in reality than in the photo.) So the effort of creating a custom ASIC was worth the trouble.
The Iliad's system is installed on the internal flash RAM, which has a size of 229 MB. Its associated Linux device is /dev/tffsa. It is partitioned as follows:
[ root [ protected free settings ] ]
The first partition is a primary partition, while the other three are logical partitions sharing an extended one. Here is an overview of what they are for:
Device | Mount point | Size [kB] | Content |
---|---|---|---|
/dev/tffsa1 | / | 74542 | Linux system installation + applications |
/dev/tffsa5 | /mnt/protected | 27742 | System upgrade |
/dev/tffsa6 | /mnt/free | 131326 | Data partition (50 free classics on Book Edition) |
/dev/tffsa7 | /mnt/settings | 598 | User preferences, links to last documents, etc. |
The data partition has a FAT16 file system so it can be exported to Windoze boxes, the others have Ext2 file systems.
The protected partition can be used for upgrading the system, and was the only way to do that on version 1 of the Iliad (see here).
The following was pieced together from the iRex reflash howto, which can be downloaded here, and the boot console dump from this forum thread.
Normal boot
Custom boot / system upgrade
This alternative way of booting is activated by pressing the Connect button on the top right of the device before switching it on and holding it for 3 to 5 seconds after flipping the switch. The alternative boot process allows upgrading the firmware or booting an alternative system. This feature was not available on version 1 of the Iliad.
IDS packages are content or system upgrade packages provided by iRex for the Iliad. They are automatically downloaded from the iRex server when the Iliad connects to the internet (and when content has been purchased or upgrades are available). The activation of shell access for developers is also performed by an iDS package.
IDS packages are retrieved from the server by the download manager /usr/bin/downloadMgr. In the case of upgrade packages, the data is saved to /tmp and installation scripts to /etc/post_download/todo. Content packages would probably install the data into the data partition, so that it can be viewed.
For upgrade packages, the download manager uses /usr/bin/post_download.sh to execute the install scripts and move them to /etc/post_download/done along with their output. For the shell access package and possibly other upgrades, the last of them initiates a reboot.
ipkg is a package manager optimised for small and embedded systems. Its usage instructions can be viewed by running it without arguments; they are also on the web here.
ipkg packages are used for the system installation on the Iliad (including upgrades), and some community software packages also use them. In the latter case, the software package typically consists of the package and a shell script which uses the ipkg command to install it.
If you want to unpack ipkg packages on your computer, you can use this shell script. Do not use the ipkg-unbuild Python script provided on the ipkg site, which contains so many bugs even someone as ignorant of Python as me can see them. Iliad packages are ar archives containing two gzipped tar archives, data.tar.gz and control.tar.gz. The first contains the files to be installed (with paths relative to the root directory), the second metainformation and possibly install scripts.