Saturday, June 28, 2008

Running Linux on imate pda2k (blueangel)

Hi this post has nothing to nokia, but i have an ole imate pda2k where i dont use allot
i found on the internet how to make it run linux
the main idea is to add linux on memory card and run form it
the main link is handheld website
but i have to search allot to find solution for errors and to how connect to it by ssh from my ubuntu laptop

the red font is the configuration on my laptop that need to be changed by your configuration

- STEP 0 Backup all of your data (including sd card).

- STEP 1 Download the Kernel, etc.

zImage
initrd
haret.exe
GPE BlueAngel Image
startup.txt
autorun


- STEP 2 Format SD-Card

Become root and create 2 partitions on the SD-Card

The first partition is for the kernel, startup scripts and bootloader.
The second is for the GPE image.
One of 30MB (for kernel and bootloader) and another (or rest of SD) for the GPE image.
sudo fdisk /dev/mmcblk0
This exmaple assumes that /dev/sda is your sd card on your host.
If you only found /dev/sda1 insted of sda, that means that the card is already formated and contains a partition, in this case you need to delete this partition and create new ones
fdisk /dev/sda1
Press p to list the partitions and its numbers
Press d to delete a partition
Press w to save and exit
Then start creating the partitons on /dev/sda1
Press n to create new partition
Press p to choose type primary
Press enter to default to create partition starting from first cylinder for the first one, or right after it for the second one
Enter size of the new partiton ex: +30M
The first partition you crete (for kernel and bootloader) must be of type that windows understands, like FAT16 or FAT32, or else the card would not be read by the device at all
Press t to change the partition type from "83 Linux" to "c FAT32"
Press w to save and exit
Format the Partitions
mkfs.vfat /dev/mmcblk0p1
mkfs.ext3 /dev/mmcblk0p2
Now mount those partitions.
mount -t vfat /dev/mmcblk0p1 /mnt/sd0
mount -t ext3 /dev/mmcblk0p2 /mnt/sd1

- STEP 3 Copy kernel, etc onto first partition

Create a new directory in /mnt/sd0 called 'linux'.
Copy zImage, initrd, startup and haret into the 'linux directory'
Create another directory in /mnt/sd0 called '2577'.
Copy autorun.exe into '2577'

- STEP 4 Extract GPE into the EXT3 Partition

Change to /mnt/sd1 'cd /mnt/sd1'
Execute tar xjvpf /gpe-ba.tar.bz2
DO NOT, as many intelligent people have done, just copy the archive onto the partition!

- STEP 5 Change to /root and unmount
cd /
sync
umount
/dev/mmcblk0p1
umount /dev/mmcblk0p2

- STEP 6 Now boot linux by inserting the SD-Card into the BlueAngel. DONE!-

If linux didn't load, and instead you get haret.exe program running and asking to enter a filename to load or you get a tux image and a progress bar and it stuck on that.
Remove the card and reset the device then re-insert the card and try again until it loads

if every thing went ok, now we need to allow ubuntu to access the device through ssh

is you are like me have ubuntu 8.04 and cannot connect to the device, do the follwoing

- create a file called /etc/apm/scripts.d/usbnet
add this to it

#!/bin/sh
# Unloads/loads usb0 so it always works

. /etc/default/usbd

if [ "$1" = suspend ]; then
ifconfig usb0 down
rmmod g_ether
rmmod pxa2xx_udc
elif [ "$1" = resume ] && [ "$2" != standby ]; then
modprobe g_ether
modprobe -r $usbdmodule
modprobe $usbdmodule
fi


now you can

ssh root@192.168.0.206

the password is rootme

to access the ineternet from the device using the usb connection do the follwoing (enable nating)

- apt-get install dnsmasq ipmasq
- iptables -t nat -A POSTROUTING -o usb0 -j MASQUERADE
- echo 1 > /proc/sys/net/ipv4/ip_forward
- /etc/init.d/dnsmasq restart
- dpkg-reconfigure ipmasq
Reconfigure ipmasq to start after networking has been started

and enjoy internet in the pda2k from the usb cable

Next, i'll try to find how to add android on it

No comments: