Расскажу, как я делал live-HD/live-flash из FINNIX, KNOPPIX, slitaz, morphix.
У всех LiveCD ISO'шник обычно содержит (сжатый) образ ФС (squashfs, cloop, etc),
ядро, initramfs, isolinux (загрузчик), и его конфиг(и). Нужно скопировать
на флешку образ ФС, ядро, initramfs. Затем поставить загрузчик. Я использую
extlinux, но никто не запрещает использвать syslinux, grub, или даже lilo.
После этого надо подправить конфиг загрузчика: как минимум, переименовать конфиг
из isolinux.cfg в {ext,sys}linux.cfg (или заново написать {menu.lst,lilo.conf}).
Вся процедура выглядит буквально так:
# ВНИМАНИЕ: ДАННЫЕ С ФЛЕШКИ СТИРАЮТСЯ НАФИГ!
mke2fs -b4096 /dev/disk/by-id/usb-foo-bar-part1
mkdir /tmp/target
mount -t ext2 -o rw,nodev,nosuid /dev/disk/by-id/usb-foo-bar-part1 /tmp/target
mount -t iso9660 -o ro,nodev,loop ./finnix-91.1.iso /mnt
# Копируем
tar cf - -C /mnt . | tar xf - -C /tmp/target
# Ставим загрузчик. extlinux нужно ставить на _смонтированную_ ФС.
extlinux -i /tmp/target/isolinux
cd /tmp/target/isolinux
# extlinux читает файл extlinux.conf
mv isolinux.cfg extlinux.conf
# Этот файл нужен только на CD.
rm -f boot.cat
umount /mnt
# Отмонтируем флешку
umount /tmp/target
# {sys,ext}linux ставятся на раздел, а не в MBR. Поэтому нужно сделать
# mbr загрузочной.
cat /usr/lib/syslinux/mbr.bin > /dev/disk/by-id/usb-foo-bar
Взято с linux.org.ru автор Dselect
http://www.linux.org.ru/view-message.jsp?msgid=2858563