Linux for handhelds: fact or fiction?
Developing For Linux7k
Although cross-compilation is perhaps the user-friendliest way of porting and developing applications for Linux7k (if only for the full-sized
keyboard!) it is still possible to run the development tools on the Psion itself. Examples of this would be gcc, g++ and yacc. Rather than
just tools that create binaries, there also exists suitably portable scripting tools such as Perl, Bash and Csh. As may be expected, the
'7k kernel is cross-compiled from an Intel installation of Linux on a desktop. Early on, a toolkit was developed to allow compilation
of the source into an ARM7110 kernel binary. Developing on a PC means that the kernel can be compiled much quicker. This speed difference
is important when considering that the native platform is a handheld.
Once the kernel is compiled on a PC the kernel has to first be transported onto the Psion. This is normally achieved using the serial cable
provided with every Series 5. To get a simplistic Linux system up and running, the user also needs an initrd (initial ram disk). This
contains a base file system, and any programs and tools the user wants to use. More importantly, it contains the scripts that will take the
system from having simply loaded the kernel, to being something usable. There exists a small program called ARLo (ARM Loader) for Psion's
ROM operating system EPOC32. This program does a similar job to loadlin for DOS. It takes the kernel binary, and an optional initrd and loads
the kernel into execution space. After this has taken place, EPOC32 is then erased from working memory, freeing it for Linux7k. The kernel
passes control to the start-up scripts, and the operating system starts!
Applications Available For Linux7k
The scope of applications on Linux7k is dictated by the hardware supported. The '7k kernel is based on the full Intel kernel, with a
source code patch for ARM, and then a further patch for 7110. Hence all hardware supported in the Intel kernel is also available in the
'7k kernel. The outcome of this is inherent support for file systems, serial ports and IrDA. A serial port is an important peripheral in
terms of connectivity for Linux7k. This support was achieved relatively early on in the project, allowing PPPD and SLIP (serial line TCP/IP
protocols) to be used, as well as terminal programs. A TCP/IP connection on the Psion opens up further the scope for applications on Linux7k.
Although there are a reasonable number of Internet applications available for EPOC32, the diversity of applications for Linux far outweighs
them. Thinking quickly, it is possible to mention such applications as CVS (concurrent versioning system), sendmail, SSH as previously mentioned,
rsh and perhaps even RPC.
Although the serial port is perhaps the most used form of communication for the S5, the convenience of the infrared port far surpasses it.
Although not fully tested, theoretically it is possible to use the port much the same as a serial port. Perhaps the most clever and impressive
use of the infrared port is connecting it to an infrared mobile phone with a built in modem. This would allow a Linux Psion to connect to the
internet with nearly no fuss.
The Potential and Limitations Of Handheld Devices
The Series 5 is a relatively new endeavour for Psion, having previously produced the Series 3 machines that have made the company what it is today.
The Series 3 was a revolution of personal handheld computing, offering a great range of programs and expandability, along with a remarkable powerful
yet efficient operating system. The handheld market has grown up since the days of the Series 3, and there are now a massive number of alternate
machines, and of course, alternate manufacturers. With this expanse of choice, user's expectations have grown, leading to an ever more competitive market.
These days' manufacturers are not simply trying to give us organisers in the palm of our hands; they are trying to give us everything a
desktop machine is. Handheld power is skyrocketing, ever hindered by the need for low power consumption. Power will prevail however, and
I have no doubt that the limit of power on handhelds devices is likely to increase further. These speed increases will obviously be welcomed.
As speed increases, the abilities of handhelds will widen greatly, particularly in commercial markets.
There are other aspects of handhelds that need to be considered. Now matter how much speed increases, there are still physical limitations
on the size of handhelds. After all, a handheld with a true-colour 10" screen is no longer a handheld. Screen size is always a
legacy that will have to be dealt with by handheld operating systems. The buzzword in OS design for handhelds is 'efficiency'.
The OS needs to fit into a relatively small amount of working memory, an equally small boot ROM, and make efficient use of battery power.
This efficiency also extends to screen usage. The three main OS manufacturers, Microsoft (Windows CE), Symbian (EPOC) and 3com (PalmOS)
have each addressed this problem in a different way, and each has redeeming features.
We have already seen miniature cameras on a handheld, so what is in store for the future? The next great overhaul in handheld technology
is likely to be USB support. Although USB is supposedly relatively high on power consumption, the benefits in speed over conventional
serial or parallel connectivity are very clear. Perhaps we may see in the future USB-enabled handhelds being used with USB scanners,
cameras and suchlike. Indeed for a handheld with USB, there is no limit of possible peripherals available.
Having seen what is currently available in Linux7k and a look at what may be available in future handhelds, where do the two meet? The
extra speed available in handhelds will obviously be welcomed, regardless of the operating system that they are running. Perhaps the most
impact this will have is Linux applications that could not currently be run due to lack of speed. The '7k team have recently overcome a
problem with the ARLo boot allowing it to be used on the Series 5mx. Changes need to be made to the kernel however, to bring it up to the same
state as the Series 5 classic implementation. With the extended power available on this platform, the future looks bright for more interest in the project.
Next: What Does The Future Hold?