Well, have you ever asked "Why go to Burger King when I've been going to McDonalds all my life?" The answer - it could be nicer, taste better and maybe it's cheaper. If this is the correct answer for fast food depends on your personal taste. The same goes for Linux on the SIMpad. Some prefer Linux over M$ operating systems, so we decided to let the users decide what they want.
At the moment Linux is in a stable state on the SIMpad and it is possible to use the SIMpad as a nice little "Warwalking" device or as a "Couch potato surfing device". And according to our usage survey many want to use it as a note-taking device of some sort. This is also possible at the moment. So stay tuned for more in the near future. You will find all the information you need as a user or a developer here!
When exactly the porting of linux to the SIMpad started is hard to say, since the ports that are available build off of similar projects. There are a few similar devices on the market where linux already runs (e.g. iPAQ, Zaurus, Assabet etc.). So needless to say the first port was basically a "familiar linux", which was ported for the iPAQ, with a modified kernel.
The work on the SIMpad port was started by a couple of employees from Siemens in Switzerland, namely Juergen Messerer and Walter Schweizer. If you search the www.arm.linux.org.uk archives for "simpad" you will notice that Juergen did the hardcore kernel hacking that is still the building block for future development. After getting a kernel that boots on the SIMpad, most of the "familiar linux" binaries were taken as is (with the exception of xcalibrate) and put together to get a working linux environment. As you probably noticed the first port was based on "TinyX", a minimized XFree86 for low memory devices.
Since some users of "Familiar linux" also like a QT-based desktop, an alternative to TinyX was also developed - Opie. Opie is a fork off of the original QT-Embedded-based QPE (Qtopia Palmtop Environment) from Trolltech. Users of the KDE linux desktop environment will be familiar with QT. If you are interested in the details why and how the fork-off took place go to the Opie homepage and their partner sites. The original port of Opie to the SIMpad was done by Chris Martin and later optimised by integrating the SIMpad as a target for OpenEmbedded, the successor of OpenZaurus. Chris worked together with Michael Lauer of the OpenEmbedded core team to get this accomplished.
Both ports were originally based on a CRAMFS root filesystem which has it's advantages (good compression) and disadvantages (read-only). Needless to say, because of the "read-only" characteristic of CRAMFS it was necessary to start work on a JFFS2 root file system like most mobile devices running linux. The first JFFS2 images were released in the beginning of June 2003, approx. 3 months after starting this task!
Then the release of the Opensimpad Distribution discontinued and the SIMpad had only a little life by those who where familiar with OpenEmbedded. Then Fred and some others uploaded some images. Fred then put SIMpad into the Familiar distribution and he is now the SIMpad Kernel maintainer.
OpenEmbedded is a distribution building system for embedded devices - all the development work is done there.
There will be a description about which configuration fits well for the SIMpad.
The Angstroem Distribution is now the main SIMpad distribution. The Familiar Distribution is discontinued (as far as I know).
It provides 2007.12 images for our favorite device.
Those images are based on Kernel 2.6. We would be happy if you will use them.
Please report bugs to the bugtracker! If you don't report bugs the distribution can't be improved.
The Familar Distribution is discontinued (as far as I know). But will be mentioned here because it provides opie images while Angstrome does not.
There are 2 different user environments both with complete PIM. But see them for yourself, there are many screenshots and much more.
After choosing the favorite environment, you can download a SimPAD image from the Familiar website.
Since the final v0.8.4, the Images are a bit under 14 MB, so they can be used for all SIMpad classes.
Big thx for the Familiar Team for this release!
It is always worth it to visit Freds Page for SIMpad related Familiar updates and stuff.
The former opensimpad distribution is discontinued and only availabe for historical reasons.
Well, at the moment this is only a concept. It's complete when it will be complete. It could be also another Vapoware so don't bag me if there will never be a release.
But SlackPAD Linux has now a sourceforge.net account. There you will find a thubscript userspace keyboard driver and the latest 2.6 SIMpad Kernel development status.
This description has been shamelessly stolen from handhelds.org and I think Fred has written it. Now it is expanded a lot and supports 16MB Class Pads (thx to Berend who pointed out the necessary steps on this forum- I have changed them a bit (params partition and mtdparts parameter).
These installation instructions are for the SIMpad SL4 and SLC (32MB flash) and for T-Sinus, CL4 and WP50(16MB flash).
To install Angstrom/Familiar on a SIMpad, you will need:
The SIMpad has 7 keys on the front ("Key-a" to "Key-g") plus a reset button on the back ("Key-r"). The location of these keys is shown on the following drawing:
Angstrom/Familiar on SIMpad needs the handhelds.org (hh.org) bootloader. The following will help you check if it's installed, or help you install it if the Siemens bootloader is installed.
If you don't know what bootloader is installed on your SIMpad, you must first check the bootloader version. See SIMpad Bootloader Howto for more information on the SIMpad bootloaders.
Connect the SIMpad to a PC and run a terminal emulator on the PC. As connection settings you should use 115200 baud 8 databits no parity 1 stopbit (115200 8N1), no hardware and no software flow control.
Press key 'r' on the SIMpad, and immediately press any key (except Enter) in your terminal emulator. If you get a prompt saying "boot>" in the terminal emulator, then you have the hh.org bootloader already installed and can go to the next section Installing Angstrom/Familiar
Note: On 16MB class devices you will also have to check for the right params.
Connect the SIMpad to a PC and run a terminal emulator on the PC. As connection settings you should use 38400 baud 8 databits no parity 1 stopbit (38400 8N1), hardware flow control.
Reset the SIMpad and enter the Bootloader monitor: press "Key-g" while resetting with "Key-r".
If what you get on the terminal begins with the following text (check the "Siemens Switzerland Bootloader" line), then you have a 2.5.3 Siemens bootloader and must install the hh.org bootloader:
PBL V2.4 20.07.2001 Booting... ================================================ Siemens Switzerland Bootloader V2.5.3 10.06.2003 Running @206Mhz Processor ID 0x6901b118 Press ESC for monitor ...
If the bootloader version is less than 2.5.3, then you must first upgrade it to 2.5.3 before installing the hh.org bootloader.
Look at the occupied memory addresses to see which one is running. Normal bootloader starts at 0x8014 and alternative bootloader starts at 0x1f00014.
Occupied Memory: [0x00004000-0x00008000],[0x00008014-0x0007500c]
The one above is a normal Loader. If you don't know the difference see SIMpad Bootloader Howto for more information.
WARNING: Flashing a boot loader is a delicate task. It it fails the SIMpad is dead and can only be brought to life with a JTAG adapter! See SIMpad JTAG HOWTO.
This step is only needed if you don't already have the hh.org bootloader installed.
This Loader is normaly only for SL4 and SLC class SIMpads. I have installed it on T-Sinus, too. But do this at your own risk!
This step is only needed if you have an older version of the Siemens bootloader
Download the following files:
Caution: serload and Hyperterminal must under NO circumstances access the serial interface at the same time!
Caution: On some SimPads you have to press "Key-g" + "Key-r" together, otherwise there is no serial download request send to serload!
Consult: Checking_your_bootloader_version in order to check the current version of your bootloader (should be 2.5.3)
Download the following files:
===================== Monitor: ===================== Boot from Flash 'f' Boot from Net 'n' Power Off 'o' Erase PSM+Registry'p' Exit 'q' Erase Registry 'r' Erase Flash 'y' Soft Reset 's' Print Fab-String 'w' boot>
Serial download request Booting : <NULL> Serial download entered. Base : 0xc0208000 Size 2800404 entry:0xc0208000 [*********************-] 2800128 Load finished Burn Image with entry at c0208000 Write File to Flash This image is different in 673213 longwords Reading Flash ID at 0x08000000... Write changed blocks to Flash with ID: 0x0018 [0x05080000-0x0532bb28] +---------+---------+- ********************** Successfully written ! Done with 125kB/sec PLEASE RESTART TARGET ...................... Update successfully finished! Swich the SIMpad on.
These Steps are only requiered on 16MB Flash Class SIMpads. Ignore the following if you have a 32MB Class Pad (SL4,SLC).
boot> partition delete root boot> partition delete home boot> partition define params 0x40000 0x40000 16 boot> partition define root 0x80000 0xF80000 16 boot> set linuxargs "mtdparts=sa1100:0x00040000@0x00000000(bootldr)ro,0x00f80000@0x00080000(root) noinitrd root=/dev/mtdblock1 init=/linuxrc console=ttySA0 rootfstype=jffs2 jffs2_orphaned_inodes=delete mem=32M" boot> params save
This will add a 256KB big params partition in which the linuxargs can be saved. 256KB is a lot of space, but I think it's better to have a bit too much space then too low. Also a ~15MB root partition will be created and the params will be saved in the new params partition.
You can check your partition table with this one:
(Note: the 16 is now 10 hex the adresses are all in hex and in Byte)
boot> partition show npartitions=00000003 bootldr base: 00000000 size: 00040000 end: 00040000 flags: 00000002 params base: 00040000 size: 00040000 end: 00080000 flags: 00000010 root base: 00080000 size: 00F80000 end: 01000000 flags: 00000010
If you decide you want to go back to CE after installing the hh.org bootloader, then you will have to reinstall the original Siemens bootloader. This is a small HOWTO of you to accomplish this.
Download the following file:
Unpack it:
tar -xvzf Plb-simpad-1.0.tar.gz
The tarball contains 3 files:
Simpad-Jtag-Howto.txt simpadCL.rom simpadSL.rom
Warning: Install by no means a siemens bootloader that was used to update the original bootloader (e.g. version 2.5.3 or 2.5.1)!! These bootloaders were only update bootloaders, not full bootloaders. The file above contains the original (and yes, quite old) bootloader. If you install an update bootloader from within the hh.org bootldr you will brick your pad and you will have to use JTAG (see SIMpad JTAG HOWTO) to bring your pad back to life.
First attach your pad to a serial terminal program (Hyperterm, minicom etc.) with the settings 115200 8N1. Press the reset button on the back of the pad and press any key while the bootldr is initiating. The bootldr should stop at a boot> prompt. Now run the following commands at the "boot>" prompt:
If you install over serial you will upload the simpadXX.rom via ymodem after step three. If you install from CF you will have to copy the simpadXX.rom to the CF card and insert it into the pad first. The CF card must be FAT formatted.
The output in your seriallistener (minicom/hyperterm) could look like this:
boot> set override = 1 setting param <override> to value <1> boot> pflash 0 0x40000 0 addr=00000000 len=00040000 protect=00000000 Protect=00000000 boot> load flash 0 loading flash region flash using ymodem ready for YMODEM transfer... CC362F95577901AFF5C29BA77867A9D33B 00022EC0 bytes loaded to C0000400 programming flash...erasing ... Erasing sector 00000000 Erasing sector 00020000 writing flash.. addr: 00000000 data: E1A00000 addr: 00010000 data: E1A0C00D addr: 00020000 data: 4144540A verifying ... done. boot>
Be careful not to run serload and minicom/hyperterm at the same time.
Angstrom/Familiar can be installed using the serial connection (slow) or using a PCMCIA CF card reader.
With Linux nearly everything is possible just surf the mods section.
This is now the stable Kernel for the SIMpad. It supports all the SIMpads hardware exept.
Even the mmc/bluetooth mod is working out of the obx with it :).
Here you will find more information about it.
This was the Stable Kernel for the SIMpad, ther are some parts of the hardware which are not well supported. Please use 2.6 ;)