Linux свой загрузочный диск

Создание загрузочной флэшки с Linux

Доброго времени суток, товарищи!

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

Часть первая. Определяем методику установки.

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

Во-первых, необходимость конвертировать .vdi в .img. С восьмигигабайтной флэшкой, может быть, это быстро, легко и много места не займёт, а в моём случае, с 32Gb терзать винчестер RAW-файлом каждый раз, когда я захочу скинуть систему с виртуалки на флэшку, было бы киберсадизмом. И мазохизмом, потому что долго.
Во-вторых, для следования этому сценарию требуется Linux в качестве основной системы. Пишу эти строки из-под Ubuntu, но, тем не менее, хотелось бы иметь способ, подходящий и виндобедолагам, и маководам.

В комментариях к означенному топику товарищи говорили, что Ubuntu прекрасно ставится на флэшку «из коробки». Так-то оно так, но и этого мне делать не хотелось по следующим причинам.

Во-первых, износ флэшки. Ибо придётся ставить много пакетов, ядер и прочих радостей жизни.
Во-вторых, время. Я предполагал, что на установу всего необходимого в виртуалку и последующий перенос на флэшку уйдёт заведомо меньше времени.
В-третьих, всё это время штатная работа ЭВМ в основной системе будет невозможна.
В-четвёртых, я склонялся к виртуализации из-за удобства резервного копирования. Всё-таки скопировать vdi с винта на тот же винта несколько удобнее, чем бинарный образ с флэшки на винт, не находите?
В-пятых, интернет. Общеизвестно, что Ubuntu комфортнее ставится, когда у неё есть хорошее интернет-подключение. Да и тратить время на настройку интернет-подключения перед самой установкой как-то не хотелось. Ибо это опять пляски с бубном вокруг MAC-адреса… А каково тем бедолагам, у которых провайдер вообще не признаёт линукс системой, например, клиентам Freedom? Им вообще, чтобы настроить интернет под Linux, требуется установить дополнительные пакеты и основательно погуглить… неизвестно с чего. С ягеля.

Таким образом, требовалось найти метод, который позволял бы переносить Linux, установленный на виртуальной машине, на флэшку — напрямую. Метод был вполне найден и изложен ниже.

Часть вторая. Готовим всё необходимое.

ЭВМ с ОС, на которой установлена Virtualbox, есть USB-порт и настроен проброс USB-устройств в Virtualbox.
Образ устанавливаемой ОС Linux.
Виртуальная машина в Virtualbox c ОС, имеющей команду dd (полагаю, справится любой Linux LiveCD, хотя я использовал мимобеглую Fedora, которую держу на виртуалке). Далее — вспомогательная виртмашина.
Место на винчестере.
Флэшка.
Прямые руки.
Бутылка чего-нибудь для поддержания боевого духа (я использовал газированный напиток «Колокольчик»).

Часть третья. Устанавливаем Linux на виртуальную машину.

1) Сначала узнаём точный размер флэшки. Байт влево, байт вправо — растрел риск критической ошибки. Да-да, оставлять на флэшке лишнее место тоже не следует.

2) Теперь создаём vdi-образ жёсткого диска узнанного размера в Virtualbox. Можно динамический, в том и прелесть.

3) Теперь создаём виртуальную машину. ОС — та, которую будем ставить. Загрузочный носитель — образ установочного диска устанавливаемого дистрибутива. Памяти — сколько не жалко.

4) Устанавливаем Linux на виртуальную машину. Рекомендации простые — swap не делать, дабы не губить флэшку. (Впоследствии мы рассмотрим этот вопрос подробнее.) Я, например, кинул всё место в корень. Также на данном этапе можно установить несколько дистрибутивов, если Вы знаете, как они уживаются на одном винчестере. Я предпочёл этого не делать.

Читайте также:  Kali linux vmware tool

5) Настраиваем Linux на виртуальной машине. Так как я планировал работать на нём иногда — длительное время, иногда — в критической ситуации (где-то не грузится ОС, загрузиться хотя бы с флэшки), то настоятельно рекомендую установить легковесное DE и побольше ядер. Также не погнушайтесь сделать swap отдельным файлом, размером 192 Мб или около того. Lubuntu Netbook этого хватает, например. Впрочем, здесь ориентируйтесь на минимальный размер оперативки, при котором Ваш дистрибутив и DE грузится и позволяет без падений открыть консоль. Сделать swapoff -a всегда успеете, а возможность загрузиться на ЭВМ со 128 Мб оперативки иногда критична.

