ну что ж, по просьбам трудящихся...
часть 1. создание squash-образа.
в прицнипе, можно воспользоваться livecd Ubuntu 9.10, выполнив на нем
sudo apt-get install squashfs-tools
я же использовал livecd Parted Magic. к слову, там squashfs побогаче в плане опций (например, позволяет выбрать тип компрессии, чего нет в убунте). так что если есть rw-шка и желание - идем на partedmagic.com и качаем livecd-образ.
загрузившись (и установив пакет в случае с убунтой), монтируем / и раздел, на который будем сохранять полученный образ, допустим, так:
mount /dev/sda5 /mnt/local
mount /dev/sdb1 /mnt/usb
ну и запускаем, собственно, процесс:
mksquashfs /mnt/local /mnt/usb/system.sqfs -comp lzma
"--comp lzma" устанавливает тип сжатия в lzma вместо стандартного (gzip, кажется), что дает больший процент сжатия за то же примерно время. в убунте данной опции нет.
в процессе наблюдаем бегущий список файл и прогрессбар внизу экрана. идем пить чай.
по завершении видим отчет о количестве файлов и прочем. проверяем, что был список из кучи владельцев и групп для некоторых файлов. если все есть - значит чмоды сохранились правильно.
собственно, с первой частью все.
полученный образ монитруется так же, как и iso-шки при наличии соответствующего пакета в системе:
mount -o loop /где-то/там/наш/образ.sqfs /tmp/sqfs
часть 2. squash-образ + Parted Magic = liveCD/DVD
для сборки нам понадобится livecd-образ вышеупомянутого Parted Magic. если у вас его еще нет - идем на partedmagic.com и качаем оный. распаковываем zip и получаем iso-шник.
вот на этим-то iso-шником мы и будем издеваться. наверняка есть какой-то способ впихнуть необходимое в iso, не ломая загрузчик, но лично я не стал заморачиваться, а вместо этого решил прикрутить к нему grub2, который как-то роднее и приятней.
подробнее о прикручивании grub2 к livecd можно почитать здесь -
https://forum.ubuntu.ru/index.php?topic=74165.msg556531#msg556531итак, приступим. для начала создадим папку, в которой будем собирать все это безобразие, пусть это будет ~/iso. в ней создаем папки boot/grub и live
mkdir -p ~/iso/{boot/grub,live}
монтируем live в нее iso-шник Parted Magic:
sudo mount -o loop /где-то/что-то/pmagic.iso ~/iso/live
внутри видим папки pmagic и boot. boot нас не интересует, коли уж мы прикручиваем grub2 - нафиг нам тогда sysiinux? копируем pmagic из live в iso
sudo cp -pR iso/live/pmagic iso/
теперь iso-шник можно отмонтировать
sudo umount ~/iso/live
и удалить папку live. приступим к прикручиванию grub2. первым делом скопируем файл шрифта для меню grub2 в нашу папку boot/grub
cp /usr/share/grub/unicode.pf2 ~/iso/boot/grub
и создадим grub.cfg. более подробно об этом можно почитать, сходив по вышеприведенной ссылке, но можно взять и готовый файлик, заменив параметры на свои. ниже приводится пример такого grub.cfg
### выбранный пункт по умолчанию
set default=0
### таймаут меню
set timeout=2
### разрешение
set gfxmode=800x600x32,800x600x24,800x600
### загружаем шрифт и включаем графическое меню
loadfont /boot/grub/unicode.pf2
insmod gfxterm
insmod vbe
if terminal_output gfxterm ; then true ; else terminal gfxterm; fi
### настройка цветов
set color_normal=white/black
set menu_color_normal=green/black
set menu_color_highlight=light-blue/black
menuentry "Parted Magic"{
linux /pmagic/bzImage
initrd /pmagic/initramfs
}
menuentry "Parted Magic (console)"{
linux /pmagic/bzImage consoleboot
initrd /pmagic/initramfs
}
в принципе, можно ничего и не менять, ибо к хардам оно не прицеплено, ну а цвета и прочее - дело вкуса. полученный файл сохраняем как ~/iso/boot/grub/grub.cfg
теперь осталось впихнуть наш squash-образ. можете создать отдельную папочку, можете кинуть его прямо в корень папки ~/iso - это уже на вкус и цвет.
вот теперь все готово к созданию iso-шника будущего живого диска. делаем так:
sudo grub-mkrescue --overlay=~/iso/ /путь/имя_файла.iso
сие займет какое-то время в зависимости от размера squash-образа. по завершении прожигаем на болвань (cd или dvd в зависимости от размера).
часть 3. как этим пользоваться.
грузимся с полученного livecd, в меню груба выбираем пункт с загрузкой в консоль, ибо гуй в данном случае только мешает.
после загрузки привод может выплюнуть диск - пихаем обратно. (есть какая-то опция ядра, чтоб не выплевывал, но с ходу не скажу).
монтируем диск и /
mount /dev/cdrom /media/cdrom
mount /dev/sda5 /mnt/local
монтируем лежащий на диске squash-образ
mount -o loop /media/cdrom/путь/к/образу.sqfs /mnt/usb
(папка выбрана из нежелания создавать новую, значения не имеет). теперь в нашей точке монтирования получаем точную копию фс на рут-разделе. копируется оттуда как с обычного раздела. можно скопировать все с заменой файлов для восстановления имеющейся системы, можно взять какую-то часть (например, только /etc), можно раскатать все на чистый раздел и получить "установленную" систему (при таком варианте нужно будет поправить fstab и создать mbr для grub2).
в общем, работаем так, как будто бы это просто раздел, на который полностью скопирован /.
что-то громоздко получилось... ну да ладно. пугаться не стоит, а стоит один раз попробовать, чтобы понять, что все не так уж сложно.
ЗЫ. сам реализовал такое на флэшке. впрочем, не знаю, что проще