Calmira GNU/Linux(-libre) news
24 subscribers
39 photos
1 file
20 links
Calmira GNU/Linux(-libre) когда-то была моим pet-проектом. Но сейчас этот дистрибутив разросся в нечто большее.

GitLab: https://gitlab.com/calmiralinux
Наш чат по редактору Helix: @helix_ru_chat
Matrix: https://matrix.to/#/#calmlinux:matrix.org
Download Telegram
🔥1
Доброго времени суток! Как бодрость духа?

Тем временем продолжается работа над Calmira GNU/Linux-libre. 25 сентября релизнули версию v2.0a1e1. После были промежуточные корректирующие билды v2.0a1e2 и v2.0a1e3, о которых на канале не сообщалось, ибо разница между ними была небольшой (как правило, правка каких-либо конфигов и добавление поддержки всяких разных нужных для нас вещей в ядро), да и эти билды предназначались для разработчиков.

На основе v2.0a1e3 был собран загрузочный iso образ (ссылка) - спасибо за это одному из наших разработчиков. Может загружаться как с BIOS, так и с UEFI. В том случае, если вы заметили ошибку, пожалуйста, напишите об этом нам.
3
Ну и кроме того, начал писать простую инструкцию по установке. Потом в планах написать нормальный установщик системы, ну а пока всё делаем ручками.

Возможно, эта инструкция потом станет основой руководства по этому дистрибутиву.

Ссылка: https://gitlab.com/cov_id111/calmira-info
🔥4
image_2022-10-26_23-23-03.png
197.9 KB
В cport добавлена одна полезная функция.

Если передать опции deps какой-либо порт, то cport выведет список портов, где этот порт является зависимостью. Кроме того, возможно представление списка в формате JSON (ключ -j, --json), а также фильтрация по типам зависимостей (-r - required, -R - recommend, -o - optional, -a - все вместе).
👍5
Тем временем работаем над рефакторингом МСП cport. Кроме того, постепенно добавляем в него новые функции.

Например, ускорилась работа МСП, а потреблять ОЗУ он стал несколько меньше.

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

Сейчас же выводится только список выбранных портов и список зависимостей, которые отсутствуют в системе, но которые необходимо установить. Список зависимостей генерируется автоматически для всех выбранных портов, а в терминал выводится только то, что присутствует в этом списке, но отсутствует в системе. Кроме того, выводится объём, который будет занят на диске после установки всего ПО. Да, это число тоже вычисляется автоматически. [см. фото ниже]

С изменением выше связано начало работы над обработкой зависимостей. На данный момент у нас только генерируется список всего необходимого ПО, но в будущем механизм обработки зависимостей будет совершенствоваться.
🥰2
🔥1
На этой неделе в Calmira GNU/Linux-libre №5

Период с 12 по 18 декабря (прим. автора).

В ноябре и в начале декабря не было времени для работы над Calmira GNU/Linux-libre, но сейчас, вроде как, оно появилось, поэтому на этой неделе работа над системой продолжилась.

Как минимум, вернул в cport несколько функций: обновление системы портов и обновление ПО до новой версии. Рефакторинг cport ещё не закончен, в планах его завершить 30 числа.

Кроме того, идёт работа над автоматизированной системой сборки Calmira GNU/Linux-libre. Руками собирать всё ПО тяжко и долго, а эта система сборки значительно упростит и ускорит процесс.

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

Система сборки будет выложена на GitLab позже, а пока можно рассказать о ещё одном проекте - об установщике. Он будет иметь псевдографический интерфейс [ncurses]. Написан также на Rust. Войдёт ли в состав Calmira v2.0? Не могу сказать. Возможно, что в окончательной версии он и будет, но в грядущих тестовых ждать его не стоит точно.

#ThisWeekInCalmira
👍3
Пришло время подвести итоги 2022 года. Год, как обычно, - дерьмо. Из нетипичного - дерьмо особое, ядрёное. Хотя в 2022 мы сделали достаточно многое:

1. Дистрибутив теперь использует раздельную структуру директорий, где /{/bin,sbin,lib} не являются ссылками на соотв. директории в /usr.

2. Положили начало разработке автоматизированной системы сборки дистрибутива.

3. Перешли на использование ядра Linux-libre - в тестовых версиях уже присутствует это ядро, а стабильной 2.0 в планах поставлять обычное ядро Linux и Linux-libre.

4. Закончили работу над стандартом системы портов, написали cport для управления программным обеспечением в Calmira GNU/Linux-libre.

