Mobile Linux development with Familiar and a minimal Debian
Have you ever wanted to try out the Linux on mobile devices? Are you intimidated by the huge amount of works and unknowns? This article describes my adventure, and attempts to record my steps to set this up with minimal efforts and headaches.
Part I. Let's get a minimal Debian running first
If you are familiar with Linux OS part, please skip right ahead to the Part II.
Since the instructions and packages etc on a Familiar development environment are mostly on Debian, we will use this extremely customizable Linux distro, with the latest version Etch.
To be a bit more specific, here is an old machine I dig up for this exercise:
Sony Vaio FCG-F650
- 192Mb mMemory;
- 40GB hard disk;
- ATI Rage Mobility P/M AGP 2X (A21/2) with 1024x768 LCD Display;
- Yamaha YMF-744B [DS-1S Audio Controller]
- 3com 10/100 network card, model 3CCFE575BT Cyclone CardBus;
- Symbol Wireless 102.11b Wifi CF card. I dig up this wifi card hoping to be able to get me some freedom to move around the house but I certainly envision some issues with the driver.
The main purpose, however, is to provide wifi network connection eventually for HP iPAQ, which contains a CF slot. The firmwares obtained here could be copied later to iPAQ without modification.
- Download the network installation CD, which is about 128MB for x86 Intel machines. Burn it to a CD.
- Going through the normal installation process. Don't set the network mirror at this point. Also de-select Standard and Desktop installation options so no additional package will be installed. Reboot the machine after the base installation is finished.
Very nice and fast first phase set up to get to a fully functional OS with network connection. As expected, Symbol wifi card won't work out of the box but 3com network card works flawlessly. - Login and edit /etc/apt/sources.list to look likes the following first. We will later add more sources for embedded Linux development so cross-compile tools could be downloaded effortlessly as well.
#deb cdrom:[Debian GNU/Linux testing _Etch_ - Official Snapshot i386 Binary-1 (20061111)]/ etch main
#deb http://security.debian.org/ etch/updates main
#deb-src http://security.debian.org/ etch/updates main
deb http://ftp.debian.org/ etch main contrib non-free
deb-src http://ftp.debian.org/ etch main contrib non-free
Update by running apt-get update - Set up the wireless network
- This instruction is left here specifically for Symbol wifi CF card only. If your network card is working by now, skip this step.
- apt-get install wireless-tools
Run iwconfig to confirm that the network card is indeed recognized. - Download the latest orinoco wireless driver, including firmware utilities. Run the script that corresponding to your wireless card. For me, it is get_symbol_fw. Now copy Symbol firmwares symbol_sp24t_prim_fw and symbol_sp24t_sec_fw to /usr/lib/hotplug/firmware/
- Insert Symbol Wifi CF card, now the card should be recognized and drivers loaded.
- iwconfig eth1 essid "fios" key "xxxxxxxxxxx"
Replace eth1, essid and key with your network interface, access point and key. This is to connect to the wireless router.
Run dhclient eth1 to get an ip address using DHCP. If you don't want to do this every time, edit /etc/network/interface file to include the followings:
wireless-essid myfios
wireless-key xxxxxxxx
- Set up X server
- apt-get install xserver-xorg-core xorg
- apt-get install icewm
Optionally, you can download a very nice looking icewm Vista theme or this one. so your old machine will look like a million buck. You could download any desktop environments or windows managers you prefer. Be warned, Gnome and KDE are the two most bloated and resource intensive applications. They will visibly slow down the machines. - Set up sound
- apt-get install alsa-base alsa-utils
Run alsaconf. Sound should be working afterwards. - Get some handy tools
- apt-get install samba smbclient
This step is also optional. I always prefer using Samba for file transfer between Linux and Windows. - apt-get install zip unzip bzip2
This step is also optional. These are handy when you get some other compressed packages. - apt-get install hibernate
This step is also optional. It provides a nice Hibernate function to quickly shut down the laptop and keep your workspace intact. - apt-get install vim-gtk
This step is also optional. Gvim is my favorite editor. - Now get the Firefox web browser if you always like the latest Firefox. Otherwise run: apt-get install firefox
One of the best feature of Debian Linux is to be able to get any package you want any time you want fairly easily. So don't be too concern if you think you need some other packages.
Now it is ready for some serious mobile Linux development! Stay tune for the next article.
