Clonezilla и Gparted на едином диске

Clonezilla и Gparted — полезнейшие инструменты системного администратора. Хорошо бы их объединить на одном LiveCD. Однако при попытке такого совмещения возникает проблема: структура каталогов обоих iso-образов одинакова, причем самые важные файлы — образ ядра, диск первоначальной загрузки, сжатая файловая система — находятся в обоих случаях в каталоге live. При попытке сменить его имя ничего хорошего не происходит. Неужели ничего нельзя предпринять?


Кое-что предпринять очень даже можно. Технология такая…
Создаем пустой каталог, в нем подкаталоги gparted и clnzilla (clonezilla не пойдет, слишком длинное слово для данной технологии). В gparted потрошим iso-образ Gpatred, в clnzilla — iso-образ Clonezilla.

Теперь нужно слеганца подправить загрузочные скрипты, которые спрятаны в утке, утка в зайце, заяц в сундуке упакованы внутри образа initrd.img. Это уплотненный с помощью gzip cpio-архив. Распаковывается довольно хитро, так что про утку, зайца и сундук я не зря вспомнил. Входим, например, в gparted:

mv initrd.img initrd.gz
gunzip initrd.gz
mkdir tmp
cd tmp
cpio -idmv < /initrd


В каталоге tmp оказывается, как выразился недавно камрад Sergei_T, до боли знакомая структура каталогов: /bin, /etc, /lib… Заходим в /scripts, в скрипте live правим строку (недалеко от начала файла):

LIVE_MEDIA_PATH="gparted"

Собираем утку, зайца и сундук обратно:

find | cpio -H newc -o > /initrd
cd /
gzip initrd
mv initrd.gz initrd.img

Всё, с Gparted разобрались. Теперь абсолютно то же самое проделываем в каталоге clnzilla, только там, соответственно, пишем

LIVE_MEDIA_PATH="clnzilla"

Теперь поднимаемся на уровень вверх и копируем с iso-образа (любого из двух) все каталоги, кроме live (isolinux, syslinux и т.п.). Открываем isolinux/isolinux.cfg любимым текстовым редактором и добавляем недостающие строки. Т.е. из двух isolinux.cfg — gparted'овского и clonezill'овского нужно собрать один. Они очень похожи и разобраться там не сложно, так что подробно останавливаться не буду, просто приведу фрагмент своего:

label GParted Live
  MENU DEFAULT
  # MENU HIDE
  MENU LABEL GParted Live
  # MENU PASSWD
  kernel /gparted/vmlinuz
  append initrd=/gparted/initrd.img boot=live config  noswap  ip=frommedia  nosplash
  TEXT HELP
  * GParted live version: 0.7.1-5. Live version maintainer: Steven Shiau
  * Disclaimer: GParted live comes with ABSOLUTELY NO WARRANTY
  ENDTEXT

label Clonezilla live
  # MENU HIDE
  MENU LABEL Clonezilla live
  # MENU PASSWD
  kernel /clnzilla/vmlinuz
  append initrd=/clnzilla/initrd.img boot=live config  noswap nolocales edd=on nomodeset ocs_live_run="ocs-live-general" ocs_live_extra_param="" ocs_live_keymap="" ocs_live_batch="no" ocs_lang="" vga=788 ip=frommedia  nosplash
  TEXT HELP
  * Clonezilla live version: 1.2.6-59-i686. © 2003-2011, NCHC, Taiwan
  * Disclaimer: Clonezilla comes with ABSOLUTELY NO WARRANTY
  ENDTEXT

Всё, можно создавать iso-образ. Делается это примерно так (находясь в каталоге gparted или clnzilla):



CDLABEL="Live tools"
ISONAME=/tools.iso

mkisofs -o "$ISONAME" -v -J -R -D -A "$CDLABEL" -V "$CDLABEL" \
-no-emul-boot -boot-info-table -boot-load-size 4 -posix-L \
-b isolinux/isolinux.bin -c isolinux/isolinux.boot /.


Остается прожечь iso-образ на болванку. При желании можно добавить другие live-инструменты, например, антивирус CureIt. Я, конечно же, не удержался и добавил консольную версию любимого Salix'а. Получилось как раз чуть меньще 700Мб, т.е. на CD-болванку вписалось идеально.
  • +8
  • 25 января 2011, 02:41
  • yababay

Комментарии (3)

RSS свернуть / развернуть
+
0
круть!
перед записью обязательно тестим в virtualbox )
avatar

Sergei_T

  • 25 января 2011, 10:36
+
0
О то ж! А то никаких болванок не хватит, да и времени.
avatar

yababay

  • 25 января 2011, 10:40
+
0
Класс !
avatar

Markony

  • 25 января 2011, 20:02

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.