5. Начали собирать загрузочные ISO-образы системы.
🔥4
Ну и начинаем с планов на 2023. Понятное дело, очень размыто и в общих чертах, но по крайней мере, чтобы знать, куда двигаться дальше, это может пригодиться.

1. Закончить систему сборки. Без неё работать над новыми версиями дистрибутива очень тяжко. Всё само по себе собирается медленно, да и железо у меня, откровенно говоря, говно [в россии же живём].

2. Написать установщик системы. В планах сделать два варианта установки: сборка из исходного кода и установка уже собранной системы. Всё это ложится на плечи установщика. В первом случае он просто дёрнет систему сборки, которая скомпилирует нужные пакеты, хранящиеся в образе, а во втором просто скопирует файлы системы из установочного iso-образа на диск.

3. Переход на OpenRC. Сейчас используется система инициализации SysVInit. Сказать, что она 666 лет как устарела - это не сказать ничего. Поэтому в 2022 году мы запускали голосование о выборе новой СИ. В итоге был выбран OpenRC.

4. Разделение системы на несколько пакетов:

1. CPL - базовый пакет, в составе которого входит только самое необходимое для работы системы ПО.
2. CDPL - пакет с базовым ПО для разработки (GCC, make, autotools, sed, etc.).
3. CGPL - пакет с графическим интерфейсом (Xorg, Wayland, Anomura).
Информация об этих пакетах будет представлена позже.

5. Начало работы над механизмом сброса системы до заводских настроек.

6. Основная задача теперь - создание надёжной отказоустойчивой системы, поставка протестированного ПО в репозиториях и самой системе.
👏5
Тем временем завершился рефакторинг cport. По причине моей занятости и отсутствия желания что-либо делать он затянулся на несколько месяцев, ибо коммитил не так часто, как хотелось.

Из планов на будущее:

- Возобновить работу над пакетным менеджером cpkg.
- Интеграция с AppImage Installer.
👍31🎄1
Начали работу над заполнением документации дистрибутива.

https://gitlab.com/calmiralinux/documentation

На данный момент там только один репозиторий - с HandBook, однако вскоре сюда переместятся и другие репы - с документацией по cport, системе сборки и пр. Документация как для разработчиков (описание принципа работы, API и т.д.), так и для обычных пользователей (использование, принцип работы).
🔥5
С новым годом!

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

Хочу пожелать вам оставаться людьми в любой ситуации. Ну и чтобы самые главные желания сбывались :)
9
Продолжается работа над сборочными скриптами. На данный момент готовы скрипты для подготовки системы к сборке, а также скрипты для сборки кросс-компилятора и временного инструментария. Сейчас это всё тестируется.

В том случае, если тестирование системы сборки и скриптов завершится успешно, начнём писать скрипты для Core-редакции (и когда уже переход на OpenRC?). А там и до четвёртого экспериментального билда Calmira 2.0 GNU/Linux-libre недалеко.
🔥3
На этой неделе в Calmira GNU/Linux-libre №6

Период с 1 по 7 января (прим. автора).

Работа над дистрибутивом продолжается и в новогодние праздники - всё равно делать нечего. Работаем над системой сборки и новой программой в составе Calmira GNU/Linux-libre - vcsetup. Программа предназначена для настройки языка, шрифта и раскладки клавиатуры в консоли.

Предназначение программы

1. Отсутствие удобных средств настройки для Calmira.
2. То, что существует в загрузочных скриптах для SysVInit - это неудобно и, что самое главное - небезопасно. В конфигурационный файл с этими настройками можно записать всё, что угодно, а это, вкупе с тем, что скрипт для установки параметров консоли запускается от имени root, является серьёзной угрозой безопасности.
3. При переходе на OpenRС всё равно бы потребовалось какое-то решение для установки параметров консоли.

В планах программа должна состоять из двух компонентов:

1. vcsetup - интерактивная псевдографическая программа для настройки;
2. vcload - программа читает параметры из /etc/... и применяет их для всех пользователей системы при её загрузке.

#ThisWeekInCalmira
1
На этой неделе в Calmira GNU/Linux-libre №7

Период с 8 по 14 января (прим. автора).

Новогодние праздники уже закончились, поэтому самое время работать над дистрибутивом в полную силу. Например, уже готова альфа версия программы vcsetup. Повторюсь, это программа для настройки виртуальной консоли системы. Написана на Rust. Программа обладает простым псевдографическим интерфейсом (см. скрин ниже). Она позволяет настроить язык системы, шрифт консоли, раскладку клавиатуры и loglevel для программы dmesg. vcsetup только формирует красивый псевдографический интерфейс пользователя и пишет установленные данные в конфигурационный файл. Кроме того, она может сбрасывать настройки консоли до заводских. Есть программа vcsetup, предназначенная для установки этих параметров при загрузке системы. Отдельное спасибо одному из разработчиков дистрибутива, который, в общем-то, и написал эти две утилиты.