Часть четвёртая. Переносим Linux на флэшку.

1) К вспомогательной виртмашине подключаем vdi с переносимым Linux и флэшку. Грузимся в основную ОС вспомогательной виртмашины.

2) В консоли ОС вспомогательной виртмашины набираем:

dd if=/dev/sdb of=/dev/sdc bs=128M

Здесь sdb — vdi-диск с подготовленным линуксом, sdc — флэшка.

Если требуется произвести перенос частями, в несколько этапов — man dd, внимание на параметры skip, seek и count.

3) Дожидаемся переноса данных на флэшку.

4) Контрольная загрузка с флэшки.

В принципе, задача выполнена. Дополнительное конфигурирование загрузчика, например, для загрузки сторонних ISO, остаётся на усмотрение читателя. я же осмелюсь лишь посоветовать установить Virtualbox на флэшку и при необходимости пробрасывать в неё требуемые ISO и винчестер.

Прошу не стесняться и задавать вопросы в комментариях. Если что-то непонятно, с удовольствием расскажу и отвечу.

Источник

Cоздание своего дистрибутива Linux с помощью Remastersys

Содержание

ВВЕДЕНИЕ

Прежде чем делать свою сборку, Вы должны определить цель и задачи своего творения. Иначе сборка может не получить своё предназначение в этом мире и остаться малоизвестной.Итак, цели и задачи определены и Вы решились сделать сборку своей системы.
Для начала Вы должны либо в Virtualbox (или в другой виртуальной машине), либо у себя на компьютере установить операционную систему со всеми настройками, со всеми программами, которые считаете нужными иметь в Вашей сборке.
Теперь, когда всё настроено и установлено, будем создавать свою сборку. Для этого нам в первую очередь необходимо свободное место на разделе с папкой /home не менее 6 ГБ.
Для создания сборки есть несколько инструментов. Мы будем говорить о Remastersys, который позволяет создать полноценную сборку даже не очень продвинутому пользователю.
Все действия дальше описаны для Ubuntu, но подходят для всех Debian совместимых дистрибутивов.

1. УСТАНОВКА

Для установки Remastersys необходимо скачать и установить вручную , например, через программу gdebi, 2 пакета: remastersys_3.0.x-2_all.deb и remastersys-gtk_3.0.x-2_all.deb
Для Ubuntu 10.04 — 14.04 скачать отсюда
Для Ubuntu 16.04 — 17.04 скачать отсюда
Для Ubuntu 17.10 скачать отсюда
Для Ubuntu 18.04 скачать отсюда

2. ПЕРВЫЕ ШАГИ

Запускаем Система ⇒ Администрирование ⇒ Remastersys (Я использую Мате 1.6. С другими рабочими столами расположение может отличаться). Видим вот такое окно:

Коротко об основных кнопках:
Backup — полная резервная копия установленной системы, включая пользовательские данные и настройки. Сохраняется полностью все файлы в домашних каталогах пользователей системы.
Dist — резервная копия только установленной системы, БЕЗ пользовательских данных. Самый оптимальный вариант для создания сборки системы. Создается структура загрузочного диска и образ диска(iso).
Distcdfs — то же, что и Dist, но создается структура загрузочного диска без создания образа диска(iso).
Distiso — создает образ диска(iso), при условии готовой структуры загрузочного диска. Применяется только после Dist или Distcdfs.
Очистить — очистить временную папку программы. Используется для очищения папки перед созданием нового образа.

Переходим во вкладку Settings:

Здесь мы видим параметры нашей будущей сборки. Рассмотрим самое необходимое.
Username — имя пользователя по-умолчанию при входе в систему LiveCD.
CD Label — метка диска. Высвечивается название при загрузке диска в CD-привод. Ограничение 32 символа, учитывая пробелы.
Filename — имя файла созданного образа.
Остальное пока трогать не будем.
Итак зададим:
— Имя пользователя в строке Username, скажем, alex;
— Придумаем название нашей сборки и запишем в CD Label, допустим, AlexBuntu;
— В строке Filename запишем имя файла сборки, AlexBuntu-12.04-x32.iso.
Должно получится следующее:

