One way to do it (I think it’s the only way for DAA proprietary file format) is to use Linux version of PowerISO.

Get it from their website:

wget http://poweriso.com/poweriso.tar.gz
And extract it:
tar -zxvf poweriso.tar.gz

To convert from .daa to .iso format:

./poweriso convert myfile.daa -o myfile.iso -ot iso

To extract all contents from ISO, DAA or BIN image to temporary directory:

mkdir /tmp/myisocontent
./poweriso extract image.daa / -od /tmp/myisocontent -r

If you have multiple .daa files (001,002,…) simply point to the first one (001).


1) download a recent patch-o-matic

2) run `./runme –download`. you are to have curl to successfully download patches, so if you do not, install it

3) run `./runme external` and apply patches

4) configure, make, install your kernel

5) make and install your iptables

if you need ipt_account, you can download patches from http://www.svn.barbara.eu.org/ipt_account/wiki/Patches. don’t copy a link to the patch and use wget! for an unknown reason, when wgetting patches, there appear strange distortions in files; open the patch with a browser and do copy-paste for the patches’ text. then unpack them and patch kernel and iptables as usual.


(bios) stage and that bootloader stage when we have a nice lilo/grub prompt.

to enable it in kernel, say “yes” in Processor type and features->kexec system call (EXPERIMENTAL)

make and install your kernel.

we will need also a userspace tool called kexec. at the moment of writing, it is not available as package for debian sarge, but is for etch; the sources can be built and installed without any problems, so i don’t see any problems in downloading it from let’s say http://packages.debian.org/testing/source/kexec-tools; i tested them even with slackware and everything worked perfectly.

to boot with kexec we need first to load a kernel image in memory:

kexec -l kernel-image –append=”command-line-options”
kexec -l /boot/bzImage-2.6.17.11-250 –append=”root=/dev/hda2″
and then to execute the reboot:
kexec -e

the problem is that here we oversimplify things: we do not term and kill processes, we do not umount filesystems. to make everything to work properly, we just modify /etc/init.d/reboot to look like this:

#! /bin/sh
#
# reboot Execute the reboot command.
#
# Version: @(#)reboot 2.75 22-Jun-1998 miquels@cistron.nl
#

PATH=/sbin:/bin:/usr/sbin:/usr/bin

echo -n “Rebooting… ”
#reboot -d -f -i

/usr/local/sbin/kexec -l /boot/bzImage-2.6.17.11-100 –append=”root=/dev/hda2″
#/usr/local/sbin/kexec -l /boot/bzImage-2.6.17.11-250 –append=”root=/dev/hda2″
#/usr/local/sbin/kexec -l /boot/bzImage-2.6.17.11-1000 –append=”root=/dev/hda2″

/usr/local/sbin/kexec -e
at this moment we have kexec basically working.


enable following options in the kernel:

Device Drivers -> SCSI device support:
       -> SCSI device support
       -> legacy /proc/scsi/ support
       -> SCSI disk support
       -> SCSI generic support
       -> [SCSI logging facility]
Device Drivers -> USB Support:
       -> Support for Host-side USB
       -> USB device filesystem
       -> USB drives. it may be:
           - EHCI HCD (USB 2.0) support
           - OHCI HCD support
           - UHCI HCD (most Intel and VIA) support
           but probably only one driver will be used
       -> USB Mass Storage support
File Systems:
       -> File Systems -> DOS/FAT/NT Filesystems -> VFAT (Windows-95) fs support
       -> Native Language Support -> Codepage 437 (United States, Canada)

make and install your kernel. after reboot plug your USB device in and look at `dmesg`. you should see that kernel has found usb device and attached it as scsi dev. messages differ from one linux distribution to other.
once i was not able to see scsi dev after having done all that. the solution was a newer kernel, so if you fail, check carefully your kernel option and try another kernel.

so now you have a normal device file in /dev, which you can mount, fsck and so on. if you do not have any other scsi devices, it will be /dev/sda, if you already have one scsi, the flash will be added as /dev/sdb and so on. try to cat /proc/scsi/scsi and you will see some info about your flash device; finally, if you do not want to count your scsis, install sg3-utils package (for Debian) and run sg-map – it will show you your flash’s real /dev/sd*.

mount it somewhere: mount -t auto /dev/sda1 /mnt

keeping in mind all advantages of linux filesystems, i however advice you to left vfat fs on your flash – you will be able to use it with windows machines

and, of course, you can format it with let’s say `fsck -t ext3 /dev/sda1`, partition it and even make encrypted filesystem on it. i will try to explain how to do it later


F1 Open KDE Help Center.
Shift-F1 What’s this help.
Alt-F1 Open the Applicantions Menu (K-Menu).
Alt-F2 Display the Run Application dialog.
Alt-F3 Open window menu.
Alt-F4 Close window.
WindowsContextMenuKey Popup context menu.
Ctrl-Esc List of running applications (process table).
Alt-Tab Switch to the next window.
Alt-Shift-Tab Switch to the previous window.
Ctrl-F1 to F12 Switch to desktop 1 – 12.
Ctrl-Tab Switch to the next desktop.
Ctrl-Shift-Tab Switch to the previous desktop.
Alt-PrintScreen Take a snapshot of the current window into the clipboard.
Ctrl-Alt-PrintScreen Take a snapshot of the entire desktop into the clipboard.
Ctrl-Alt-l Lock the desktop.
Ctrl-Alt-d Toggle hide/show the desktop
Ctrl-Alt-Numpad+ Next screen resolution.
Ctrl-Alt-Numpad- Previous screen resolution
Ctrl-Alt-BkSpc Kill the current X-windows server.
Ctrl-Alt-Esc Kill Window (The same as xkill command).
Alt-LeftMouseButton Move the window.
Alt-MiddleMouseButton Switch to next not-minimalized window.
Alt-RightMouseButton Resize the window.
Alt-MouseWheel Scroll horizontally instead of vertically.
Alt-F12 Emulate the mouse using the arrow keys on the keyboard.