SliTaz SliTaz Forum

You are not logged in.

#1 2013-06-08 15:37:59

sklimkin
Member
Registered: 2012-10-08
Posts: 99

TazLito -> bootable ISO

Что нужно сделать чтобы получить загружаемый ISO-образ?

What you need to do to get a bootable image ISO?

Тема уже поднималась здесь:

http://forum.slitaz.org/topic/tazlito-writeiso-%D0%BD%D0%B5-%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D1%91%D1%82-iso

Вот мои результаты из установленной и сконфигурированной на отдельном разделе диска ОС Slitaz-4.0

From configued & updated & Persistent installed on sda partition Slitaz-4.0

   I select Menu->System->Create a LiveCD

   then named my own new ISO as 'slitaz-2.6.37SNK.iso'

1-st probe - I press button "Write ISO", as result generated:

0. /home/slitaz/distro/rootcd/boot/rootfs.gz - 1.7 GB

   (instead declared by My 'slitaz-2.6.37SNK.iso')

   It is my name, my rootfs but not ISO

   Это поименованная мной МОЯ файловая система, но это не ISO-образ.

2-nd probe - I press button "OK", as result generated:

   Now I have these DIR's:

   /home/slitaz/4.0 - 304.9 MB

   /home/slitaz/distro/ - 1.8 GB

   /home/slitaz/stable/ - 13.7 KB

   /home/slitaz/4.0/distro/ - 183.1 MB

   /home/slitaz/4.0/packages/ - 121.7 MB

   /home/slitaz/4.0/flavors/ -24.5 KB

   /home/slitaz/4.0/distro/rootcd/ - 36.9 MB

   /home/slitaz/4.0/distro/rootcd/boot/rootfs.gz - 31.4 MB

   /home/slitaz/4.0/distro/rootfs/ - 110.6 MB

   /home/slitaz/4.0/distro/addfiles/ - 12.9 KB

   /home/slitaz/4.0/distro/slitaz-2.6.37SNK.iso - 35.7 MB

   It is ISO but not my rootfs

   Это ISO, но в нем нет МОЕЙ файловой системы

This ISO need to make virtual image for vmware or VirtualBox.

Этот ISO нужен для загрузки образа в vmware или VirtualBox.

Offline

#2 2013-07-09 13:33:15

sklimkin
Member
Registered: 2012-10-08
Posts: 99

Re: TazLito -> bootable ISO

Создание в виртуальной машине из CD-ISO образа загружаемого виртуального диска VMDK

-----------------------------------------------------------------------------------

Здесь не только о Slitaz-Linux, тема относится и к другим системам, поэтому свои заметки приведу полностью. Возможно кому-то пригодится.

0. Здесь речь о некоторых особенностях использования Линукс систем. Установка Windows выполняется (как правило) с установочного дистрибутивного диска, создает виртуальный жесткий диск и проблем почти не имеет. Сама же виртуальная машина интересна тем, что в ней можно установить различные системы (GUEST) и переключаться между ними не выходя из главной (HOST)системы, в которой виртуальная машина загружена. Даже в 32-битном Линуксе пользователю доступно 3.5 ГБ оперативной памяти, а при условии выделения каждой GUEST-OS памяти по 256--512 МБ можно получить достаточную мобильность без перезагрузки компьютера - это все конечно "азы".

1. Работа в виртуальной машине (Vmware Player, Oracle VirtualBox) настроена (в первую очередь) на использование CD-ISO образа той или иной операционной системы.

   Образы ОС в виде Live-CD (DVD) предусматривают установку ОС на реальный раздел физического жесткого диска (HDD или "винчестера"), но из виртуальной машины это не всегда возможно, а в случае "маленьких" Linux-OS это особенно проблематично. Кроме того "плодить" разделы на физическом жестком диске не всегда возможно/нужно.

2. Но виртуальные машины имеют в своем составе так называемый виртуальный жесткий диск, который устанавливается по умолчанию как устройство SCSI-0.0 Hard-Disk. При этом испытуемую ОС чаще всего можно установить только на устройство IDE Hard-Disk.

