CSc 4110/6110
Embedded Systems
Spring 2003
Instructor:
Dr. Michael Weeks
How To Install LINUX on an iPAQ
Written
by Gulsah Altun
Installing
Linux on an IPAQ is not very difficult because of the good documentation
about how this is done on the web. The main website to visit is:
http://www.handhelds.org
This
website provides very good documentation and step by step on how to install
Linux.
http://www.handhelds.org
directs you to a Linux distribution called Familiar. Familiar distribution
currently supports Compaq IPAQ. The Familiar distribution is a well known
project and is progressing rapidly.
I
chose Familiar Linux to put on the IPAQ because of two main reasons:
-
Our
department at GSU currently has about twenty COMPAQ 3850 IPAQS. They all
have WINCE on them. (The IPAQs come with the WINCE operating system)
-
When
trying to install Linux on your IPAQ if something goes wrong, your IPAQ
can become a brick (unbootable and not functioning) However, this is very
rare. (I have installed Linux on 2 IPAQs and everything went fine.) Good
news is COMPAQ has kindly accepted to fix those IPAQ and restore WINCE
on them.
When
Installing Linux on the IPAQ; what is basically done at the first place
is erasing the WINCE image and installing bootldr.
But
how do we pass this bootldr to the IPAQ?
The
answer is; we will use ActiveSync to pass it. ActiveSync is a program that
enables passing a file from a computer desktop to the IPAQ or vice versa.
To
see the Big Picture of what we will do during the whole installation process,
I am listing the main steps in the following. (We will ignore the details
at this moment. They are already documented very well in the links above.)
Steps:
Start-up:
-
First,
all we have is an IPAQ with WINCE on it, a computer, with WINDOWS on it
and we have ACTIVESync cd and we have a cradle. We will use the cradle
to connect the IPAQ to the desktop computer.
-
Install
the Active Sync program to the desktop,
-
Connect
the IPAQ to the computer using the cradle
-
Get
the latest bootldr files from the www.handhelds.org
You
can get the latest distribution and instructions for it are here:
-
Pass
the bootldr files to the IPAQ using the Active Sync Program
-
Run
the .exe file on the IPAQ
-
Follow
the instructions on that .exe file
-
Bootldr
is installed!!
Mid
Stage:
Installing
the bootldr was the riskiest part of the process. Once that is completed,
we can go ahead and install the Linux kernel!
-
Go
to http://familiar.handhelds.org
-
Click
on the latest distribution you want to install
You
can get the latest distribution and instructions for it are here:
http://familiar.handhelds.org/releases/v0.6.1/install/install.html
-
Download
the Bootstrap
Root Image Familiar
v0.6 bootstrap.jffs2 to the desktop. This is necessary to get the basic
requirements for getting the handheld booting, and on the network.
Now
how do have we pass this Familiar v0.6 bootstrap.jffs2 file to the IPAQ?
We
can not use Active Sync anymore because Active Sync will only work with
a windows IPAQ. It will not recognize the Linux IPAQ.
How
do we pass the files in this case?
The
answer is easy. We will use a terminal emulator. We will use the HyperTerminal
on the Windows desktop. Using the HyperTerminal we will be able to transfer
files from the desktop to the IPAQ.
-
So,
open a HyperTerminal connection with these settings:
-
115200
-
8N1
serial configuration
-
no
flow control
-
no
hardware handshaking.
-
After
that is done you will see a boot prompt
boot>
enter
partition reset (we type these commands through the HyperTerminal
using the desktop pc's keyboard)
-
at the "boot>" prompt
Enter:
load root
-
Transfer the v0.6 bootstrap.jffs2 file from your desktop to the IPAQ through
HyperTerminal z modem ; the Transferring the file will take about 30 minutes.
It is a big file.
-
Then
at the boot> prompt
Enter:
boot
Last
Steps:
-
At
the login: prompt
Username:root
Passwd:
rootme
-
Then,
you should install some packages from the Internet. If you have a wireless
card it is very easy. You just use a command called ipkg. Ipkg downloads
the packages from the Internet.
First
you might want to install task-complete
package. It will provide an X environment and will install very useful
packages for you. Task-complete is a collection of many useful packages
Ipkg
install task-complete
Ipkg
upgrade, ipkg list, ipkg update are various commands to get list update
and upgrade your packages.
Ipkg
install vim: install vi editor for example.
-
Then,
run root/postinst. it configures the IPAQ for you..
-
Use
ActiveSync or network to copy bootldr and BootBlaster to the iPAQ under
PocketPC
Now
you have an IPAQ with Linux on it. : )
Some
very important points:
-
When
you are following a link, sometimes the links are not updated. The link
might tell you that it will take you to the latest familiar distribution
installation instructions, however it might take you to an earlier one.
-
The
documentation in the below links provide enough and and very good detailed
information about installing Linux on an IPAQ.
-
When
rebooting the IPAQ try to do both hard reboot and soft reboot together.
Sometimes doing only once of them doesn't load the new kernel image.
Reference:
1) www.handhelds.org
2) http://familiar.handhelds.org
3) http://www.cfar.umd.edu/~arvind/linuxonipaq.htm
(very good documentation!)
4) http://www.hp.com/country/us/eng/prodserv/handheld.html
(this is to get the latest spec of a particular IPAQ, COMPAQ'S website)
5) http://ipkgfind.handhelds.org/
(This finds package for you)