Как сделать livecd debian

Обновлено: 04.07.2024

Задача: сделать LiveCD, который при загрузке станет показывать видеофайлы по кругу.

Ниже приведен рецепт, как это сделать в Debian Linux. В тексте все пути к каталогам и файлам указываются относительно директории, которая создана для сборки LiveCD.

Создание первого пробного ISO-образа

Вначале нужно установить пакеты live-build, live-helper.

Затем надо создать отдельный каталог, зайти в него, и от обычного пользователя дать команду:

В результате в этом каталоге будет создан набор директорий с файлами, которые нужны для создания CD-образа генерируемого нами дистрибутива.

Далее в этой директории надо создать файл create.sh сделующего содержания:

lb config --architecture i386 --packages-list xfce --packages "mplayer xserver-xorg nodm mc"

Нужно назначить ему права на выполнение, например 755, и запустить его от рута. В результате в этой же директории будет сгенерирован ISO-образ дистрибутива. Файл будет называться binary-hybrid.iso . Его можно сразу запустить в виртуальной машине и посмотреть, что и как будет грузиться.

Этот образ будет содержать легковесную DE-среду XFCE, проигрыватель mplayer и основные кодеки. Запуск XFCE будет происходить автоматически, ввода логина-пароля не потребуется.

Во время создания образа требуется наличие доступа к интернету, чтобы ситема имела возможность скачать нужные debian-пакеты.

В наборе каталогов и файлов, сгенерированных командой "lb config" есть директория /config/ chroot _local-includes . Это корневая директория генерируемого дистрибутива. В ней можно создавать любые файлы и каталоги, и они будут вставлены в дистрибутив.

По-умолчанию, дистрибутив создаётся с пользователем user . Если нужно создать какие-то файлы для этого пользователя, то в директории /config/chroot_local-includes можно создать поддиректорию /home/user и разместить там нужные файлы.

Например, можно создать поддиректорию /config/chroot_local-includes/home/user/.config/autostart , и сделать в ней файл onstart.desktop следующего содержания:

В результате сразу при старте XFCE будут запускаться команды, прописанные в файле /config/chroot_local-includes/home/user/onstart.sh . Этот файл тоже нужно создать и разместить по тому же принципу, что написан выше. Файлу onstart.sh нужно не забыть поставить права на выполнение, лучше 777 - всеравно это Live-CD.

Настройка начальной загрузки

При загрузке полученного LiveCD вначале будет появляться меню с выбором, в каком режиме загружать LiveCD. И пока пользователь не нажмет клавишу Enter, загрузка не пойдёт. Нам же нужно, чтобы LiveCD запускался самостоятельно.

Чтобы это сделать, нужно в директории /config/ binary _local-includes создать поддиректорию isolinux , и скопировать в нее файл /binary/isolinux/isolinux.cfg .

По-умолчанию его содеримое следующее:

Нам нужно установить значение timeout в 1, что означает ждать 1 сек. при загрузке, и потом автоматически загружаться.

image

Решил поделиться сим знанием. Всё это я сам собрал в интернете. Опробовал и удостоверился, что оно работает. Дам немного комментариев к этой инструкции, чтобы было понятнее.

Начну с того, что свой загрузочный cd диск хотел создать давно, но руки не доходили. Обычно я просто обходился дампом системы, если хотелось сделать копию рабочей. Но каждый раз делать всё руками — руки отсохнут. Тем более, что не каждому объяснишь как сделать копию системы, как разбить и отформатировать диск, сделать диск загрузочным. Не у всех, знаете ли, есть рабочий линукс под рукой. Ну вот руки то мои взмолились и надоело всё делать по шпаргалкам — детсад ей богу.

Перейдем к практике. Установим эти замечательные пакеты.

xorriso для создания загрузочного образа
syslinux, extlinux для использования mbr загрузки
squashfs-tools для создание сжатой файловой системы
live-build для создания самой системы, которая будет зажата и помещена в образ iso

Создаем каталог для образа и распаковываем минимальную систему повыбранной архитектуре. chroot — это корневая папка, где ибудет образ.

Далее чрутимся, монтируем для эмуляции рабочей системы необходимые каталоги. Для генерации UUID устанавливаем dbus-uuidgen. Далее ставим ядро и необходимые утилиты для live загрузки. Ну и далее себе ни в чем не отказываем, устанавливаем всё что хочется. Можно и иксы установить и сделать автозагрузку этих иксов под пользователем или рутом. Позже, когда вы уже сделаете диск, его можно протестировать на виртуалке и если что не нравится тут же переделать войдя чрутом в папку chroot.

Короче, образ системы мы создали. Далее создаем папку для live загрузчика. Копируем в нее vmlinuz и inird ядра вашей созданной системы. И создаём сжатую файловую ситему из папки chroot

Далее копируем файлы, необходимые для загрузки с CD, редактируем меню загрузки.

Всё, готово! Теперь только осталось создать образ диска.

Когда вы во второй раз начнете собирать диск, то удалите файл binary/live/filesystem.squashfs, иначе комп будет долго выяснять чего же нужно добавить в гигабайтный архив. А вы будете нервничать, почесывая затылок вожидании нового ребилда.
У меня в папке livework лежит скрипт, который я запускаю, когда хочу пересоздать диск.

Если вы хотите тот-же образ системы сделать на флешке, то нет ничего проще.
Разница только в том, что вам не надо создавать образ диска, а вместо этого нужно пометить раздел с системой загрузочным (fdisk) и записать в загрузочную область диска mbr. Ну и для загрузки использовать extlinux вместо isolinux, если у вас раздел отформатирован в EXT. В примере диск /dev/sda, а в /mnt примонтирован образ системы

Меню загрузки можно скопировать с вашего ISO образа но в другой файл, так как теперь у вас не ISO а EXT.

Чуть отойду от темы. Лайв ISO образ хорош тем, что он стабилен и не изменяем. Плохо же, что он грузит оперативку. Если вы хотите освободится от сжатого образа, то загрузка у вас изменится. Итак, в случае, если у нас есть НЕ сжатый образ системы и мы хотим просто прописать его загрузку, то пишем такой конфиг.

Ну и собственно, возвращаясь к сжатой системе LiveCD, копируем папку на диск со сжатой файловой системой.

Начиная с необходимости создать свой собственный LiveCD, который я могу периодически обновлять и настраивать по своему вкусу, и зная о достижениях компьютерных технологий в области GNU / Linux, я понял, что необходимость в установке дополнительных графических программ отсутствует.

Благодаря портативным устройствам мне не нужно будет в некоторых случаях устанавливать программы для повседневного использования, такие как Gimp, Inskape, Blender, даже Libreoffice. Без этих программ, установленных в моей системе, я экономлю несколько мегабит в программном обеспечении и библиотеках.

Переносные компьютеры для Linux можно загрузить со следующего сайта:

Они даже могут создавать свои собственные портативные устройства с помощью следующих программ с того же сайта:
- AppDirAssistant: Утилита для портирования программ, перед установкой портируемого ПО необходимо запустить AppDirAssistant; такое программное обеспечение нельзя установить до запуска AppDirAssistant.
- AppImageAssistant: Утилита для сжатия структуры в один самоисполняемый файл, папки, созданные

Для создания переносных версий некоторого уже установленного программного обеспечения вы можете использовать следующую программу:

Создание переносимых устройств с помощью этого метода не будет искать зависимости, установленные в вашей операционной системе, и не будет сохранять конфигурацию в вашей пользовательской папке, если в cde-root не будет создана символическая ссылка или файл cde.options не будет обозначен строкой, подобной это:

Увидев это, мы поймем, что можем загружать или создавать нужные переносные устройства, устраняя необходимость установки дополнительных приложений вне нашей базовой системы и, таким образом, уменьшая ваше пространство при создании нашего собственного LiveCD.

разработка
Как сказано в заголовке, мы увидим, как создать собственный LiveCD с нуля, что позволит нам устанавливать нужные приложения, начиная с установки нашей базовой системы, есть несколько способов добиться этого, один с помощью установки в текстовом режиме без фактической установки графической системы, а другой Используя debootstrap, мы рассмотрим этот последний случай в этом руководстве, потому что он позволяет нам создавать нашу систему с нуля без какой-либо дополнительной программы для базовой системы.

Имея уже установленную систему GNU / Linux, мы создадим раздел с желаемым размером для установки базовой системы на указанный раздел, давайте посмотрим шаг за шагом, как создать нашу базовую систему с помощью debootstrap:

Шаг 1
Установить debootstrap

Шаг 2
Смонтируйте новый раздел в / mnt

Шаг 3
Установите базовую систему в этот раздел:

Дистрибутив должен быть изменен на имя версии GNU / Linux, которую мы хотим установить, эти файлы находятся в / usr / share / debootstrap / скриптыЕсли файла с названием дистрибутива, который они собираются использовать, не существует, просто скопируйте одну из последней версии с названием новой версии и откройте его в текстовом редакторе, а там, где указан веб-адрес, измените его на новый , пример:

Мне приходит в голову, что я скачиваю репозиторий с другого адреса, а не с официальной страницы, буду / usr / share / debootstrap / скрипты Я копирую последнюю версию этого, в этом случае я использую репозиторий Ubuntu (Oneiric), который находится в этой папке, но адрес загрузки отличается, так как он находится на жестком диске моего компьютера, мы открываем файл и меняем

Если они обнаружат более одной линии с этой формой, им придется изменить и ее.

Важно, чтобы файл внутри / usr / share / debootstrap / scripts имел ключевое имя указанного дистрибутива, если это версия Debian squeeze, у него должно быть это имя с правильными ссылками на Интернет. Не рекомендуется выполнять эту процедуру непосредственно на USB-накопителе или внешнем диске, поскольку копирование файлов в порт USB происходит медленнее, кроме того, это может привести к повреждению флеш-накопителя из-за чрезмерного копирования и извлечения пакетов, которые были выполнены в указанном разделе. .

Шаг 4
Мы меняем рабочий корень с терминала с помощью chroot и приступаем к установке необходимого программного обеспечения в соответствии с нашими потребностями.
- Смена клетки

- Смонтируйте внешний диск, содержащий репозиторий

- В той же клетке укажите, какие репозитории использовать в /etc/apt/source.list
нано /etc/apt/source.list
в моем случае с моего диска ПК

Если мы используем традиционный метод с веб-страницы и используем прокси-адрес, нам нужно будет указать ему использовать этот прокси из той же клетки с помощью следующей команды:

Шаг 5

Шаг 6
Установите локали (языки)

Шаг 7
Установите версию ядра, которую мы собираемся использовать, например:

Шаг 8
Приступите к установке необходимого программного обеспечения для правильной загрузки системы и последующего создания LiveCD.

Шаг 9
Создайте несколько важных файлов конфигурации

и добавьте это:
Имя хоста

и добавьте это:
127.0.0.1 имя хоста localhost

Шаг 10
Создайте файлы mtab и fstab.

Примечание: во избежание конфликтов рекомендуется указывать адрес корневого диска с помощью uuid, с помощью команды blkid вы можете получить uuid и заменить / dev / sdax в / etc / fstab внутри этой клетки на uuid, например, если это

Шаг 12
Установите grub, если у нас нет установленного grub в загрузочном секторе, мы можем сделать это следующим образом:

Если у вас еще не установлена ​​какая-либо система GNU / Linux, мы поступим следующим образом:
Мы вышли из клетки:

Возвращаемся в клетку:

- В случае, если файл grub уже установлен, мы просто редактируем файл
Мы вышли из клетки:

Шаг 13

Мы устанавливаем предпочитаемую среду рабочего стола, а также желаемый диспетчер сеансов. В моем случае я установил среду рабочего стола e17 (enlightenment) вместе с проводником файлов spacefm и, таким образом, создал свой собственный LiveCD для создания резервных копий, а также я включил программу debootstrap для установки моих новых операционных систем непосредственно из репозиториев без необходимо использовать другие LiveCD или установки в текстовом режиме.

Вы можете выбрать среду рабочего стола по своему усмотрению, а также набор приложений для использования.

Менеджер сеансов.

- В этом случае мне не нужен диспетчер сеансов, который запрашивает у меня имя пользователя и пароль, поскольку его цель - напрямую запустить сеанс, для этого мы создаем текстовый файл в / etc / startX

Скопируйте в этот файл следующее

Чтобы указать системе запустить этот файл вместе с системой, мы выполняем с консоли следующее.

Это сделано для того, чтобы избежать использования оконных менеджеров, таких как lxdm, gdm и других.

Перезагружаем ПК с новой установкой.

Поскольку я указал для этого установку spacefm, я загружаю исходный код с этой страницы.

Устанавливаю зависимости этого ПО:

Распаковываем указанный файл

При этом, если не было проблем, у нас будет установлен spacefm.

Шаг 14

Скачайте remastersys и установите.

