Calculate linux сборка ядра

8. Сборка ядра со своей конфигурацией¶

Введение¶

Calculate Linux работает на ядре Linux с длительным сроком поддержки (longterm). Большая часть драйверов вынесена в модули, что позволяет ядру оставаться компактным в размере без потери функционала. Для серверов и десктопов используются различные настройки и патчи. В отличие от других ядер из портежей, пакет sys-kernel/calculate-sources , используемый по умолчанию в дистрибутивах Calculate Linux, компилируется и устанавливается в систему, как и большинство других пакетов, высвобождая место путём удаления за собой большей части исходного кода.

Зачем вам может понадобиться изменять настройки ядра? Оптимизируя ядро, вы можете добиться прироста производительности, поддержки своего железа, высвобождения памяти, снижения энергопотребления, а так же ускорения загрузки системы. Помимо прочего, изучение ядра даёт неплохие знания в понимании устройства работы системы.

Экспериментировать с ядром можно и нужно. Эта статья поможет вам научиться изменять настройки ядра, устанавливать и настраивать различные модификации ядер, использовать свои патчи.

cl-kernel¶

Для сборки ядра служит скрипт cl-kernel, входящий в состав пакета sys-apps/calculate-toolkit . Программа написана на Bash и прозрачно интегрирована с системой шаблонов утилит Calculate.

Особенности

  1. Поддержка сборки различных ядер: sys-kernel/calculate-sources , sys-kernel/gentoo-sources , sys-kernel/vanilla-sources и др.
  2. Поддержка создания ядра, как с использованием initramfs, так и без него.
  3. Создание шаблона настроек ядра со всеми внесёнными изменениями.
  4. Импорт готовых настроек ядра в шаблон.
  5. Прозрачная миграция настроек между версиями ядер.
  6. Интеграция с утилитами Calculate для использования шаблонов настроек во время установки ядра calculate-sources .
  7. Создание резервных копий настроек.
  8. Локализация на русский и французский языки.

Прежде чем приступить к дальнейшим действиям, убедитесь, что у вас достаточно свободного места на диске. Исходный код ядра распаковывается в директорию /usr/src . Посмотреть свободное место можно, выполнив:

Обязательно позаботьтесь о наличии резервной копии ядра, с которого всегда можно загрузить систему. Для этого эксперименты удобно проводить с альтернативными пакетами ядер, либо с ядром calculate-sources не установленной версии.

Сборка ядра¶

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

Для примера остановим свой выбор на «ванильном» ядре — оригинальной версии, поддерживаемой Линусом Торвальдсом.

Ядро в портежах отмечено маской, поэтому понадобится сперва её снять:

USE-флаг «symlink» следует устанавливать, если вы используете проприетарные пакеты, такие как nvidia-drivers , ati-drivers , virtualbox-bin или broadcom-sta . В этом случае после установки ядра следует собрать их модули, выполнив:

Проверьте, что ваше ядро стало доступно:

Обратите внимание на список. В отличие от calculate-sources (и других ядер), ванильное ядро не содержит слова «vanilla». Красная звёздочка слева версии ядра означает, что установленное ядро не содержит полной версии исходного кода. Звёздочка справа отмечает используемое по умолчанию ядро. Оно определяется по символической ссылке /usr/src/linux .

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

Здесь важно понять особенность работы cl-kernel и её отличие от более ранней версии этой программы.

  1. Скрипт cl-kernel работает с конфигурационным файлом ядра, полученным из шаблона.
  2. По завершении работы программа проанализирует изменения, выполненные пользователем, и создаст новый пользовательский шаблон.
  3. Для ядер, отличных от calculate-sources , нет шаблонов настроек, поэтому готовый шаблон будет содержать отличия от настроек ядра по умолчанию.
  4. С опцией » —convert » программа возьмёт за основу настройки текущего ядра (из /boot или /proc ), если в директории с исходным кодом ядра нет файла » .config «.

Во время выполнения скрипта будет вызвана настройка ядра (вызов make menuconfig ), сборка и установка. Если не отключена опция CONFIG_BLK_DEV_INITRD , будет создан initramfs.

После завершения не забудьте обновить необходимые модули, выполнив:

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

