[Angstrom-devel] Angstrom on Collie progress

Shane Hathaway shane.oe at hathawaymix.org
Tue Jul 3 06:56:14 CEST 2007


Progress!

I can now reliably boot my Collie into angstrom-x11-image running from a
loopback filesystem on a CF card.  Here are the changes I made.

1. linux-rp-2.6.21 just became available, but it's using the wrong patch
set.  Fix at http://bugs.openembedded.org/show_bug.cgi?id=2592 .

2. gpesyncd won't currently compile.  Fix at
http://bugs.openembedded.org/show_bug.cgi?id=2491 .

3. The kernel freezes if you try to open /dev/rtc .  A workaround is to
remove /dev/rtc* .  See http://bugs.openembedded.org/show_bug.cgi?id=2547

4. In addition to angstrom-console-image and angstrom-x11-image, I also
built angstrom-gpe-task-pim, angstrom-gpe-task-games, and
gpe-mini-browser.  Then I built package-index and copied the whole
'build/tmp/deploy/glibc/ipk' tree to the FAT32 filesystem on the CF
card.  I also put my ext2-formatted angstrom-x11-image on the CF card.

5. I flashed the Zaurus with angstrom-console-image and booted.  I
renamed /sbin/init to /sbin/real-init .  Then, using the serial console,
I created a shell script called /sbin/init .  (I could have done this by
unpacking, modifying, and repacking the jffs2 filesystem, but the serial
console method is easier for now.)  The contents of my /sbin/init are at
the end of this email.  It's hacky, but it's easy to modify.

6. I rebooted, selecting 'b' to boot into the loopback filesystem on the
CF card.  The splash screen appeared twice (once for the real root and
once for the loopback root), but everything went smoothly!  The fonts
are good, the touchscreen works, and I have a full GPE environment.

7. I removed /etc/ipkg/*-feed.conf and created the following files.

/etc/ipkg/all-feed.conf:
src/gz all file:/media/cf/ipk/all

/etc/ipkg/arm-oabi-feed.conf:
src/gz arm-oabi file:/media/cf/ipk/arm-oabi/

/etc/ipkg/collie-feed.conf:
src/gz collie file:/media/cf/ipk/collie

8. I typed 'ipkg update' and installed more stuff using 'ipkg install'.

My Zaurus is now quite usable under Angstrom!  All of the applications
work and I can install more with relative ease.

There's just one major issue left: since neither the USB nor infrared
systems are working yet, it's hard to build a network between my Zaurus
and a computer.  Are there people working on USB and/or IRDA support,
and can I help?  I'm certainly willing to test.

Shane

=====
Here is the /sbin/init stored on the initial root filesystem.


#!/bin/sh

if [ "$$" != "1" ]; then
    exec /sbin/real-init "$@"
fi

image=/mnt/cf/boot-images/angstrom-x11-image-rootfs.bin

while true; do
    echo -n "Run /sbin/[r]eal-init or [b]oot from card? "
    read choice
    case $choice in
        r) exec /sbin/real-init "$@" ;;
        b) break ;;
    esac
done

/etc/init.d/rcS

if [ ! -e $image ]; then
    echo "Image not found: $image"
    echo "press enter..."
    read dummy
    exec /sbin/real-init "$@"
fi

fsck -a $image
mkdir -p /pivot
mount -o loop $image /pivot
cd /pivot
mkdir -p old-root
mount -t proc proc /pivot/proc
mount -t sysfs sysfs /pivot/sys
mount --bind /dev /pivot/dev
mount -t devpts devpts /pivot/dev/pts
mount --bind /var/volatile /pivot/var/volatile
mount --bind /media/cf /pivot/media/cf
pivot_root . old-root
umount /old-root/proc
umount /old-root/sys
umount /old-root/dev/pts
umount /old-root/var/volatile

modprobe ucb1x00-ts
modprobe leds_locomo
mkdir -p /dev/disabled
mv /dev/rtc* /dev/disabled/

exec /sbin/init "$@"





More information about the Angstrom-distro-devel mailing list