Галочка в строке Show install icon on Backup mode desktop создает иконку установки Вашей системы на рабочем столе. Опция работает на всех основных рабочих столах.

Читайте также:  Запрет обновления windows 10 через gpo

Теперь переходим на вкладку Actions:

Нажимаем кнопку Dist. Появится окно:

Жмем ОК. Появится окно:

Всё, теперь можете спокойно и не торопясь попить чай или кофе. Минут через 15 — 60 (всё зависит от мощности ПК) появится сообщение:

Поздравляю Вас с первой Вашей сборкой!
Файл сборки находится по адресу /home/remastersys/remastersys и имеет то имя, которое Вы дали своей сборке. В моем случае это файл AlexBuntu-12.04-x32.iso. В этой же папке есть еще текстовый файл контрольной суммы образа с расширением md5, в моем случае файл AlexBuntu-12.04-x32.iso.md5.
Теперь Вы можете записать свою сборку на диск и насладиться своим творением. Возможно при входе в систему с LiveCD придется ввести имя пользователя, которое было выбрано при создании образа, в моем случае это alex. Пароль оставьте пустым.

3. РАСШИРЕННЫЕ ВОЗМОЖНОСТИ

Многих устроят выше описанные главы. Если Вы всё еще читаете, то Вы действительно хотите познать все тонкости создания сборки, приближенной к профессиональной.
В первую очередь коснемся вкладки Settings и рассмотрим остальные нужные строки.
Working directory — рабочая папка программы. Вы можете ее переназначить в любое место и на любой раздел.
Ну и самая важная строчка настроек Squashfs options.
Remastersys использует для создания дистрибутива возможности SquashFS. Чтобы понять весь смысл данной строки предлагаю Вам рускоязычный блог , в котором прекрасно изложен весь смысл этого мощнейшего инструмента.
После изучения всех возможностей добавим в нашу строчку Squashfs options следующие опции: -comp xz.
Строчка должна иметь вид:

Эта опция устанавливает алгоритм компрессии xz вместо gzip по-умолчанию, что сожмет нашу сборку примерно на 20-25% лучше.Эта опция доступна с версии squashfs 4.2 и, например, в Ubuntu 10.04 она не доступна. В версии Ubuntu 12.04 установлена нужная версия 4.2 squashfs.
Чтобы проверить, доступна ли эта опция, наберите в терминале mksquashfs. Если вы видите похожее на следующее:

mksquashfs
SYNTAX:mksquashfs source1 source2 … dest [options] [-e list of exclude dirs/files]

Filesystem build options:
-comp select compression
Compressors available:
gzip (default)
lzo
xz

то всё в порядке и использовать опцию -comp xz можно смело.

4. ЗАГРУЗОЧНОЕ МЕНЮ

По-умолчанию Remastersys создает загрузочное меню сборки довольно-таки скучное и однообразное. Одно только радует, что меню достаточно функциональное. Я долго искал простой способ включения своего меню без пересборки всего образа. Все дальнейшие действия не были задуманы авторами Remastersys и являются своего рода моими уловками и обходными способами, к которым я шел несколько месяцев различными экспериментами. Поэтому этот раздел не претендует на правильную инструкцию по Remastersys.
Итак. Вот такое загрузочное меню мы имеем в стандартной установке:

Вот такое меню можно получить после некоторых манипуляций:

Такое загрузочное меню используется в одной из моих сборок. Как видим, картинка изменена и меню русифицировано. Кроме всего прочего я убрал название дистрибутива из меню и написал его в GIMPe яркими красками. Сейчас мы с Вами и займемся заменой картинки и русификацией меню. Для этого нам потребуется обратить внимание на содержимое файлов в папке /home/remastersys/remastersys:

Здесь нас интересует папка ISOTMP. В этой папке хранятся временные файлы программы Remastersys. Этим мы и воспользуемся. Переходим в эту папку:

Структура данной папки очень похожа на структуру образа диска. Не хватает только папки .disk. В папке isolinux хранятся файлы загрузочного меню. Заходим в нее:

Рассмотрим файлы загрузочного меню:
splash.png — фоновое изображение. Размер изображения 640х480 точек на дюйм.
isolinux.cfg — конфигурационный файл загрузочного меню.
vesamenu.c32, isolinux.bin — системные файлы.
Смело меняем фон загрузочного меню на свой. Тип файла и название должно остаться таким же. Размер изображения обязательно 640х480 точек на дюйм.
Далее я выложил листинг отредактированного конфигурационного файла isolinux.cfg. За основу взят стандартный конфигурационный файл Remastersys. Я постарался максимально понятно написать комментарии к строкам. Почти вся информация в интернете на английском языке и очень краткая, поэтому много времени потратил на эксперименты, чтобы узнать, что и как работает.