Обновление ядра¶

Посмотрите на первую строку шаблона, который cl-kernel создал из исходного файла настроек ядра:

Первая строка — это заголовок шаблона. В ней описан формат шаблона, имя настраиваемого файла, выполняется проверка на архитектуру системы, имя и версию ядра.

Из шаблона видно, что он будет работать для всех ядер версии 3.19 и выше.

Для установки 3.19.1 ядра, после установки пакета достаточно будет выполнить:

Параметр ‘ —kver ‘ можно опустить, если ядро выбрано по умолчанию, когда символическая ссылка /usr/src/linux указывает на него. Так будет, если при установке пакета с исходным кодом ядра, вы указали USE-флаг » symlink «. Например, предварительно выполнив:

При переходе к более крупной версии ядра, например 3.20 4.0.0, часто возникает необходимость посмотреть перечень изменений между настройками ядра ( make oldconfig ). Для этого выполните:

Настройка calculate-sources¶

На примере vanilla-sources мы научились устанавливать и собирать различные пакеты ядра. Но как быть, если нужно поставить обновление ядра «на поток» с вашими изменениями настроек и патчами? Нет ничего проще!

1. Сбросьте у ядра USE-флаг » minimal «:

2. Установите исходники ядра без компиляции:

3. Измените настройки:

В последнем пункте нет ссылки на версию ядра, т.к. установка пакета переписала символическую ссылку /usr/src/linux . Проверить это можно, выполнив:

Если вы не уверены, лучше указать ядро явно:

Обратите внимание, что напротив версии ядра стоит уже не красная, а зелёная звёздочка.

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

Пример шаблона после отключения поддержки ReiserFS:

Обратите внимание, что повторное выполнение cl-kernel учитывает внесённые вами изменения. Чтобы сбросить их, удалите созданный вами шаблон.

Источник

calculate-sources¶

Используемые USE флаги¶

Для сборки ядра и удаления исходного кода ebuild использует различные версии calculate-kernel е-классов.

Патчи на ядро¶

До марта 2013 патчи хранились в архивах calculate-sources-3.X.tar.bz2, что приводило к тому, что при обновлении одного из патчей (например при обновлении подверсии ядра) приходилось создавать новые архивы с дополнительными номерами (версии, ревизии и т.д.) и усложнять ebuild-ы.

В связи с изменением способа наложения патчей во время сборки пакета, появилась возможность перенести патчи в шаблоны утилит Calculate, получив дополнительные преимущества:

  • разделять патчи на десктопные и серверные;
  • использовать разные патчи для разных версий ядра
Читайте также:  Как восстановить windows 10 с сохранением файлов

Caluclate-sources использует следующие основные патчи:

  • aufs3 — файловая система, производящая каскадно-объединённое монтирование других файловых систем, используемая для запуска liveCD;
  • fbcondecor — декорации в консоли

и дополнительные, используемые в десктопных системах:

  • TuxOnIce — используется для ускорения «засыпания» и «пробуждения» компьютера;
  • BFQ — I/O планировщик, созданный как замена CFQ (и основан на его коде), основная мысль – более честное разделение I/O между процессами.

Пользовательские патчи¶

Выполнение патчей происходит при событии компиляция пакета с действием ac_install_patch относительно пути S ( «$/$

» ), фильтрация по пакетам и версиям осуществляется через функцию merge(), формат шаблонов обычно diff (представляющие обычные патчи). Таким образом в простейшем варианте необходим файл патча со следующим заголовком:

Конфигурация ядра¶

До изменения системы наложения патчей конфигурация ядра хранилась в оверлее profiles/kernel в виде готового конфигурационного файла как для сервера, так и для десктопа.

В связи с изменением метода наложения патчей на пакет изменился и способ создания конфигурационного файла, что дало ряд преимуществ:

  • нет разделения настроек на десктопные и серверные ядра (серверное ядро получается из конфигурации ядра, выполнением изменений по шаблону);
  • параметры ядра, которые необходимо изменить при наличии патчей вынесены в отдельные шаблоны;
  • возможность менять параметры ядра, патчи и маскировку не затрагивая ebuild-файлы

Пользовательские параметры ядра¶

Так как создание конфигурацинного файла происходит при сборке пакета, то для изменения параметров ядра необходимо создать файл с измененными параметрами, связанный с действием ac_install_patch . Например, чтобы включить в ядро файловые системы EXT2, EXT3 и EXT4 можно создать следующий файл:

Порядок маскировки ядер¶

Если ядро находится в hard маске, то это означает что оно еще не готово для полноценного использования: не все необходимые патчи, не готова конфигурация, в ходе эксплуатации выявлены критичные ошибки, ошибки во время сборки. После решения выше перечисленных задач с ядра снимается hard маска, и оно остаётся в маске по keywords, пока не будет использовано в одном из стейджей.

Имена ядер¶

При установке ядра из пакета calculate-sources с включенным USE-флагом vmlinuz происходит компиляция и установка ядра в директорию /boot . К именам файлов vmlinuz , config , initramfs и System.map дописывается окончание, состоящее из версии ядра, архитектуры и сокращенного имени дистрибутива (пример: «-3.9.7-i686-CLD»). В случае наличия таких файлов в директории /boot , к старым версиям дописывается окончание » .old «.

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

При необходимости, сгенерировать настройки Grub можно командой:

Удаление старых версий ядра¶

Старые версии ядра удаляются при удалении соответствующих версий пакета calculate-sources . Поэтому, если вы не хотите оставлять их в системе, убедившись, что новое ядро работает нормально, удалите ненужные пакеты:

Источник

Linuxoid

OpenSource forever

Сборка ядра в Calculate Linux

