Lex Landa wrote:

I'll have a look at this today, and see if I can make a boot bundle.

Some good news: I've been able to make a boot bundle from a Narcissus-generated image - I used the 'minimal' image with all kernel modules, dropbear and wireless-tools.

I made the following changes (I've used '---' marks to show the beginning & end of inserted text):

1. Copy zImage from Narcissus rootfs /boot, to temporary dir for making the boot bundle (cp boot/zImage-2.6.21-hh20 ../)

2. Set boot commandline in HaRET startup script (startup.txt.bootimage):

---

# initramfs-bootmenu HaRET script
# (c) 2007 Paul Sokolovsky
msgbox "Attention!" "This will boot Linux. All memory will be overwritten and hard reset will be required to return to Windows Mobile. You *MUST BACKUP* your data first. Continue booting (Cancel - quit to make backup)?" 0x40031
if result == 2 exit
set cmdline "root=/dev/ram0 rootdelay=3 ip=192.168.2.202:192.168.2.200:192.168.2.200:255.255.255.0:ipaq:usb0 console=tty0 console=ttyS0,115200n8 rdinit=/sbin/init"
ramboot

---

3. Edit initramfs /etc/fstab (removed the /home mountpoint to prevent 'empty flash' messages when /dev/mtdblock3 was mounted).

My initramfs /etc/fstab:

---

rootfs          /               auto    defaults                1  1
proc            /proc           proc    defaults        0  0
sys             /sys        sysfs       defaults        0  0
/dev/hda1 /media/cf auto defaults,noauto,noatime,exec,suid 0 0
tmpfs                   /var/volatile   tmpfs   mode=0755       0  0
tmpfs /dev/shm tmpfs mode=0777 0 0
tmpfs                   /media/ram      tmpfs   defaults        0  0

---

4. Edit initramfs /linuxrc - is it even required? No- I deleted it and am using the standard /sbin/init. The initramfs is the final system and we're not going to mount any 'main file system', so the minimal Busybox init is not required (says I...).

5. Copy over wlan firmware (/lib/firmware doesn't exist; /usr/lib/firmware doesn't either) to initramfs.

I copied the ACX firmware from my Ubuntu system, which might not be the approved way of doing things - I have no way of knowing whether the firmware would work with the hx4700 - a risky move, but it is working. 'Why didn't I use the SDG Systems WLAN firmware?' <shrug>

I copied the firmware over before making the initramfs.

---

r...@hx4700:/lib/firmware# ls -l
lrwxrwxrwx 1 root root 23 Nov 1 05:25 RADIO0d.BIN -> acx/1.9.8.b/tiacx100r0D lrwxrwxrwx 1 root root 23 Nov 1 05:25 RADIO11.BIN -> acx/1.9.8.b/tiacx100r11 lrwxrwxrwx 1 root root 23 Nov 1 05:26 RADIO15.BIN -> acx/1.9.8.b/tiacx100r15 lrwxrwxrwx 1 root root 20 Nov 1 05:25 WLANGEN.BIN -> acx/1.9.8.b/tiacx100
drwxr-xr-x    6 root     root            0 Nov  2  1999 acx

---

The /lib/firmware/acx dir contains a number of revisions of ACX firmware: 1.0.9, 1.9.8b, 2.3.1.31, and a 'default' dir with symlinks. The hx4700 wants everything in /lib/firmware, so I made symlinks, as shown above.

The acx startup (modprobe hx4700_acx ; modprobe acx debug=0) looks like this:

---

[  969.660000] acx: this driver is still EXPERIMENTAL
[ 969.660000] acx: reading README file and/or Craig's HOWTO is recommended, visit http://acx100.sf.net in case of further questions/discussion [ 969.730000] acx: compiled to use 32bit I/O access. I/O timing issues might occur, such as non-working firmware upload. Report them
[  969.790000] egpio set: reg 0 = 0x00d7
[  969.910000] egpio set: reg 0 = 0x00d7
[  970.080000] egpio set: reg 0 = 0x00d7
[  970.090000] egpio set: reg 0 = 0x00d7
[  970.110000] egpio set: reg 0 = 0x00d7
[  970.190000] acx: found ACX100-based wireless network card
[  970.220000] ACX radio type 0x0d
[ 971.230000] acx copy_from_slavemem: warning! destination not word-aligned! [ 971.320000] acx copy_from_slavemem: warning! destination not word-aligned!
[  971.670000] NVS_vendor_offs:0000 probe_delay:500 eof_memory:65536
[ 971.700000] CCAModes:04 Diversity:01 ShortPreOpt:01 PBCC:01 ChanAgil:00 PHY:05 Temp:01
[  971.730000] AntennaID:01 Len:02 Data:1E 00
[  971.750000] PowerLevelID:0A Len:00 Data:
[  971.770000] DataRatesID:02 Len:05 Data:02 04 11 22 44
[  971.790000] DomainID:03 Len:07 Data:10 20 30 31 32 40 41
[  971.820000] ProductID:04 Len:09 Data:TI ACX100
[  971.840000] ManufacturerID:05 Len:07 Data:TI Tesl
[ 971.870000] acx: === chipset TNETW1100B, radio type 0x0D (Maxim), form factor 0x03 (Compact Flash), EEPROM version 0x05: uploaded firmware 'Rev 1.9.8.b' === [ 971.940000] acx copy_from_slavemem: warning! destination not word-aligned! [ 971.990000] acx copy_from_slavemem: warning! destination not word-aligned! [ 972.040000] acx copy_from_slavemem: warning! destination not word-aligned! [ 972.090000] acx copy_from_slavemem: warning! destination not word-aligned! [ 972.250000] acx v0.3.36: net device wlan0, driver compiled against wireless extensions 22 and Linux 2.6.21-hh20

---

I used a few scripts to make building the initramfs easier:

'make-bootbundle.py', you have already.

'make-initrd.sh' to make the initramfs ('initrd' should be 'initramfs', maybe).

---

#!/bin/sh
# Execute this from the initrd root dir.
find . | sudo cpio -o -H newc | gzip -9 > ../initramfs.cpio.gz

---

'bootbundle.sh' calls make-bootbundle.py and names the bootbundle, depending on the current date & time:

---

#!/bin/sh

# Run this to build the boot bundle
# L. 01-Nov-09

dt="`date +%d%m%y-%H%M%S`"

./make-bootbundle.py -o bootbundle-${dt}.exe haret-0.5.2.exe zImage-2.6.21-hh20 initramfs.cpio.gz startup.txt.bootimage

---

Final notes: I may need to make more changes as there's sure to be something that I've missed. As it is, this works, with a bit of kludging around.

Lex

_______________________________________________
Angstrom-distro-users mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/angstrom-distro-users

Reply via email to