Um das vorgefertigte CFFLASH Image auf einen (größeren) USB Stick zu packen, muss man die Partitionen umkopieren. Probleme macht die Partition 2, die das iso9660 Dateisystem enthält.
mount -oloop,offset=31232 ZeroShell-1.0.beta11-CompactFlash-IDE-USB-SATA-1GB.img /tmp/z1 mount -oloop,offset=13991936 ZeroShell-1.0.beta11-CompactFlash-IDE-USB-SATA-1GB.img /tmp/z2 mount -oloop,offset=174899200 ZeroShell-1.0.beta11-CompactFlash-IDE-USB-SATA-1GB.img /tmp/z3
/tmp/ZeroShell-1.0.beta11-CompactFlash-IDE-USB-SATA-1GB.img on /tmp/z1 type ext3 (rw,loop=/dev/loop1,offset=31232) /tmp/ZeroShell-1.0.beta11-CompactFlash-IDE-USB-SATA-1GB.img on /tmp/z2 type iso9660 (rw,loop=/dev/loop2,offset=13991936) /tmp/ZeroShell-1.0.beta11-CompactFlash-IDE-USB-SATA-1GB.img on /tmp/z3 type ext3 (rw,loop=/dev/loop3,offset=174899200)
cd /tmp mkdir -p zz2 ; cd zz2 ( cd ../z2 ; tar cf - isolinux modules sbin usr ) | tar xvf - genisoimage -v -R -r -o ../sdb2 . find . | wc -l
Es werden 18354 Zeilen gezählt.
mount -o loop sdb2 /tmp/2 cd /tmp/2 find . | wc -l
Prima, hier sind es genauso viele.
$ fdisk /dev/sdb Command (m for help): o Building a new DOS disklabel. Changes will remain in memory only, until you decide to write them. After that, of course, the previous content won't be recoverable. Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite) Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4): 1 First cylinder (1-1014, default 1): 1 Last cylinder or +size or +sizeM or +sizeK (1-1014, default 1014): +80M Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4): 2 First cylinder (42-1014, default 42): Using default value 42 Last cylinder or +size or +sizeM or +sizeK (42-1014, default 1014): +320M Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4): 3 First cylinder (203-1014, default 203): Using default value 203 Last cylinder or +size or +sizeM or +sizeK (203-1014, default 1014): +1100M Command (m for help): n Command action e extended p primary partition (1-4) p Selected partition 4 First cylinder (754-1014, default 754): Using default value 754 Last cylinder or +size or +sizeM or +sizeK (754-1014, default 1014): Using default value 1014 Command (m for help): p Disk /dev/sdb: 2029 MB, 2029518848 bytes 63 heads, 62 sectors/track, 1014 cylinders Units = cylinders of 3906 * 512 = 1999872 bytes Device Boot Start End Blocks Id System /dev/sdb1 1 41 80042 83 Linux /dev/sdb2 42 202 314433 83 Linux /dev/sdb3 203 753 1076103 83 Linux /dev/sdb4 754 1014 509733 83 Linux Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks.
for i in 1 2 3 4; do mkfs.ext3 /dev/sdb$i ; tune2fs -c0 -i0 /dev/sdb$i; done
dd if=sdb2 of=/dev/sdb2 bs=8192 38770+1 records in 38770+1 records out 317607936 bytes (318 MB) copied, 90.7886 seconds, 3.5 MB/s
for i in 1 3 ; do mount /dev/sdb$i $i ; cd $i ; ( cd ../zeroshell$i ; tar cf - * ) | tar xvf -; cd ..; done
GNU GRUB version 0.97 (640K lower / 3072K upper memory)
[ Minimal BASH-like line editing is supported. For the first word, TAB
lists possible command completions. Anywhere else TAB lists the possible
completions of a device/filename.]
grub> root (hd1,0)
Filesystem type is ext2fs, partition type 0x83
grub> setup (hd1)
Checking if "/boot/grub/stage1" exists... no
Checking if "/grub/stage1" exists... yes
Checking if "/grub/stage2" exists... yes
Checking if "/grub/e2fs_stage1_5" exists... yes
Running "embed /grub/e2fs_stage1_5 (hd1)"... 15 sectors are embedded.
succeeded
Running "install /grub/stage1 (hd1) (hd1)1+15 p (hd1,0)/grub/stage2 /grub/grub.conf"... succeeded
Done.
grub> quit
cd /usr/src wget http://na.mirror.garr.it/mirrors/zeroshell/linux-2.6.25.17-zs-i386.tar.bz2 tar xjf linux-2.6.25.17-zs-i386.tar.bz2 wget http://snapshots.madwifi-project.org/madwifi-hal-0.10.5.6-current.tar.gz tar xzf madwifi-hal-0.10.5.6-current.tar.gz
aptitude install build-essential bzip2 ln -s madwifi-* madwifi cd madwifi make KERNELPATH=/usr/src/linux-2.6.25.17
tirivideo:/usr/src/madwifi# make KERNELPATH=/usr/src/linux-2.6.25.17
Checking requirements... ok.
Checking kernel configuration... ok.
make -C /usr/src/linux-2.6.25.17 SUBDIRS=/usr/src/madwifi-hal-0.10.5.6-r4016-20090429 modules
make[1]: Entering directory `/usr/src/linux-2.6.25.17'
CC [M] /usr/src/madwifi-hal-0.10.5.6-r4016-20090429/ath/if_ath.o
CC [M] /usr/src/madwifi-hal-0.10.5.6-r4016-20090429/ath/if_ath_radar.o
CC [M] /usr/src/madwifi-hal-0.10.5.6-r4016-20090429/ath/if_ath_hal_extensions.o
CC [M] /usr/src/madwifi-hal-0.10.5.6-r4016-20090429/ath/if_ath_pci.o
LD [M] /usr/src/madwifi-hal-0.10.5.6-r4016-20090429/ath/ath_pci.o
CC [M] /usr/src/madwifi-hal-0.10.5.6-r4016-20090429/ath_hal/ah_os.o
HOSTCC /usr/src/madwifi-hal-0.10.5.6-r4016-20090429/ath_hal/uudecode
UUDECODE /usr/src/madwifi-hal-0.10.5.6-r4016-20090429/ath_hal/i386-elf.bin
UNMANGLE /usr/src/madwifi-hal-0.10.5.6-r4016-20090429/ath_hal/i386-elf.hal.o
LD [M] /usr/src/madwifi-hal-0.10.5.6-r4016-20090429/ath_hal/ath_hal.o
CC [M] /usr/src/madwifi-hal-0.10.5.6-r4016-20090429/ath_rate/amrr/amrr.o
LD [M] /usr/src/madwifi-hal-0.10.5.6-r4016-20090429/ath_rate/amrr/ath_rate_amrr.o
CC [M] /usr/src/madwifi-hal-0.10.5.6-r4016-20090429/ath_rate/minstrel/minstrel.o
LD [M] /usr/src/madwifi-hal-0.10.5.6-r4016-20090429/ath_rate/minstrel/ath_rate_minstrel.o
CC [M] /usr/src/madwifi-hal-0.10.5.6-r4016-20090429/ath_rate/onoe/onoe.o
LD [M] /usr/src/madwifi-hal-0.10.5.6-r4016-20090429/ath_rate/onoe/ath_rate_onoe.o
CC [M] /usr/src/madwifi-hal-0.10.5.6-r4016-20090429/ath_rate/sample/sample.o
LD [M] /usr/src/madwifi-hal-0.10.5.6-r4016-20090429/ath_rate/sample/ath_rate_sample.o
CC [M] /usr/src/madwifi-hal-0.10.5.6-r4016-20090429/net80211/if_media.o
CC [M] /usr/src/madwifi-hal-0.10.5.6-r4016-20090429/net80211/ieee80211_skb.o
CC [M] /usr/src/madwifi-hal-0.10.5.6-r4016-20090429/net80211/ieee80211.o
CC [M] /usr/src/madwifi-hal-0.10.5.6-r4016-20090429/net80211/ieee80211_beacon.o
CC [M] /usr/src/madwifi-hal-0.10.5.6-r4016-20090429/net80211/ieee80211_crypto.o
CC [M] /usr/src/madwifi-hal-0.10.5.6-r4016-20090429/net80211/ieee80211_crypto_none.o
CC [M] /usr/src/madwifi-hal-0.10.5.6-r4016-20090429/net80211/ieee80211_input.o
CC [M] /usr/src/madwifi-hal-0.10.5.6-r4016-20090429/net80211/ieee80211_node.o
CC [M] /usr/src/madwifi-hal-0.10.5.6-r4016-20090429/net80211/ieee80211_output.o
CC [M] /usr/src/madwifi-hal-0.10.5.6-r4016-20090429/net80211/ieee80211_power.o
CC [M] /usr/src/madwifi-hal-0.10.5.6-r4016-20090429/net80211/ieee80211_proto.o
CC [M] /usr/src/madwifi-hal-0.10.5.6-r4016-20090429/net80211/ieee80211_scan.o
CC [M] /usr/src/madwifi-hal-0.10.5.6-r4016-20090429/net80211/ieee80211_wireless.o
CC [M] /usr/src/madwifi-hal-0.10.5.6-r4016-20090429/net80211/ieee80211_linux.o
CC [M] /usr/src/madwifi-hal-0.10.5.6-r4016-20090429/net80211/ieee80211_monitor.o
CC [M] /usr/src/madwifi-hal-0.10.5.6-r4016-20090429/net80211/ieee80211_rate.o
CC [M] /usr/src/madwifi-hal-0.10.5.6-r4016-20090429/net80211/ieee80211_acl.o
CC [M] /usr/src/madwifi-hal-0.10.5.6-r4016-20090429/net80211/ieee80211_crypto_ccmp.o
CC [M] /usr/src/madwifi-hal-0.10.5.6-r4016-20090429/net80211/ieee80211_scan_ap.o
CC [M] /usr/src/madwifi-hal-0.10.5.6-r4016-20090429/net80211/ieee80211_scan_sta.o
CC [M] /usr/src/madwifi-hal-0.10.5.6-r4016-20090429/net80211/ieee80211_crypto_tkip.o
CC [M] /usr/src/madwifi-hal-0.10.5.6-r4016-20090429/net80211/ieee80211_crypto_wep.o
CC [M] /usr/src/madwifi-hal-0.10.5.6-r4016-20090429/net80211/ieee80211_xauth.o
LD [M] /usr/src/madwifi-hal-0.10.5.6-r4016-20090429/net80211/wlan.o
LD [M] /usr/src/madwifi-hal-0.10.5.6-r4016-20090429/net80211/wlan_wep.o
LD [M] /usr/src/madwifi-hal-0.10.5.6-r4016-20090429/net80211/wlan_tkip.o
LD [M] /usr/src/madwifi-hal-0.10.5.6-r4016-20090429/net80211/wlan_ccmp.o
LD [M] /usr/src/madwifi-hal-0.10.5.6-r4016-20090429/net80211/wlan_acl.o
LD [M] /usr/src/madwifi-hal-0.10.5.6-r4016-20090429/net80211/wlan_xauth.o
LD [M] /usr/src/madwifi-hal-0.10.5.6-r4016-20090429/net80211/wlan_scan_sta.o
LD [M] /usr/src/madwifi-hal-0.10.5.6-r4016-20090429/net80211/wlan_scan_ap.o
Building modules, stage 2.
MODPOST 14 modules
CC /usr/src/madwifi-hal-0.10.5.6-r4016-20090429/ath/ath_pci.mod.o
LD [M] /usr/src/madwifi-hal-0.10.5.6-r4016-20090429/ath/ath_pci.ko
CC /usr/src/madwifi-hal-0.10.5.6-r4016-20090429/ath_hal/ath_hal.mod.o
LD [M] /usr/src/madwifi-hal-0.10.5.6-r4016-20090429/ath_hal/ath_hal.ko
CC /usr/src/madwifi-hal-0.10.5.6-r4016-20090429/ath_rate/amrr/ath_rate_amrr.mod.o
LD [M] /usr/src/madwifi-hal-0.10.5.6-r4016-20090429/ath_rate/amrr/ath_rate_amrr.ko
CC /usr/src/madwifi-hal-0.10.5.6-r4016-20090429/ath_rate/minstrel/ath_rate_minstrel.mod.o
LD [M] /usr/src/madwifi-hal-0.10.5.6-r4016-20090429/ath_rate/minstrel/ath_rate_minstrel.ko
CC /usr/src/madwifi-hal-0.10.5.6-r4016-20090429/ath_rate/onoe/ath_rate_onoe.mod.o
LD [M] /usr/src/madwifi-hal-0.10.5.6-r4016-20090429/ath_rate/onoe/ath_rate_onoe.ko
CC /usr/src/madwifi-hal-0.10.5.6-r4016-20090429/ath_rate/sample/ath_rate_sample.mod.o
LD [M] /usr/src/madwifi-hal-0.10.5.6-r4016-20090429/ath_rate/sample/ath_rate_sample.ko
CC /usr/src/madwifi-hal-0.10.5.6-r4016-20090429/net80211/wlan.mod.o
LD [M] /usr/src/madwifi-hal-0.10.5.6-r4016-20090429/net80211/wlan.ko
CC /usr/src/madwifi-hal-0.10.5.6-r4016-20090429/net80211/wlan_acl.mod.o
LD [M] /usr/src/madwifi-hal-0.10.5.6-r4016-20090429/net80211/wlan_acl.ko
CC /usr/src/madwifi-hal-0.10.5.6-r4016-20090429/net80211/wlan_ccmp.mod.o
LD [M] /usr/src/madwifi-hal-0.10.5.6-r4016-20090429/net80211/wlan_ccmp.ko
CC /usr/src/madwifi-hal-0.10.5.6-r4016-20090429/net80211/wlan_scan_ap.mod.o
LD [M] /usr/src/madwifi-hal-0.10.5.6-r4016-20090429/net80211/wlan_scan_ap.ko
CC /usr/src/madwifi-hal-0.10.5.6-r4016-20090429/net80211/wlan_scan_sta.mod.o
LD [M] /usr/src/madwifi-hal-0.10.5.6-r4016-20090429/net80211/wlan_scan_sta.ko
CC /usr/src/madwifi-hal-0.10.5.6-r4016-20090429/net80211/wlan_tkip.mod.o
LD [M] /usr/src/madwifi-hal-0.10.5.6-r4016-20090429/net80211/wlan_tkip.ko
CC /usr/src/madwifi-hal-0.10.5.6-r4016-20090429/net80211/wlan_wep.mod.o
LD [M] /usr/src/madwifi-hal-0.10.5.6-r4016-20090429/net80211/wlan_wep.ko
CC /usr/src/madwifi-hal-0.10.5.6-r4016-20090429/net80211/wlan_xauth.mod.o
LD [M] /usr/src/madwifi-hal-0.10.5.6-r4016-20090429/net80211/wlan_xauth.ko
make[1]: Leaving directory `/usr/src/linux-2.6.25.17'
make -C ./tools all || exit 1
make[1]: Entering directory `/usr/src/madwifi-hal-0.10.5.6-r4016-20090429/tools'
for d in ath_info; do \
make -C $d || exit 1; \
done
make[2]: Entering directory `/usr/src/madwifi-hal-0.10.5.6-r4016-20090429/tools/ath_info'
gcc -g -O2 -W -Wall -c ath_info.c
gcc -g -O2 -W -Wall -o ath_info ath_info.o
make[2]: Leaving directory `/usr/src/madwifi-hal-0.10.5.6-r4016-20090429/tools/ath_info'
gcc -o athstats -g -O2 -Wall -I. -I../hal -I.. -I../ath_hal -I../ath athstats.c
gcc -o 80211stats -g -O2 -Wall -I. -I../hal -I.. -I../ath_hal 80211stats.c
gcc -o athkey -g -O2 -Wall -I. -I../hal -I.. -I../ath_hal athkey.c
gcc -o athchans -g -O2 -Wall -I. -I../hal -I.. -I../ath_hal athchans.c
gcc -o athctrl -g -O2 -Wall -I. -I../hal -I.. -I../ath_hal athctrl.c
gcc -o athdebug -g -O2 -Wall -I. -I../hal -I.. -I../ath_hal athdebug.c
gcc -o 80211debug -g -O2 -Wall -I. -I../hal -I.. -I../ath_hal 80211debug.c
gcc -o wlanconfig -g -O2 -Wall -I. -I../hal -I.. -I../ath_hal wlanconfig.c
gcc -o wpakey -g -O2 -Wall -I. -I../hal -I.. -I../ath_hal wpakey.c
make[1]: Leaving directory `/usr/src/madwifi-hal-0.10.5.6-r4016-20090429/tools'
tirivideo:/usr/src/madwifi# find . | grep ath_pci
./ath/if_ath_pci.h
./ath/.if_ath_pci.o.cmd
./ath/if_ath_pci.c
./ath/ath_pci.mod.o
./ath/.ath_pci.o.cmd
./ath/ath_pci.mod.c
./ath/ath_pci.ko
./ath/if_ath_pci.o
./ath/ath_pci.o
./ath/.ath_pci.mod.o.cmd
./ath/.ath_pci.ko.cmd
./.tmp_versions/ath_pci.mod
tirivideo:/usr/src/madwifi# strings ath/ath_pci.ko |grep 2.6
vermagic=2.6.25.17 SMP mod_unload 686
Jetzt müssen wir die .ko$-Dateien noch ins Verzeichnis /modules/madwifi bringen und das iso neu erstellen.
Nach dem Neustart wird unsere Atheros Karte erkannt:
Starting WiFi subsystem ... Loading Kernel Modules (MadWifi) for Atheros Chipsets ath_hal: module license 'Proprietary' taints kernel. AR5210, AR5211, AR5212, AR5416, RF5111, RF5112, RF2413, RF5413, RF2133, RF2425,
wifi0 - Atheros Communication Inc. AR242x 802.11abg Wireless PCI Express Adapter (rev 01)