Во время первой сборки ядра в Calculate Linux столкнулся с рядом вопросов, частично ответ на который дала документация проекта ( http://www.calculate-linux.org/main/ru/cl-kernel ) (на сегодня в ней уже появились все нужные ответы 🙂 ).
В репозитарии Gentoo который использует Calculate Linux несколько ядер, найти их можно командой:


Список ядер будет достаточно большой, значение большей части понятно из описания:

  • vanilla-sources — «чистое» ядро с kernel.org
  • gentoo-sources — ядро gentoo
  • calculate-sources — ядро Cаlculate linux
  • xen-sources, vserver-sources — ядра с поддержкой соответсвующих VM

И так далее. Для большинства будут доступны еще и версии.
Смотрим что установлено сейчас:

Кроме этого установленные портежы будут показанны в выводе eix -C как «Installed versions«.

Чтобы установить последнюю версию gentoo-sources вводим:

Ключ USE=»symlink» создаст символическую ссылку на /usr/src/linux.

Но если например нужна другая версия ядра, смотрим:

И выбираем из списка то, что нужно, прямо указав нужный номер:

Нужно учесть, что все ebuild помеченные знаком «

», не прошли проверку и относятся к нестабильным.
Кроме этого есть виртуальный пакет virtual/linux-sources, который установит последнюю версию текущего ядра.

То есть в нашем случае если ввести:

Будет установлена последняя версия gentoo-sources.
Для управления сборкой ядра разработчики Calculate Linux предлагают утилиту cl-kernel. В поставке CLD 10 ее нет, нужно обновить утилиты calculate.

Все параметры cl-kernel можно узнать запустив скрипт с ключем —help.

Чтобы просто собрать ядро выполняем без каких либо дополнительных опций:

Для изменения параметров ядра выполняем:

Вот в принципе и все.

2 комментария

zen-sources, xen-sources, vserver-sources – ядра с поддержкой соответсвующих VM

Источник

9. Сборка системы¶

Введение¶

Все операции по сборке образов дистрибутива Calculate Linux выполняются при помощи утилит Calculate. По завершению сборки создаётся загрузочный образ Live USB, который можно использовать как для работы, так и для установки системы на жёсткий диск компьютера.

Начиная с версии утилит 3.4, модуль сборки системы был полностью переписан. Выполняемые файлы утилит были переименованы и теперь начинаются с префикса ‘cl-builder-‘, после которого следует выполняемое действие (например, ‘cl-builder-update’).

Необходимые требования¶

Для выполнения сборки вам понадобится выход в интернет, свободное место на диске, а также любой доступный «ISO-образ системы Calculate Linux : версии 15 или выше, например, Calculate Linux Scratch или Calculate Scratch Server. Вместо ISO-образа можно указать CD-привод или USB Flash с установленным Calculate Linux. Для больших возможностей в формировании собственных сборок неплохо иметь свой Git-репозиторий с Calculate-совместимым профилем системы. Для размещения репозитория подойдёт такой хостинг как GitHub , Bitbucket или любой другой, например, собственный, поднятый при помощи Gitolite .

Для разворачивания и обновления образа без использования слоёв вам может потребоваться около 5 Гб свободного места на жёстком диске и 15 Гб при разворачивании образа без использовании слоёв (см. Подготовка системы к сборке). Для создания образа дистрибутива потребуется около 2 Гб. В случае создания бинарных пакетов дополнительно может потребоваться до 5 Гб свободного места.

Сборка дистрибутива может производиться как на отдельном разделе жёсткого диска, так и в выделенном каталоге файловой системы. Готовый образ сохраняется в директории /var/calculate/linux , бинарные пакеты сохраняются в директории /var/calculate/remote/builder . Позаботьтесь о наличии свободного места по этим путям.

Использование¶

Пакет sys-apps/calculate-utils 3.4, входящий во все дистрибутивы Calculate Linux 15, включает в себя необходимые компоненты для сборки системы.

Основные возможности:

  • поддержка графического интерфейса и работы из командной строки;
  • поддержка работы с многослойной файловой системой OverlayFS;
  • поддержка работы в системе, загруженной c Live USB;
  • поддержка параллельной сборки нескольких дистрибутивов;
  • создание мультизагрузочных USB Flash;
  • профили сборки: Calculate-совместимые;
  • поддерживаемые архитектуры: i686 и x86_64;
  • поддержка сборки 32-битных дистрибутивов на 64-битной системе.
Читайте также:  Windows стал raw раздел

Операции по сборке системы выполняются в разделе «Сборка» графической консоли утилит Calculate:

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

  • cl-builder-prepare (Подготовить новую сборку) — используется для подготовки данных для сборки;
  • cl-builder-profile (Изменить профиль) — используется для смены профиля собираемой системы;
  • cl-builder-update (Обновить сборку) — используется для обновления пакетов собираемой системы;
  • cl-builder-break (Прервать сборку) — используется для прекращения сборки;
  • cl-builder-image (Создать образ) — используется для создания загрузочного ISO-образа;
  • cl-builder-restore (Восстановить сборку) — используется для восстановления данных сборки после перезагрузки машины;
  • cl-builder-menu (Обновить меню загрузки) — используется для обновления мультизагрузочного меню Live USB.

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

Подготовка системы к сборке¶

Для подготовки системы к сборке кликните по иконке «Подготовить новую сборку» в разделе «Сборка» графической консоли утилит Calculate:

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

Для работы в терминале выполните:

Основные опции:

  • —source SOURCE — исходный образ системы.

В качестве исходного образа может выступать ISO образ, CD-привод или Live USB с дистрибутивом Calculate Linux.

Дополнительные опции:

  • -d DEST, —disk DEST — раздел или директория для сборки. Убедитесь, что в разделе и в каталоге у вас не хранится информации, так как во время подготовки сборки она будет удалена.
  • —layers [ON/OFF] — использовать многослойную файловую систему (OverlayFS) для подготовки сборки, при использовании этой опции образ не будет распакован в файловую систему, в файловой системе будут хранится только изменения от базового образа. Не используется при сборке в отдельном разделе.
  • —id ID — идентификатор сборки. При одновременной сборке нескольких систем служит для обозначения сборки. По умолчанию обозначается как имя_репозитория:имя_профиля.

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

  1. Сборка в выделенной директории с использованием многослойной файловой системы.
  2. Сборка в выделенной директории без использования многослойной файловой системы.
  3. Сборка в выделенном разделе диска.

Сборка в выделенном разделе с использованием многослойной файловой системы не поддерживается.

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

Во всех типах сборки доступ к корню собираемой системы можно получить в директории /run/calculate/mount/каталог_сборки, где каталог сборки — это имя сборки с подменой символов «:» и «/» на «_» (пример: «distros_CLSK_amd64»).

Во время подготовки системы к сборке выполняются следующие действия:

  1. Подключение базового образа в директории /var/calculate/mount/iso и /var/calculate/mount/squash
  2. Распаковка базового образа
  3. Настройка шаблонами builder/prepare (событие ac_builder_prepare), builder/setup (событие ac_builder_setup)
  4. Подключение точек монтирования /dev , /dev/shm , /dev/pts , /proc , /sys , /var/calculate/remote
  5. Отключение базового образа системы

Особенности в подготовке системы к сборке при использовании выделенного раздела:

  • Для развёртывания образа потребуется выделенный раздел, данные в котором будут удалены при форматировании. В качестве файловой системы будет использована текущая файловая система, если она поддерживается утилитами.

Особенности в подготовке системы к сборке при использовании слоёв:

  • Вместо распаковки исходный образ монтируется и остаётся примонтированным на всём протяжении сборки системы.
  • Дельта выполняемых изменений хранится в директории /var/calculate/builder/каталог_сборки .

Смена профиля системы¶

Смена профиля собираемой системы вам может понадобиться, главным образом, для выбора своего профиля, в котором вы можете описать особенности системы, такие как: состав пакетов, используемые флаги сборки, опции компилятора, настройки переменных утилит Calculate, шаблоны настройки системы, ebuild-ы пакетов и т.д.

Для переключения профиля, воспользуйтесь иконкой «Изменить профиль» в разделе «Сборка» графической консоли утилит, после чего откроется следующая страница:

По умолчанию отображаются профили репозитория distros. При использовании своего профиля, хранящегося, например, на Github, вы можете указать «github:lautre76», где «github» — обозначение сервиса хостинга, «lautre76» — имя вашей учётной записи. При указании сокращённого имени поиск профилей будет выполняться в репозитории «overlay.git».

В дополнительных настройках вы можете указать «Обновить кэш» для того, чтобы при наличии кэша репозитория данные были обновлены. Это может понадобиться, если вы захотите добавить новый профиль, отсутствовавший при предыдущем вызове команды.

После нажатия кнопки «Далее» откроется окно выбора профиля:

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

Состав пакетов (файл /var/lib/portage/world) формируется шаблонами утилит Calculate. Вы можете выбрать один из режимов обновления файла: переформировать, объединить или обновить. По умолчанию используется полная замена списка пакетов дистрибутива.

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

Основные параметры:

  • —id ID — идентификатор сборки. Указывать данный параметр необходимо в случае одновременных сборок. Просмотреть список идентификатором можно при помощи значения list.
  • —url URL — репозиторий профиля. По умолчанию использует резпозиторий, в котором находится текущий профиль системы.
  • —rebuild-world, —merge-world, —update-world — действие с файлов world при переключении профиля: список замещается списком из профиля, текущий список объединяется с новым или выполняется только обновление списка пакетов.

Дополнительные параметры:

  • -u [ON/OFF], —update-cache [ON/OFF] — обновить скаченный ранее репозиторий
  • —skip-setup-system [ON/OFF] — пропустить перенастройку системы после переключения профиля. По умолчанию после переключения профиля в системе выполняется действие аналогичное cl-setup-system , за исключением того, что в собираемой системе не будут выполнены шаблоны события 3_ac_install_live.

Переключение профиля в собираемой системе по сути аналогично переключению профиля в текущей системе при помощи команды cl-update-profile .

Обновление системы¶

Для обновления пакетов собираемой системы кликните по иконке «Обновить сборку» в разделе «Сборка» графической консоли утилит Calculate. После чего вам откроется следующая страница:

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

Параметры:

  • —id ID — идентификатор сборки. Указывать данный параметр необходимо в случае одновременных сборок.
  • -s [ON/OFF], —sync-only [ON/OFF] — выполнить только синхронизацию репозиториев и обновление настроек
  • -o [ON/OFF], —update-other [ON/OFF] — обновление вспомогательных репозиториев
  • -p [ON/OFF], —pretend [ON/OFF] — вместо действительного обновления пакетов отобразить только, что будет установлено
  • -r REPOSITORIES, —repositories REPOSITORIES — синхронизируемые репозитории. По умолчанию синхронизируются все репозитории дистрибутива, причём если репозиторий бинарный, то синхронизация будет до необходимых ревизий, в противном случае до ветки master .
  • -e [ON/OFF], —emergelist [ON/OFF] — отобразить список пакетов в формате emerge
  • —(rebuild|merge|update)-world действие с файлов world: список замещается базовым набором, текущий список объединяется с базовым или выполняются только обновление списка пакетов
  • —(force|skip|auto)-egencache — обновть кэш репозиторев: принудительно, не обновлять, при необходимости.
  • —(force|skip|auto)-eix-update — обновить кэш eix: принудительно, не обновлять, при необходимости.
  • —rebuild-changed-packages [ON/OFF] — пересобрать пакеты, ebuild файлы которых изменились (изменились либо сами ebuild файлы, либо eclass файлы, используемые для сборки пакетов.
  • -R [ON/OFF], —skip-revdep-rebuild [ON/OFF] — пропустить выполнение команды revdep-rebuild (опция включена по умолчанию)
  • —scan [ON/OFF] — выполнить поиск наиболее актуального сервера бинарных обновлений
  • —clean-pkg [ON/OFF] — удалять устаревшие архивы программ (очистка packages и distfiles от версий пакетов, которые отсутствуют в дереве portage)
  • —branch REFS — переключить репозитории на указанные ветки или ревизии. Начиная с версии 3.4 репозитории недостаточно переключить на нужную ветку один раз. При последующем запуске без параметра —branch утилиты попытаются привести репозитории к ревизиями, указанным на выбранном сервере бинарных обновлений.
Читайте также:  Windows не видит все разделы жесткого диска

Функционал cl-builder-update повторяет функционал cl-update за исключением того, что обновление выполняется внутри подготавливаемой сборки.

Список выполняемых действий:
Действия, обновляющие репозитории и настройки:

  1. Настройка шаблонами builder/prepare (событие ac_builder_prepare), builder/setup (событие ac_builder_setup)
  2. Синхронизация репозиториев (можно пропустить, указав «-r none»)
  3. Синхронизация прочих оверлеев (можно пропустить, указав «-o off»)
  4. Обновление кэша метаданных в репозиториях (можно пропустить, указав «—skip-egen-cache»)
  5. Обновление кэшей связанных с репозиториями (можно пропустить указав «—skip-eix-update»)
  6. Удаление устаревших файлов из distfiles, packages (выполняется при «—clean-pkg»)
  7. Исправление настроек в собираемой системе (шаблоны события ac_update_sync)
  8. Выполнение dispatch-conf

Действия, обновляющие пакеты в системе, выполняются, если не указана опция -p :

  1. Выполнение emerge -uDN —changed-deps —with-bdeps=y @world
  2. Пересборка изменившихся пакетов
  3. Обновление Python пакетов
  4. Обновление Perl пакетов
  5. Выполнение emerge —depclean
  6. Пересборка модулей ядра
  7. Пересборка модулей xorg-server
  8. Пересборка @preserved-libs
  9. Выполнение revdev-rebuild
  10. Выполнение dispatch-conf
  11. Исправление бинарных пакетов
  12. Отображение списка новостей
  13. Проверка на устаревшие пакеты

Отдельной команды для проверки зависимостей нет, их можно проверить без обновления репозиториев при помощи cl-update -o off -r none -p .

Во время сборки будут загружены все необходимые пакеты с исходными текстами программ в директорию /var/calculate/remote/distfiles .

Помните, что вы всегда можете получить доступ к системе при помощи chroot , выполнив:

Обратите внимание, что для доступа к собираемой 32-битной системе из-под 64-битной команду chroot следует выполнять, используя утилиту linux32. Пример:

После завершения действий в chroot из оболочки необходимо выйти, в противном случае выполнение действий по обновлению системы, смене профиля или создания образа завершится сообщением об ошибке. Пример:

Создание загрузочного образа¶

Для создания нового образа дистрибутива воспользуйтесь иконкой «Создать образ» в разделе «Сборка» графической консоли утилит Calculate. Страница создания образа будет выглядеть, как на рисунке ниже:

Большинство настроек будет по умолчанию скрыто от глаз. При желании вы можете указать, включить ли дистрибутивы проприетарных видеодрайверов в образ Live USB для того, чтобы иметь возможность оценить их работу, загрузившись с USB Flash. Вы можете выбрать метод сжатия образа для того, чтобы найти оптимальный вариант между размером файла и скоростью сжатия. Опция ISO hybrid позволит создавать образ диска, который можно писать на устройство при помощи прямого копирования (например, dd ). Выполнение Prelink позволит слинковать библиотеки перед запаковкой для получения некоторого ускорения запуска программ.

После выполнения в директории /var/calculate/linux/ будет создан образ дистрибутива (с расширением .iso), файл с контрольными суммами (с расширением DIGESTS) и файл с составом программ (с расширением list).

В терминале запаковать образ можно, выполнив:

Основные параметры:

  • —id ID — идентификатор сборки; необходим, только если производится несколько сборок одновременно.
  • —iso IMAGE — путь и имя создаваемого ISO образа. Если не указывать, то образ будет помещен в каталог по умолчанию, и имя будет в стандартном формате, содержащее корткое имя дистрибутива, архитектуру и build.

Дополнительные параметры:

  • -V, —video [ON/OFF] — включить установочные файлы проприетарных драйверов в дистрибутив. При выключенной опции удаляет из дистрибутива установочные файлы проприетарных драйверов.
  • -c, —compress COMPRESS — формат сжатия при подготовке squashFS
  • —keep-tree [ON/OFF] — сохранить дерево портежей в образе. По умолчанию из дерева портежей (и оверлеев) удаляются ebuild файлы и metadata , остаются только eclass -файлы, профили и шаблоны (за исключением шаблонов в каталоге deprecated).
  • —live [ON/OFF] — выполнить модификацию init.d/calculate , так, чтобы при первой загрузке выполнялись только шаблоны ac_install_live . Опция включена по умолчанию, так как при сборке дистрибутива шаблоны ac_install_merge выполняются на этапе сборки пакета.
  • —isohybrid [ON/OFF] — модифицировать по завершению полученный образ утилитой isohybrid , чтобы его можно было записать USB Flash командной dd
  • —prelink [ON/OFF] — выполнить prelink перед созданием ISO образа

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

Прерывание сборки¶

Чтобы прервать выполнение сборки, воспользуйтесь иконкой «Прервать сборку» в разделе «Сборка» графической консоли утилит. После этого откроется следующая страница:

После выполнения операции все временные файлы будут удалены.

В терминале прервать сборку можно, выполнив:

Параметры:

  • —id ID — идентификатор сборки; необходим, только если производится несколько сборок одновременно.
  • —clear [ON/OFF] — очистить данные после отключения сборки (актуально при сборке в отдельном каталоге). Опция включена по умолчанию.
  • —clear-pkg [ON/OFF] — удалить бинарные пакеты

Восстановление сборки¶

Если во время работы с дистрибутивом компьютер был перезагружен, вы можете выполнить восстановление прерванной сборки. Для этого кликните по иконке «Восстановить сборку» в разделе «Сборка» графической консоли утилит Calculate. После чего откроется следующее окно:

То же действие можно выполнить в терминале, набрав:

В качестве параметра вы можете указать идентификатор сборки.

Создание мультизагрузочной Live USB Flash¶

Вы можете полноценно работать с Live USB, создавая модификации текущего, либо любого другого ISO образа Calculate Linux. Для возможности сохранять на USB Flash данные система должна быть установлена на флешку при помощи утилит Calculate.

Во время работы с Live USB при создании образа загрузочное меню переформировывается таким образом, чтобы можно было выбрать загрузку с любого из созданных ISO-образов. Вы также можете просто скопировать в директорию /linux USB Flash другие ISO-образы Calculate Linux, а затем обновить меню загрузчика. Для этого кликните по иконке «Обновить меню загрузки» в разделе «Сборка» графической консоли утилит Calculate. После этого откроется следующая страница:

Вы можете сформировать меню флешки, загрузившись с неё, либо вставив в USB разъём и из текущей системы при помощи утилит выполнить обновление.

При работе в терминале для обновления меню выполните:

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

Источник

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