Кстати, занимаемся и сборочными инструкциями системы. На данный момент есть несколько проблем, которые постепенно будут исправляться. В конце этой недели должен выйти корректирующий билд v2.0a1e3.1, улучшающий работу с работой сети. Вообще, сеть - это отдельная проблема в Calmira GNU/Linux-libre. И дело не только в использовании ядра, очищенного от несвободных драйверов и прошивок (из-за чего некоторые модели сетевых карт попросту не поддерживаются). Всё дело в ненормальном процессе настройки сети. Как в случае настройки консоли - нужно редактировать непонятные BASH-скрипты, использовать какие-то непонятные и нелогичные параметры и танцевать с бубном.

Параллельно с этим пишем руководство пользователя Calmira GNU/Linux-libre. Хочу описать не только предназначение системы, её установку и какие-то специфичные для неё вещи, но и кратко пройтись по основам GNU/Linux и UNIX. Описать управление правами доступа, процессами, пользователями, работу с программным обеспечением, текстовым редактором Nvim, процесс настройки системы для себя и всякие такие вещи. Над руководством сейчас занимаюсь только я. А один человек в короткий срок (планируется выпустить окончательную версию рук-ва вместе с релизом Calmira 2.0 GNU/Linux-libre, который хочу выпустить в середине-конце мая) физически не может написать большой объём. Написано 118 страниц с описанием процесса установки и использования, управления процессами, работы с файлами и пр.

#ThisWeekInCalmira
🔥3
Скриншот vcsetup
🔥4🤩3
Теперь в случае, если во время записи конфига произошла ошибка, окна vcsetup окрашиваются в другой цвет.
👍4🔥1
Сформировали корректирующий билд Calmira v2.0a1e3.1 GNU/Linux-libre.

Список изменений и ссылка для скачивания ниже:

https://gitlab.com/calmiralinux/CalmiraLinux/-/releases/v2.0a1e3.1

Из основных изменений:

- Добавление в поставку дистрибутива собственных компонентов для просмотра сведений о системе, настройки виртуальных консолей и просмотра кратких справочных сообщений.

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

- Обновление менеджера системы портов cport, как и самих портов.

———————————————————

Возможно, в этом месяце будет выпущено ещё несколько мелких корректирующих выпусков 3.2, 3.3 и т.д.
5
На этой неделе в Calmira GNU/Linux-libre №8

Период с 15 по 21 января (прим. автора).

Продолжаем работать над vcsetup и vcload. Исправили несколько багов, теперь эти программы работают корректно.

Но самым крупным событием, думаю, стал релиз корректирующего билда Calmira 2.0a1e3.1 GNU/Linux-libre, в котором мы улучшили поддержку сети - подключаться к ней теперь стало проще, обновили cport и систему портов, а также добавили те самые vcsetup и vcload. Кроме того, в качестве опции поставляется ядро Linux (основное ядро Linux-libre). Скачать можно здесь.

Работаем над сборочными инструкциями для Core-редакции. Реализуем поддержку архитектуры aarch64. Может быть когда-нибудь будем собирать и для неё.

В опросе, посвящённому выбору новой системы инициализации вместо SysVInit, победу одержал OpenRC. Поэтому на этой неделе начали миграцию на него. Из системы портов удалили порты с SysVInit, добавили порт с OpenRC. Сейчас работаем над созданием новых загрузочных скриптов для этого инита.

В конце этой недели начали проектировать установщик Calmira. Вручную её ставить быстро, но это не будет удобным, когда в день таких установок 3-4. Установщик будет написан на языке Rust и будет иметь консольный псевдографический интерфейс.

#ThisWeekInCalmira
👍5
https://t.me/calmira_gnu_linux/13

Релиз v2.0a1e4 выпущен не будет. Всё-таки слишком много изменений. Это и миграция на OpenRC, и добавление новых компонентов в состав Calmira, как разработанных внутри этого проекта, так и сторонние вещи. Поэтому выпустим сразу v2.0a2 - вторую альфа версию дистрибутива.

В данный момент работаем над двумя вещами: автоматизированная система сборки дистрибутива bs и установщик системы calminstall. Эти две вещи, как и некоторые другие, разрабатываемые командой Calmira GNU/Linux-libre, написаны на языке Rust.

Версия v2.0a2 будет собрана уже посредством bs.