3. Надо удалить (или не удалять) устройство SCSI Hard-Disk и добавить новое устройство IDE Hard-Disk.

   IDE необходимо для того, чтобы из загруженной с CD-ISO образа виртуальной машины (с виртуальной ОС) без проблем перенести эту машину-ОС на то, что позволит настаивать, сохранять изменения и повторно загружать систему и даже сохранять ее различные варианты.

4. Исходный CD-ISO образ загруженный в виртуальной машине изменить невозможно. Но можно его "развернуть" на виртуальный диск, сконфигурировать и сохранить в измененном виде. Для этого виртуальный диск надо "оформить" также, как и реальный физический. То есть создать на нем таблицу разделов, создать на нем хотя бы один раздел (ext2/ext3/ext4 для Unix-Linux, fat32/ntfs для Windows). Для этого нужна программа gparted (или аналог).

5. Скопировать загруженную систему на вновь созданный раздел виртуального диска /dev/sda1 - здесь надо понимать, что реально необходимо, а что лишнее. Советов дать не могу - надо читать, думать и конечно пробовать.

6. Теперь этот диск надо сделать загружаемым - для этого есть как минимум lilo, syslinux/isolinux, grub. В связи с "широким распространением" линукс-загрузчика grub-2 и из соображений совместимости с последними "большими" Линуксами, выбран именно он (хотя использование grub-legacy (просто grub), или grub4dos много проще и понятней).

   Диск монтируется в /mnt и по этому "адресу" в него переписывается/копируется стандартный набор /bin /etc /home /root ... ... ..., /boot в случае Live-CD может отсутствовать, тогда надо добавить его вручную.

   Затем на этот диск (имя его скорее всего будет /sda - так устроен gparted) устанавливается загрузчик. Файл конфигурации загрузчика вероятно придется создавать вручную, но даже если установка загрузчика создаст файл grub.cfg (что в виртуальной машине не всегда происходит) его все равно придется править и помещать в "правильное" место.

   Авторы загрузчика grub-2 по всей видимости предполагают, что система (каноническая) уже установлена, имеет /boot /etc и ждет "оплодотворения" в эти директории от загрузчика, а это не всегда так в случае с маленькими Линуксами (они нередко устроены несколько иначе, чем например Linux-Ubuntu - хотя бы в части /dev).

7. Важный момент - как именовать новый диск и новый раздел на нем для загрузчика в новом файле grub.cfg - вот реальный пример этого файла для работы со сверх-маленьким Live-линуксом на основе ядра 3.2.0 от Юбунты:

    для загрузки в виртуальной машине CD-ISO образа

    menuentry "3 SFSL 121114 (Ubuntu-12.10)" {

        set root='(cd)'

        linux /CDlinux/_sfsl/live/vmlinuz320  <ключи загрузки ядра пропускаю>

        initrd /CDlinux/_sfsl/live/initrd320.img

    }

    а для загрузки новоиспеченного виртуального диска (CD-ISO образ отключается за ненадобностью)

     menuentry "3 SFSL 121114 (Ubuntu-12.10)" {

        set root=(hd0,1)

        linux /CDlinux/_sfsl/live/vmlinuz320 root=(hd0,1) <ключи загрузки ядра пропускаю>

        initrd /_sfsl-121114/live/initrd320.img

    }

   Установка переменной для обозначения корня диска отличается и если set root='(cd)' необходим для загрузки "никакого" диска с образа CD-ISO, то для загрузки IDE-Hard-Disk (который в системе /dev/sda --> sda1) нужен канонический set root=(hd0,1) Если поменять их местами, то обе загрузки станут нерабочими.

8. Виртуальный IDE-Hard-Disk, имеющий таблицу разделов, из VMware-Player можно примонтировать в материнскую (HOST) /mnt и смотреть и править, если что-то не так.

9. Для более продуктивной работы с готовыми Live-CD-ISO образами можно/нужно распаковать их во временный рабочий каталог на HOST-машине (например архиватором file-roller или peazip) и в процессе изменений-совершенствования паковать в CD-ISO образ снова и загружать в виртуальную машину. Вот как это может выглядеть:

   /home/<имя_пользователя>/"Рабочий стол"/cd-dir/<распакованный_ISO-образ>

   /cd-dir/mkisofs.sh такого содержания (пример для загрузчика eltorito-grub - это grub-2):

    #!/bin/bash

    #

    # build CD-sfsl ISO image

    MKISO=[c]type -p genisoimage 2>/dev/null[/c] ||

    MKISO=[c]type -p mkisofs 2>/dev/null[/c] || {

      type -a xorriso 2>/dev/null &&

      set `xorriso --version 2>/dev/null |

           sed -n 's/^xorriso version\s*:\s*//p' |

           tr . " "` 0 &&

      [ $1 -ge 1 ] &&

      [ $2 -ge 1 ] &&

      MKISO="xorriso -as mkisofs"

    } || {

      echo "Sorry, genisoimage, mkisofs, or xorriso 1.1.0+ is needed."

      exit 1

    }

    $MKISO    -v -R -J -joliet-long -input-charset utf8 \

        -c boot.cat -hide boot.cat -b CDlinux/boot/i386-pc/eltorito.img \

        -no-emul-boot -boot-load-size 4 -boot-info-table \

        -o /tmp/sfsl121114grub2.iso [c]dirname "$0"[/c]

   Этот скрипт пытается использовать genisoimage, mkisofs, или xorriso для создания CD-ISO образа из содержимого каталога /cd-dir и пишет его в /tmp под именем sfsl121114grub2.iso (в данном примере).

   Далее этот образ можно переместить, если надо, а можно из /tmp загружать в виртуальную машину.

   Загрузчик eltorito-grub взят из дистрибутива (Live-CD-ISO) CDlinux, который и сам по себе интересен:

  http://www.cdlinux.info/wiki/doku.php/

10. Упомянутый выше для примера дистрибутив SFSLinux еще более интересен:

   http://uco.puppyrus.org/forum/thread176.html

   Автор скромно, но с юмором назвал его так: "SFSLinux. Самоделка. Попытка скрестить Debian с Puppy". Создал несколько версий от CrunchBang до Linux-Ubuntu 12.10 и переключился на другие задачи.

   А интересен дистрибутив своей идеологией и производными от нее возможностями. К ядру системы подключается один или более модуль, упакованный в squashfs. Модулей может быть много или мало. Их можно создавать в системе самому, можно использовать готовые sfs-пакеты из репозитория Puppy-Linux, а можно устанавливать готовые deb-пакеты из репозиториев Debian и Ubuntu.

   Можно сохранять содеянное, а можно завершать работу без сохранения. И много чего еще интересного. Но Linux-Ubuntu 12.10 "уложенная" в ISO-образ размером 180 MB вызывает удивление и восхищение. Можно почитать от самого автора. Сейчас он тоже самое проделал с Arch-linux (но есть реализации и с другими "донорами"):

   http://forum.puppyrus.org/index.php/topic,13843.0.html

11. Тоже самое проделал с дистрибутивом Slitaz-Linux 4.0 - погонял несколько раз cd-dir <--> CD-ISO и перенес на виртуальный IDE-Hard-Disk - файл *.vmdk подключается и в VirtualBox машине.

   В Slitaz-Linux есть gparted - им отформатировал виртуальный диск. Загрузчик в Slitaz-Linux по умолчанию grub-legacy, воспользовался им для установки загрузчика на виртуальный диск /dev/sda. Slitaz имеет свой встроенный установщик на HDD/FlashDisk с его помощью установил систему на виртуальном диске.

   Выключение виртуальной машины. Отключение в настройках загрузки с CD-ISO образа и включение загрузки с виртуального диска IDE Hard-Disk, на котором теперь стоит полноценная система Slitaz-Linux с загрузчиком. Загрузившись с такого диска можно дальше настраивать/переделывать систему под свои нужды, можно сохранять промежуточные результаты в архив на HOST-диске. Можно такой диск (а это файл *.vmdk) переносить на флэшке в другие места, передавать друзьям (на новом месте нужна установленная виртуальная машина).

12. Все это можно выполнить и в VMware и в VirtualBox и при этом нет нужды устанавливать дополнения типа wm-ware-tools. Выбор машины - дело вкуса/привычки.

Offline

Registered users online in this topic: 0, guests: 1
[Bot] ClaudeBot

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.017 seconds, 7 queries executed - Memory usage: 1.56 MiB (Peak: 1.77 MiB) ]