Примечание. Ubiquity - это графический установщик для ubuntu, но устанавливать его для последующей установки LiveCD на ПК не обязательно.

Шаг 15

Создание LiveCD с remastersys.

В Remastersys есть 2 режима создания LiveCD: один сохраняет конфигурацию всех пользователей, а другой удаляет всю конфигурацию и регистрацию другого пользователя, что мы привыкли видеть в традиционных LiveCD Ubuntu.

Для создания LiveCD сохраните ваши настройки.

- Для создания LiveCD без пользователей или конфигураций (рекомендуется).

Примечание. Эти файлы будут созданы в / home / remastersys, чтобы настроить имя пользователя, а другие пользователи могут редактировать файл /etc/remastersys.conf. Поскольку пользователь root не удаляет пароль, рекомендуется не использовать какой-либо компрометирующий ключ в качестве пароля root.

Шаг 16

Установка любого Debian LiveCD или производных, сделанных с помощью remastersys.
Сначала убедитесь, что ваш раздел помечен как предназначенный для плавания с помощью gparted или parted следующим образом:

Примечание. Число после набора соответствует номеру раздела этой памяти.

- Устанавливаем iso на cd dvd, или, если хотите, на usb-устройство следующим образом (все это как root):

Шаг №16.1.

Сначала мы начинаем с LiveCD или usb, если он у нас есть в памяти.

Если необходимые разделы, такие как swap (область подкачки), не созданы, а также раздел размером более 1 ГБ или более в зависимости от размера livecd.

Примечание-Важно: / dev / sdax относится к тому, является ли это / dev / sda1 или другим числом, мы можем проверить это, набрав blkid в консоли.

Шаг №16.2.

Смонтируйте раздел, созданный в / mnt

Шаг 16.3.

Скопируйте все файлы из папки / rofs в / mnt

Примечание: все это как пользователь root.

Шаг №16.4.

Шаг №16.5.

Подготовьте систему к правильной загрузке grub.

Шаг №16.6.

Не выходя из клетки chroot, мы подготавливаем необходимые файлы / etc / fstab и / etc / mtab.

Примечание: при необходимости создайте нового пользователя, кроме root, если хотите, через консоль с помощью следующей команды:

Выводы

На этом это обширное, но простое руководство закончено, которое вы можете применить на практике, если хотите, и поделиться своим livecd с друзьями, качество всех livecd / dvd зависит от собственных знаний пользователя, внедрения новых технологий которые экономят место на жестком диске.

Как вы видели, нет необходимости использовать unetbootin для преобразования LiveCD в live usb, если вы используете spacefm, у вас будет все необходимое в отношении графического приложения, независимо от того, конвертировать ли видео, аудиофайлы и другие, вам понадобится только программа, которая выполняет это из командной строки и создает или загружает плагин для выполнения этих задач.

Содержание статьи соответствует нашим принципам редакционная этика. Чтобы сообщить об ошибке, нажмите здесь.

Полный путь к статье: Из Linux » Учебники / Руководства / Советы » Шаги по созданию LiveCD - DVD - USB с нуля в Debian и его производных.

Необходимо сделать LiveCD (Debian) с установленными и настроенными программами, т.е. вставил CD/флэшку, система загрузилась в ОЗУ и можно работать (даже без участия hdd). Как можно сделать LiveCD с уже установленного Linux?

В интернете попадались варианты, когда генерируется образ (например, binary-hybrid.iso), а потом с помощью добавления скриптов в момент загрузки система и настраивается. Но есть ли вариант, когда можно сделать LiveCD с уже установленной системы?


Там готовые LiveCD образы со своими программами и настройками. Вот хотелось бы такой же образ, только сделать под себя (свое окружение, программы, скрипты и т.п).

Как сделать такой же образ, только с установленного и настроенного Linux (Debian)?


Делай, тебе никто не запрещает.

За основу можешь взять любой LiveCD, изучить как они работают, тоже самое тебе нужно реализовать в твоём LiveCD.

Как работает LiveCD, на CD / DVD диске есть squashfs архив, это специальный архив, который может монтироваться, но только в режиме чтения.

Но для работы любой системы нужно иметь возможность записи.

Поэтому в сценария в initramfs прописаны команды, которые монтируют squashfs архив, потому монтируют отдельно tmpfs для записи и далее каскадно монтируют посредством aufs / overlayfs / unionfs squashfs как нижний слой для чтения и tmpfs как верхний слой для записи. Т.е. получается такой «бутерброд» из двух файловых систем, при чтении считывание будет проходить из squashfs, а запись новых файлов или изменённых на tmpfs.