Читайте также:  Какие есть видеоплееры для windows

Кодировка файла isolinux.cfg должна быть обязательно CP 866. Можно сохранять и редактировать в Cooledit (текстовый редактор Midnight Commandera), в OpenOffice и др. Взять мой отредактированный файл isolinux.cfg можно здесь.
Кроме этого нужно положить в папку isolinux шрифты поддерживающие русский язык. Взять можно отсюда.
В папке должно получится следующее:

Проверьте права доступа файлов должно быть следующее для всех 5 файлов:

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

Нажимаем кнопку Distiso. Процесс пересборки образа пойдет намного быстрее, всего 1 — 5 минут, потому что основные файлы системы пересобираться не будут. На выходе будут те же файлы образа и контрольной суммы, но уже с Вашим неповторимым красивым меню.

5. ОЧИСТКА СБОРКИ ОТ «ЛИШНЕГО»

Прежде всего уточню, что речь пойдет не об удалении приложений из сборки, а об удалении временных файлов из кэша, коих великое множество на сотни мегабайт.
Перед очисткой системы установите пакет ubiquity-frontend-gtk.
В первую очередь воспользуемся стандартными инструментами очистки системы. Открываем терминал и пишем:

Первая команда автоматически удалит все неиспользуемые пакеты.
Вторая команда удалит скачанные файлы пакетов в архиве.

Теперь воспользуемся программой Synaptic и удалим все ненужные настройки, оставшиеся после удаленных пакетов. Открываем Synaptic. В открывшемся окне внизу выбираем группу фильтров «Состояние».
Выбираем фильтр «Не установленные (остались файлы настроек)», выделяем все пакеты, попавшие в этот фильтр. Правой клавишей мыши на выделенном выбираем в меню «отметить для полного удаления» и жмем «Применить».

Здесь же в этой группе фильтров удалите пакеты под фильтром «Установленные (авто удаляемые)«
Если фильтры «Не установленные (остались файлы настроек)» и «Установленные (авто удаляемые)» отсутствуют, значит система уже прошла чистку и под данные фильтры ничего не попадает.

Следующий инструмент очистки — программа BleachBit из стандартного репозитория. Интерфейс программы на русском языке, очень доступен для понятия, что Вы будете делать. Также перед очисткой есть кнопка «Предпросмотр», которая покажет, что будет удаляться, и позволяет сделать изменения до удаления. Программа очень эффективно чистит систему от ненужных файлов , а также умеет удалять неиспользуемые языковые файлы. В моей сборке программа удалила около 300 МБ.

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

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

/var/backups
/var/cache/apt/ — не удалять папку archives
/var/cache/apt/archives — не удалять папку partial и файл lock
/var/cache/apt-xapian-index
/var/cache/flashplugin-installer
/var/crash
/var/lib/apt/lists — не удалять папку partial и файл lock
/var/lib/update-notifer/ — не удалять папки package-data-downloads и user.d
/var/lib/update-notifer/package-data-downloads — не удалять папку partial и файл lock
/var/lib/update-notifer/user.d — удалять все файлы обязательно, иначе выдает окно ошибки
/var/tmp

Remastersys в начале установки копирует содержимое папки /var в свою временную папку /home/remastersys/remastersys/dummysys/var, откуда потом и включает в сборку файлы. Учитывая, что после копирования Remastersys проводит еще подготовительные операции, у нас есть примерно 5 минут удалить лишнее из папки /home/remastersys/remastersys/dummysys/var. Тем более, что даже, если мы удалили из папки /var/cache/apt файлы, они всё-равно создаются и копируются в папку /home/remastersys/remastersys/dummysys/var/cache/apt , утяжеляя сборку.
В эти же 5 минут у Вас есть возможность почистить папку /root. В ней оставляйте только те файлы, которые есть в папке /etc/skel и папку Desktop.

6. СОВЕТЫ И РЕКОМЕНДАЦИИ

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

Удачи! И пусть мир узнает Ваши творения!

Источник

Оцените статью