Создание собственного ISO образа Slackware

Есть некоторые моменты, которые меня не устраивают в Slackware. Поэтому я решил разобраться, как создать свой собственный дистрибутив Slackware.

Первое, что нам понадобится это зеркало каталога с дистрибутивом Slackware-current и всеми пакетами. Это можно сделать через rsync. Единственное нужно исключить папку с исходниками. Так как она очень большая и нам не понадобится.

rsync -av --exclude source/ rsync://mirror.yandex.ru/slackware/slackware64-current/ .

Таким образом мы получим репозиторий дистрибутива в текущей папке.

Для описания процесса я создам ISO образ, который будет содержать окружение рабочего стола cutefish и некоторые мои пакеты.

Вся работа будет идти в папке isolinux/. Нам потребуются следующие файлы:

  • setpkg — файл предоставляет меню выбора пакетов в установщике
  • message.txt — файл содержит текст приветственного сообщения, которые вы видите после загрузки ISO-образа

В папке slackware64 находится структура пакетов дистрибутива:

Добавим сюда две свои папки: cutefish и myrepo. Структура будет такая:

Read more «Создание собственного ISO образа Slackware»

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

Обновление ядра в Slackware проходит автоматически при выполнении команды slackpkg upgrade-all и ядро по умолчанию даже не добавлено в blacklist пакетного менеджера. Что может доставить изрядно проблем после обновления.

Дело в том, что ядро корректно устанавливается и даже обновляются символические ссылки в папке /boot для lilo. Но при этом не собирается новое initrd.

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

Так вот, со старым initrd не получится подмонтировать корневой раздел диска и вы получите ошибку при запуске Slackware:

Чтобы такого не произошло, достаточно выполнить одну команду для сборки нового initrd. Нужно перейти в папку /boot и выполнить команду. В моем случае она будет следующей:

Read more «Обновление ядра в Slackware»

Установка VitrualBox в Slackware

В качестве пакета VitrualBox в репозиториях отсутствует. Поэтому его нужно собрать из исходников. Можно конечно вручную, но лучше автоматизировать сборку с помощью sbopkg или sboui (по ссылкам описание и настройки этих утилит).

Я пользуюсь sboui. Потребуется собрать и установить следующие пакеты:

  • virtualbox
  • virtualbox-kernel
  • acpica — в качестве зависимости

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

  • virtualbox-extension-pack — расширяет возможности virtualbox, например, позволяет напрямую обращаться к USB, web-камера и др. устройствам

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

groupadd -g 215 vboxusers
useradd -u 215 -d /var/run/vboxadd -g 1 -s /bin/sh vboxadd


После этого можно выполнить сборку и установку. Сборка занимает некоторое время и есть желание сохранить собранные пакеты, чтобы сэкономить время, если потребуется переустанавливать. Но тут надо помнить, что vitrualbox зависит от версии ядра и на другом ядре пакеты не заработают. Придется пересобрать пакет virtualbox-kernel , который содержит модули ядра.

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

/etc/rc.d/rc.vboxdrv start

А чтобы запуск сервиса происходил автоматически при запуске slackware нужно добавить следующий код в rc.local:

        # Start vboxdrv
        if [ -x /etc/rc.d/rc.vboxdrv ]; then
          /etc/rc.d/rc.vboxdrv start
        fi

И в rc/local_shutdown для корректной остановки при выключении компьютера:

        # Stop vboxdrv
        if [ -x /etc/rc.d/rc.vboxdrv ]; then
          /etc/rc.d/rc.vboxdrv stop
        fi

VBoxGuestAdditions.iso также скачивается при сборке, доступ к нему можно получить по пути: /usr/share/virtualbox/VBoxGuestAdditions.iso.

Ядро 5.13 пришло в Slackware

16 июля AlienBOB написал в своем блоге, что самое свежее ядро Linux 5.13 стало доступно в slackware-current в тестовой папке ./testing‘ .

Так же он разместил обнадёживающую фразу «And with that new 5.13.x kernel series, it looks like a Slackware 15 release is again closer on the horizon.» — «И с этой новой серией ядра, похоже, релиз Slackware-15 снова на горизонте».

Так же доступны новые сборки live-cd https://download.liveslak.org/latest/ с новым ядром.

В качестве бонуса на live-cd содержится squashfs, бинарные драйвера nvidia, Broadcom STA wireless driver, Wine 6.12, multilib, the DAW package, chromium, libreoffice, veracrypt, и др.

Раньше я ждал slackware-15, но теперь, видя как медленно движется процесс, я привык к current и мне нравиться, что все самое свежее и смелое появляется в Slackware. С выходом slackware-15 я боюсь снова развитие остановится на несколько лет.

Sboui

Sboui — утилита для сборки и установки пакетов из репозитория исходных кодов SlackBuilds.org (SBo). Sboui в отличие от sbopkg написана на языке С и имеет графический интерфейс.

Интерфейс очень прост и удобен. Состоит из 2х панелей. Слева находятся группы, а справа сами пакеты. Есть поиск и фильтр. Для установки достаточно выбрать нужную программу и нажать Enter. Пакет будет собран и установлен со всеми необходимыми зависимостями.

Read more «Sboui»

Sbopkg

Sbopkg эта утилита, которая упрощает процесс сборки пакетов из репозитория SlackBuilds. Sbopkg скачивает исходный код пакета, выполняет скрипт сборки и устанавливает пакет. Скачать Sbopkg можно по ссылке https://sbopkg.org.

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

Прежде всего необходимо настроить репозиторий это можно сделать в конфигурационном файле:

/etc/sbopkg/sbopkg.conf
Read more «Sbopkg»

sqg — утилита генерации списка зависимостей

sqg устанавливается вместе с sbopkg и позволяет генерировать зависимости для одного или всех пакетов. И затем используя эти списки зависимостей sbopkg будет уже устанавливать пакет с его зависимостями.

sqg -p имя_пакета - сгенерировать список зависимостей для пакета
sqg -a сгенерировать список зависимостей для всех пакетов из репозитория slackbuilds.org

Конфигурационный файл находится здесь

/usr/sbin/sqg
Read more «sqg — утилита генерации списка зависимостей»

Slackware на GitHub (обзор репозиториев часть 2)

Продолжаю искать репозитории на github посвященные Slackware. Это вторая часть. Первая часть была посвящена крупным репозиториям рабочих сред и сборочных скриптов. Сейчас будет список более мелких, но не менее интересных репозиториев.

Read more «Slackware на GitHub (обзор репозиториев часть 2)»

Slackware 15.0 первая alpha

Сегодня Патрик в changelog объявил:

И вот снова обновление glibc-2.33, но это последняя массовая пересборка перед Slakcware 15.0.

Он написал, что пересобраны почти все пакеты и ядро с новым glibc, кроме пакетов, ibc-zoneinfo, glibc-zoneinfo, kernel-firmware, rust, linux-faqs, linux-howtos, aspell-en, mozilla-firefox, mozilla-thunderbird, seamonkey, которые требуют новый Rust compiler и наложение патчей. Таким образом он откладывает их пока не будут готов Rust с патчами или не выйдут новые релизы.

И добавил:

Я не вполне готов назвать это беттой, но вы можете назвать эту сборку 15.0-alpha1.

(I'm not quite ready to call this beta yet, but you can call it 15.0-alpha1. :-)
Cheers!)

А Эрик у себя в блоге написал следующее:

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

Хочется сказать только одно: «Ну наконец то!»

Немного ностальгии с MOPSLinux

На самом деле со Slackware я познакомился через MOPSLinux. Это был первый Slackware-based дистрибутив, который я попробовал и долго сидел на нем. Ну не очень долго, т.к. она практически сразу закрылся. Далее был проект AgiliaLinux я даже там немного пособирал пакетов, которы мне были нужны, но это как раз было время, когда жизнь заняла меня другими делами. И с тех пор Линуксом я серьезно не занимался, довольствовался ubuntu с которой не нужно было особо напрягаться.

Так вот перебирая свои старые диски я наткнулся на дистрибутив MOPSLinux 6.1. Накатила ностальгия … Вобщем я решил попробовать поставить его в VirtualBox и посмотреть, что из этого получится. К удивлению, я смог нагуглить iso образ и скачать, (великое изобретение интернет, однако).

Установка MOPSLinux 7.0 спустя 10 лет

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

Read more «Немного ностальгии с MOPSLinux»