После того как скрипты всё смонтируют будет произведён switch_root или pivot_root, т.е. переключение корня в смонтированный «бутерброд».

Т.е. берёшь и изучаешь как работает LiveCD и делаешь по аналогии.

Если у Debian есть уже готовый LiveCD, то ты можешь взять, распаковать squashfs образ, сделать в него chroot, поставить нужные программы, сделать нужные настройки и затем опять запаковать в squashfs архив, а потом заменить твоим файлом squashfs в LiveCD от Debian.

сделать LiveCD с уже установленного Linux?

  1. Запустить live в режиме «persistent». Режим позваляет сохранять все изменения, как в установленной системе.
  2. Использовать системы, которые как-раз расчитаны на такую работу, например Porteus.
  3. Из установленной системы сделать live. Дебиан не делал. А в *бунту делаю так


Согласен, тем более сейчас он собирается на пакетной базе Debian, хоть и называется slax.

В антиксе встроена лайфпеределывалка. Тот же дебиан. Тоже можно пробовать.

с помошью debootstrap собираешь систему, заворачиваешь в образ

делаешь initrd c поддержкой overlayfs, tmpfs и что там еще нужно

добавляешь в initrd свой скрипт, который монтирует носитель, разворачивает в overlay твой образ-RO+tmpfs-RW

можно еще придумать механизм сохранения изменений

ps: ну а если велосипед изобретать не охота, то тот же Slax

а потом заменить твоим файлом squashfs в LiveCD от Debian

Подскажите, когда я монтирую iso образ LiveCD, то он сразу предупреждает, что недоступен для записи. В результате я копирую из него все содержимое в другую папку из которой в дальнейшем и делаю новый iso образ, но с него система не загружается и выдает DISK BOOT FAILURE.

Из установленной системы сделать live. Дебиан не делал. А в *бунту делаю так

Т.к. я в Linux совсем новичок, сразу споткнулся на отсутствие папок opt и др. в Debian.


Но есть ли вариант, когда можно сделать LiveCD с уже установленной системы?

В поставке MX Linux (Debian-based дистр) есть утилита MX Snapshot — она делает то, что тебе надо.

Зачем вообще в наше время потребовался LiveCD?

Зачем вообще в наше время потребовался LiveCD?

Удобно, после перезагрузки всегда новая система.

Зачем вообще в наше время потребовался LiveCD?

«…CD» нужен толко в том случее, если требуется запись на болванку. В остальных случаях от него только лишние сложности и ограничения. А вот «Live…» может быть весьма полезен.

делаю новый iso образ, но с него система не загружается

А ты делаешь исо-образ загрузочный? Ты правильно его делаешь? И в продолжение предыдущего ответа. Если ты сделал загрузочный исо-образ, это не значит, что, записав его на флешку, ты получишь загрузочную флешку.

сразу споткнулся на отсутствие папок opt и др. в Debian.

Каталог /opt. В системе он есть. В исо-образе - нет. Во первых, если нет, то создай. Во вторых, имя каталога в принципе может быть любое. Я для себя решил, что пусть будет /opt. Потому что он уже есть во многих системах. И по спецификации FHS вполне подходит для этих целей. Обычно в него помещаю исо-образы и другие файлы «живых систем» . Например, конфиг груб составлен так, что ищет файлы в этом каталоге. Если изменишь имя, то нужно будет вносить изменения в конфиг. Если говорить о Debian, то столкнешься с более сложными препятствиями. Например, программа, ответственная за работу «живой системы» в Debian называется - live, а в *buntu - casper. И это не единственный параметр, которыми они отличаются. Эти изменения придется учитывать в конфиге груб.

А ты делаешь исо-образ загрузочный? Ты правильно его делаешь?

Пробовал по-разному. Например, есть скачанный iso образ Debian Live с оф. сайта. Копирую его на флэшку (cp liveimage.iso /dev/sdb) - все загружается (через dd тоже работает).

Далее в качестве эксперимента этот образ монтирую, копирую в другую папку и собираю:

Записываю полученный новый образ на флэшку: cp newliveimage.iso /dev/sdb - и выдает ошибку.

P.s.: тестовый пример набирал по памяти, может где-то ошибся, но в целом так.

genisoimage -J -R -o newliveimage.iso -no-emul-boot -boot-info-table -b isolinux/isolinux.bin -c isolinux/boot.cat /tempimage

Для исо-образа может быть и правильно, На память все параметры не помню, давно не делал. А вручную не делал еще давнее.

Записываю полученный новый образ на флэшку

И дальше я правильно сказал. С флешки этот образ грузиться не будет, т.к. в нем нет соответствующего загрузчика. Чтобы сделать загрузочную флешку простым копированием исо-обрза, образ делают с гибридной таблицей разделов. Как это сделать конкретно, я не знаю. Это я и назвал бесполезной тратой сил и времени на создание образа. Если не нужно писать на болванку, а достаточно только загрузка с флешки или хдд, то и незачем заморачиваться с исо. Совет. Осваивай груб. Пригодиться в любой ситуации и никакие другие загрузчики будут не нужны. Даже если исо-образ не гибридный, то во многих случаях можно загрузиться из исо-образа, не записывая его на флешку. В этом случае и образов может быть не один, а сколько физически поместится.

Если не нужно писать на болванку, а достаточно только загрузка с флешки или хдд, то и незачем заморачиваться с исо. Совет. Осваивай груб.

Но, как я понимаю, для это ведь нужен винт с прописанным grub-загрузчиком? Т.е. сразу после БИОСа управление передается grub-загрузчику и там уже происходит перенаправление. А как быть, если вообще без винта или на другом компьютере, где grub не прописан?

Получилось все-таки запустить с флэшки, скачал mbr с оригинального образа и добавил в новый.

Ну на флешку закатать систему - дело не хитрое. Хотя если опыта с линуксом мало, придется почитать кое-какие мануалы.

Вот сделать неизменяемый образ немного дольше, придется с точками монтирования повозиться. Смысла в нем, правда, не вижу сейчас. Вручную никогда такой конфиг не делал. В те времена, когда cd были актуальны, мне кноппикса хватало.

Deleted ( 24.01.20 15:17:12 )
Последнее исправление: Deleted 24.01.20 15:17:45 (всего исправлений: 1)

Вот сделать неизменяемый образ немного дольше

Так неизменяемый образ это же как раз LiveCD или я неправильно понимаю?

P.s.: с Линуксом ковыряюсь от силы неделю.

для это ведь нужен винт с прописанным grub-загрузчиком?

У тебя система установлена? Ты ее запускаешь грубом? Если оба ответа да, то и начни с того, чтобы им ты мог загрузить все, что угодно, любую систему, любой образ, с любого диска-раздела. А потом этот конфиг можно применять с любым грубом, на любом устройстве.

Что-то будет, например флешка. От винта отличается только названием. Размещение и работа груба ничем не отличается. В свое время, когда флешек еще не было, в загрузочных исо тоже использовал груб, никаких isolinux. Для режима совместимости с БИОС груб устанавливается одной командой на любое устройство. А в режиме ЕФИ и того проще - простым копированием файлов. Собственно, загрузочной называется флешка, на которой установлен загрузчик. Все остальное по мере необходимости. Нужен исо, скопировал на флешку исо. Или вообще, загрузчиком флешки загрузить исошник, находящийся где-то на харддиске, или систему, установленную на чужом компьютере, которую свой загрузчик запустить не может.

Ну можно сделать неизменяемую флешку например. При перезагрузке все изменения забывает.

Понял, спасибо, буду с grub знакомиться, т.к. получается универсальный загрузчик. Тем более у меня с LiveCD, как я понял, все равно потом управление передается grub (меню в LiveCD и выбор режима).

Ну можно сделать неизменяемую флешку например. При перезагрузке все изменения забывает.

Так это же LiveCD, точнее Live-образ записанный на флэшку. У меня как раз получилось скачать оригинальный Live-образ, распаковать-запаковать и обратно сделать загрузочную флэшку. Все в оперативке получается, при перезагрузке как новая система.

А не подскажите, chroot только из консоли можно изменения делать, привязаться к графической оболочки нет возможности? Т.е. чтобы саму систему можно было «визуально» настраивать.


Упаковать в образ и запустить на QEMU или Vrtualbox.

А не подскажите, chroot только из консоли можно изменения делать, привязаться к графической оболочки нет возможности? Т.е. чтобы саму систему можно было «визуально» настраивать.

Тут дело в твоем непонимании. Ты должен запустить liveCD, настроить его под себя и сохранить это все в новый образ liveCD.

Технически можно и из chroot-а запустить иксы (графическую оболочку), но скорее всего ты упрешься в аппаратные ограничения компьютера – не хватит оперативной памяти или ещё что-нибудь пойдёт не так.

Подскажите, когда я монтирую iso образ LiveCD, то он сразу предупреждает, что недоступен для записи.

Конечно, iso образ - это файл, содержащий файловую систему iso9660, она предназначена для записи на носители информации с возможностью доступа только для чтения и как следствие iso образ (iso9660) тоже доступна только для чтения.

В результате я копирую из него все содержимое в другую папку из которой в дальнейшем и делаю новый iso образ, но с него система не загружается и выдает DISK BOOT FAILURE.

Ты в общем правильно делаешь, только тебе нужно погуглить как создавать iso образ, который может загружаться.

В случае EFI загрузки он и так должен грузиться в EFI режиме, в случае наличия в корне iso образа директории efi с файлами загрузчика. А для загрузки в legacy (BIOS) режиме тебе нужно разобраться как создавать образ, а точнее с какими ключами вызывать утилиту mkisofs для создания загружаемого образа.

Т.к. я в Linux совсем новичок, сразу споткнулся на отсутствие папок opt и др. в Debian.

Папки opt, а точнее, видимо /opt могут быть и в Debian, обычно в эту директорию устанавливаются сторонние программы, устанавливаемые из своих установщиков, а не из пакетов в репозитории дистрибутива.

Удобно, после перезагрузки всегда новая система.

В Linux именно система, т.е. системные файл, файлы программ, прочего, не изменияются, пишутся только логи в /var/log и изменяются файлы в директории профиля пользователя.

Записываю полученный новый образ на флэшку: cp newliveimage.iso /dev/sdb - и выдает ошибку.

А зачем ты собираешь iso образ, если потом всё равно грузишься с флешки?

Тебе нужно поставить любой загрузчик на флешку, а далее прописать в загрузчике конфигурацию для запуска Live системы. Т.е. вызов ядра и Initrd, в остальном нужно создать соответствующу структуру директорий и файлов. Возможно, нужно придётся прописать некоторые параметры, что бы Live система, а точнее ядро и Initramfs находила нужные файлы на флешке.

Но, как я понимаю, для это ведь нужен винт с прописанным grub-загрузчиком? Т.е. сразу после БИОСа управление передается grub-загрузчику и там уже происходит перенаправление. А как быть, если вообще без винта или на другом компьютере, где grub не прописан?

Что в случае iso образа, что флешки, что диска, в начале запускается загрузчик, а потом он в соответствие со своей конфигурацией загружает образ ядра и initramfs в память и передаёт ядру управление. Далее ядро монтирует Initramfs и скрипты в Initramfs уже ищёт squashfs файл и подключают его и далее запускается Live система.

Т.е. iso образ ТЕБЕ НЕ НУЖЕН, в случае, если ты всё равно грузишься с флешки. Разберись как поставить загрузчик, например grub на флешку и как в нём прописывать конфигурацию для загрузки ядра и Initramfs Live системы.

Так неизменяемый образ это же как раз LiveCD или я неправильно понимаю?

Live система - это система, которая в качестве файловой системы подключает squashfs образ, который доступен только для чтения, а изменения (запись) пишутся в оперативную память. Т.е. без разницы откуда у тебя загружается система и подключается squashfs файл, с флешки или с диска, без разницы.

А не подскажите, chroot только из консоли можно изменения делать, привязаться к графической оболочки нет возможности? Т.е. чтобы саму систему можно было «визуально» настраивать.

Если нужно сделать просто chroot в графической оболочке, то запусти терминал и выполни в нём команду chroot.

А если ты хочешь запустить из chroot окружения графическую оболочку Live системы, то это будет несколько сложнее и тебе с этим разбираться не нужно.

Тебе достаточно даже загрузиться в Live систему, далее поставить нужные там пакеты, сделать нужные настройки профиля. И далее можешь сделать архив с профилем и потом его будешь использовать при модификации squahfs файла.

Т.е. потом подключаешь squashfs файл, копируешь из него всё файлы, делаешь chroot в скопированное место, ставишь нужные пакеты и подменяешь профиль.

Читайте также: