Приветствую калькуляторов и всех заинтересовавшихся. Это о моём опыте установки и настройке CLS по типу «Заметки путешественника» — небольшой отчёт о проделанной работе, трудностях и заморочках.
Calculate Linux Scratch (CLS) — базовая голая система, после установки 400+ пакетов, а всё остальное уже доустанавливаешь и настраиваешь самостоятельно.
Введение и подготовка
В первый день сидел и сочинял команду вида:
cl-install портянка всяких параметров для установки на соседний SSD со своими хотелками
Команду составлял согласно «cl-install--help | more» по пунктам (скобки в хелпе для красоты). Когда команда была готова, пробовал на запуск и смотрел, что в выводе мне предлагается.
На второй день исправлял ошибки. Установщик сам указывал на неверно заданные параметры, благодаря подсказкам и выводу я их подправил, в устранении проблем ещё помогли чат ТГ и scorpii. После запуска предлагается ввод паролей рута и пользователя. NM не поставляется в CLS образе, а я его искал.
Моя команда итоговая:
cl-install -l "Русский (Россия)" ru_RU --timezone Europe/Samara -k "English" en_US
--hwclock local --iso '/mnt/Archive/Linux/Calculate Linux/cls-20240503-x86_64.iso'
-d /dev/sdc1::btrfs -d /dev/sdc3:/var/calculate:btrfs -d /var/calculate/home:/home
--hostname cls --root-password --grub-passwd ON -u xfce:all:sudo,wheel,default
-C OFF --video nouveau --grub-terminal gfxterm --fb 1920x1080-32
-a ON -I 1d --clean-pkg ON -o ON
После первой установки и авторизации под root пользователем команда cl-update отработала успешно, то есть была сеть, но не всегда (при последующих установках) — нестабильно.
На третий день в установленной системе накатывал (не)нужное через сеты. Графическое окружение Xfce установлено частично в CLI, позже из рабочей ОС через chroot подключился к установленной и проверил, доустановил 3 пакета, плюс перенёс свои конфиги xfce’шные. Базовая система работала, DE загружалось, но без прекрас: не настроено, нет косметики, не отзывался пакет calculate-utils, не было DM, поэтому авторизация через консоль. Ещё выяснил, что нет сертификатов пользователя, без которых не работают калькоутилиты, а без них и калька не калька.
Инструкция для (пере)создания сертификатов Calculate:
От юзера
$rm -r ~/.calculate/client_cert
От рута
#rm -r /var/calculate/server
#cl-core --gen-root-cert
Enter the certificate date manually? [y/n]: n
#cl-core --use-root-as-server
#/etc/init.d/calculate-core restart
#cl-core -u имя_юзера
#/etc/init.d/calculate-core stop
$cl-console-gui
На четвёртый день, уже получив какой-никакой опыт, решил всё снести и начать заново. Поэтому вновь запустил ту команду, но система успешно не загружалась, вообще никак, ничего не помогало, включая изменение команды, переустановки, chroot. Печаль … (позже я понял, что намутил с разметкой и не заметил этого). Но теперь есть опыт разбиения разделов, которого раньше не было, поэтому пошёл в графическую консоль ставить оттуда.
Спустя N дней перепробовал разные варианты: среди них голая консоль с перебором своих параметров (установка командой cl-install из работающей системы), ввод этих же команд при загрузке cls с флэшки — тут пробовал и свои готовые с правкой, на которые ругался установщик, и сочинил новые команды, упрощённый вариант прямо там, согласно 'cl-install --help| more', но установщик их не принял. Тут тоже не пошло.
Установка
Описанные выше способы имели существенные или не очень минусы, главное — я не мог загрузить ОС. Максимум система определялась в соседней и добавлялась в grub.cfg при выполнении команды 'grub-mkconfig-o /boot/grub/grub.cfg', никакой закономерности я не выявил. Может и есть на форуме способы создания grub, не искал. Загружал только со сторонней помощью.
Тогда вернулся к варианту установки из консоли графической. Этот вариант является наиболее простым и быстрым. Тут есть наглядная разметка разделов (или выбрать уже созданные, задав им точки), настройки сетевые подхватывается автоматически и переносятся, как и некоторые прочие шаги из работающей системы, кроме pipewire (не поставляется в cls), образ я скачал более свежий. В таком варианте обновление grub происходит и изменения прописывают куда нужно как при первоначальной установке, поэтому система запускается без сторонней помощи.
Спустя ещё несколько дней и переустановок (да-да, я любитель переустановок и закрепления результатов во избежания погрешностей и ошибок, привет «Закон малых чисел», это же помогает набить руку и закрепить опыт) понял, что все описанные выше варианты имели проблемы либо не было стабильного результата, вернулся к наиболее простому варианту установки через графическую консоль из работающей системы, как установка из live режима. Минус подхода в отсутствии гибкости, присущей cl-install.
На этот раз установил с авторазметкой, предварительно сохранив нужное с того SSD. В таком случае установщик создаёт маленький загрузочный раздел, как его создать самостоятельно, я не встречал, а по аналогии с текущей системой в GParted создать не удалось. Графический установщик тоже про него не знает, есть галочка «Установить UEFI загрузчик», но, во-первых, у меня система не загружена как UEFI, во-вторых, раньше загрузчик не ставился и на этом этапе всплывала ошибка, при этом всё равно система себя прописывает куда нужно, успешно загружалась, этапы конфигурирования grub по-прежнему были.
Загрузчик не ставится уже давно (если его отметить птичкой при установке в графике, установщик выдавал ошибку на этапе настройки grub). Спустя время всё-таки нашёл материал о том, как разметить разделы в Calculate правильно (тут опять же благодарность scorpii, который мне ранее подсказал в комментариях ранее). Но про загрузочный раздел не упоминается.
Когда успешно загрузил ту систему и без дополнительных манипуляций, то сперва создал сертификаты пользователя (согласно инструкции выше), потом обновил через cl-update, установил sudo. Пользователь не был рутовым, для чего его прописал в /etc/sudoers (похоже, на этапе установки я не добавил его в нужную группу). Из установленной подключился через chroot, установил мир (world, на этот раз только мир, не пихая другие сеты), Xfce, в файл /etc/conf.d/display-manager добавил строку для запуска SDDM, который работает более стабильно (хотя эта сущность не родная), нежели LightDM.
Для моего пользователя прописан автовход, задаётся в настройках конкретного DM, как правило, папка /etc/
/etc/lightdm/
/etc/sddm.conf.d/
[Autologin]
User=xfce
Session=xfce.desktop
Поскольку на этапе установки это не задаётся, то изменить имя хоста можно вручную в файле /etc/conf.d/hostname. Утилиты консольные, привычного cl-console-gui тут нет, поэтому видеокарту выбрал командой
cl-setup-video --video nvidia
Система по умолчанию получается более лёгкой и стерильной. При первом запуске было 700+ пакетов. На этом в принципе всё, дальше всё готово к обычному использованию и доустановке всего нужного или не очень. Тут становится заметно, что для не которых программ зависимости уже были предустановлены, то есть их установка тянет за собой куда больше пакетов, чем в стандартной готовой сборке, поэтому некоторые программы заменил на более "лёгкие".
Заключительные слова
Стоило оно того? Я считаю, что да, однозначно, мне было интересно поиграться, получить опыт создания не готовой системы, а чуть докрутить её самостоятельно. Если смог я, то и другим это под силу при наличии желания и времени, разумеется. Делал в первый раз и у меня на это ушла примерно неделя в начале, суммарно считай две недели, занимался как хобби, при наличии желания, а оно было. Просто поставить и пользоваться хватит и пару дней.
Минусом можно считать, что всё-таки не получилось поставить согласно изначальному плану, то есть через cl-install со своим набором параметров, нет графической консоли, придётся привыкать к терминальным командам.
В конце хотелось бы выразить признательно пользователям сайта, которые помогали и поспособствовали переходу: scorpii, vantiki, некоторым другим, чату поддержки Calculate в Telegram за помощь в решении технических проблем, оттуда же взята инструкция по созданию сертификатов (от рута они не нужны). Надеюсь и буду рад, если материал сподвигнет кого-то попробовать данное приключение и проделать описанные процессы самостоятельно, поможет в решении уже имеющихся проблем, снимет вопросы и окажется полезной в получении своего опыта.
Комментарии
10:11
О, сколько нам открытий чудных
Готовят просвещенья дух,
И опыт, сын ошибок трудных,
И гений, парадоксов друг,
И случай, бог изобретатель.
12:36
13:50
12:01
12:04
Мне кажется, некоторые современные программы установки плохо отрабатывают в Legacy, от этого пользователи сообщают о странных проблемах. Вот и вы сбивчиво рассказали и установка у вас явно не окончательная. На MBR больше 4-х разделов (первичных) не создать, у вас они уже есть, так что 143,56Гб - "висит груша - нельзя скушать".
Я выставляю в bios на всех ПК загрузку только UEFI - никаких проблем при установке, а их было много. И не надо следить за режимом загрузки, Legacy просто не загрузится, никаких гибридных разделов и прочих приколов переходного периода. В некоторых довольно старых bios полностью Legaсy не отключить, тогда нужно самому следить, для какого режима записана флешка или как вы грузитесь с Ventoy, а он(а) по всякому умеет.
У меня другое исследование: сколько загрузочных записей влезет в память nvram UEFI. Записал 10 и добавил memtest - всё вошло и работает. Правда в одном bios (самом старом), когда хочу переставить порядок, все строки в окошке не помещаются, дальние в списке не достать, а скрол мышью не работает, приходится делать промежуточную перестановку.
Рекомендую вам перейти на UEFI, хотя это переставить всё на ПК. Зато потом прямо другая жизнь - все установщики будут всё понимать и не будет странностей.
12:43
Вот я тут ставил CachyOS дважды, может потому что и не ставится, ошибку выдаёт, что надо загружать флэшку в режиме UEFI (в boot меню). Это можно сказать атавизм из пришлого, когда я ставил через Calamares и если загружать в UEFI, то там не было установки загрузчика (или он там не нужен был …). Но с тех пор привычка осталась
14:05
В режиме Legacy не были готовы к 2Тб и когда появились GPT, то чтобы не было перекрытия при обращениях к памяти, на диск GPT записывается спец. информация об этом, даже если диск меньше 2Тб. С GPT Legacy работает не так же, как UEFI, они не так видятся, не нативно. То, что у вас на картинке из Gparted - это рукотворное нечто. "Так получилось" подправляем на "мне так удобнее" и до следующей переустановки. Раз уж в Legacy и диск небольшой, его в MBR и загрузчик на него же.
Второй абзац не весь понял. CachyOS - современный и может в Legacy MBR вообще не рассчитан или плохо понимает. Дальше, если жил в Legacy, потом кого-то загрузил в UEFI, то если он умный, то видит, что ESP раздела нет, но есть mbr boot, тогда, чтобы не мешать, не предлагает установку загрузчика.
13:49
12:56
Круть крутейшая!..
Потрудился зело. - Наблюдал за мучениями в TG.
Я такого не осилю.
Вобщем респект!
13:38
13:47
14:22
17:00
cfdisk - делай раз
cl-install ... - делай два
Через пару минут перегружаетесь в установленную систему и ставите всё что нужно и ненужно!
Результаты разные, потому что Вы, видимо, при неоднократной установке не форматировали разделы.
Должно так: cl-install -d /dev/sdc1:/:btrfs:YES ... Иначе, если тип ФС совпадает форматирования не будет.
17:25
Конечной цели тут нет, это описано во вступлении и в заключении.
17:36
Если просто сделать (установить, закрыть и удалить), то опыт и знания не зафиксируются, надо изложить на бумагу (в письменной форме), чтоб был какой-то результат.
18:47
Это как ездить на велосипеде, если один раз поехал, то разучится потом сложно! Разберитесь не торопясь один раз, там ничего сложного, хоть из live, хоть из рабочей системы...
23:32
Ещё раз — в консоли у меня в первый раз установилось (команду я составлял 2-3 дня с правками), так что тут вопросов нет. В процессе на интересующие меня вещи ответы получил. При повторных установках не было только загрузчика, а про grub-install только ниже прочитал, ранее знаком не был.
Резюмируя: после написания, обсуждения в комментариях я потом переварю, осознаю и может повторю описанное, только уже буду на ступеньку выше )
16:56
17:32
18:21
Независимо от ответа есть следующий вопрос. Вы хорошо объяснили и подали то, что хотели? Этот момент более коварный, чем первый, потому что видел полно примеров, когда доктора наук и член.коры. читали лекции, а ни фига не понятно даже их коллегам, которые тоже слушали, не то, что студентам.
Почему такие вопросы? Потому что вижу просто описание того, что делалось, без понятного направления и причин. Как броуновское движение с иногда отрытыми глазами и вспышками воспоминаний, что было и видел.
Я отбросил всё про Кальку и старался понять только эпизод с загрузчиком и разметкой для него. Внимательное рассмотрение картинки Gparted меня поставило в тупик. Как так получилось, а если сознательно сделано, то опять же как и зачем? Если на sda1 загрузчик, то почему такая точка монтирования? Если загрузчик на sda4, то почему из какого-то образа? Как не размеченная часть оказалась между другими разделами?
Вот три сосны:
bios может legacy/uefi,
ventoy умеет legacy/uefi,
разметка mbr/gpt.
Начинать с bios, а в нём может быть не отключаемая дуальность, тогда нужно помочь однозначностью на флешке, но с ventoy тогда нужно умело, и далее, точно зная расклад, уже вдумчиво gpt или mbr.
.
Дважды ставил Кальку и оба раза grub не устанавливался. Заходил из соседней и ставил grub-install без проблем. Грешил на версии grub, потому что с ними и на Debian были проблемы, но сейчас более новая версия, а проблемы, судя по всему, остались.
18:44
Что-то Вы делаете не так. Ставиться и в mbr и в UEFI режимах, grub устанавливается при установке и загружается без вопросов.
20:02
Не совсем точно сказал. Grub устанавливался, grubx64.efi тоже, а вот запись в nvram UEFI не прописывалась. Что можно делать не так? И как нужно?
21:09
21:28
Я за этим 2.06 потом "следил". В Параболе он не встал на nvme, а на sata встал, в Debian установка в конце вешала комп, но загрузчик был везде после горячей перезагрузки. Всё проверено по 2-3 раза.
Я не знаю, как пользователь может повлиять, разве что другое железо предложить и чашку кофе.
После этого много чего ставил и всё нормально. Может теперь я живу более правильно, чем раньше?
23:08
Вот, собственно, у меня такая же проблема, чтоб граб не ставится (в ручном режиме, надо uefi, на автомете см. выше)
23:21
Строка установки с раздельным корнем и хомяком без свапа. Grub ставится в mbr диска.
Разметка: sda1=5М bios-boot; sda2=20G root; sda3=30G /var/calculate; home=/var/calculate/home
cl-install --mbr /dev/sda -d /dev/sda2::ext4 -d /dev/sda3:/var/calculate:ext4 -d /var/calculate/home:/home --hwclock UTC --timezone Europe/Moscow -l ru -k us -u yourusername:all:sudo,wheel,default
23:35
23:39
Все сработает, только нужно создать маленький раздел bios-boot не форматируя его, размер от 1Мб
Обычно я его создаю перед корнем по списку.
Вообще для установки в консоли не нужно форматировать диски, только создать таблицу разделов для системы, где 1-ый - bios-boot, далее корень и все остальное. Параметры файловой системы задаете в cl-install, разделы отформатируются в процессе установки.
23:55
23:57
по-умолчанию ext4
20:24
20:46
20:55
22:13
Сейчас еще раз ставлю с раздельным корнем, хомяком, без swap в legacy - опять все заработало. GUI накатывай и делай, что хочешь. Не пойму, в чем у Вас возникла загвоздка?
23:19
https://pingvinus.ru/note/calculate-linux-scratch-install-report#c103255
Проблема в консоли только с загрузчиком, только по этой причине я повторно ставил в gui, консоль не ставится загрузчик, его нет в перечисленных параметрах (--efi /dev/sdX/ или как там правильно задаётся).
23:24
https://pingvinus.ru/note/calculate-linux-scratch-install-report#c103268
ps
--efi /dev/sda1 - установка загрузчика в efi-раздел диска
--mbr /dev/sda - установка загрузчика в mbr диска (тут указывается диск, а не раздел)
для gpt диска обязательно создать раздел размером от 1 Мб с меткой bios-boot и не форматировать его (имитация mbr)!
для dos не нужно создавать раздел, все пишется в master boot record диска
23:46
23:53
для efi нужен раздел efi, размером от 100Мб (тоже не требует формата)
строка --efi /dev/sdXY
для bios на gpt нужен раздел bios-boot от 1 МБ неформатированный
строка --mbr /dev/sdX
05:06
Bios+MBR
Загрузочный раздел не нужен. Строка cl-install --mbr /dev/sdX
Bios+GPT
Загрузочный раздел 1 Мб с флагом bios_grub. Строка cl-install --mbr /dev/sdX
UEFI+GPT
Загрузочный раздел EFI размер от аппетитов и капризов инсталяторов, требований fw-update. Строка cl-install --uefi /dev/sdXY
P.S.: При авторазметке инсталятор загрузочные разделы создаст сам, либо efi, либо bios_grub. Ручная разметка позволяет выбрать место на диске и размер, рекомендую использовать её! В графике принцип тот же.
12:47
Благодарю за чётко расписанные команды, есть смысл пробовать заново.
12:59
13:08
13:34
Самое верное, что в графике, что в cli.
19:17
Нашёл такой. Проверил, работает сразу после запуска — в моём случае достаточно ПКМ и там выбрать "Запустить sh". Осталось теперь с кривой скорости/температуры разобраться. Единственное, что меня смущает, что последний выпуск 2 года назад. Важно ли это? Так-то работает.
https://github.com/nan0s7/nfancurve
02:50
Пока параметр GPUFanControlState в драйверах Nvidia работает всё будет робить. Кривая скорости задается в конфиге, можно несколько конфигов создать (2 режима на каждом конфиге) и запускать так, например:
temp.sh -c config_1 -D
09:36
1. Типичное Legacy, многими поддерживается, но некоторые уже бросают. Диски от 2Тб загрузочными быть не могут.
2. Гибридный вариант переходного периода. Вероятность косяков и проблем выше, но кто разобрался и у него работает, говорит, что ничего сложного и ему даже так удобнее.
3. Как бы новый подход, хотя ему более 14-ти лет. Поддерживается всеми, даже ретроградами, часто вариант по умолчанию. Первые годы, но всё реже и реже, встречались вопросы к прошивкам UEFI. Если у вас не старше 10-ти лет, то скорее всего проблем не будет, если старше, то внимательнее с экзотическими вендорами.
13:16
14:20
08:43
11:34
Физически нельзя разместить больше разделов в MBR записи.
Но можно сделать один раздел extended, внутри которого можно создать свою таблицу разделов, и соответственно создавать дополнительные подразделы в расширенном разделе, и форматировать уже их. Так можно обойти ограничение в 4 раздела на диске.
Extended может быть только один. После extended нельзя создавать primary.
10:48
За отчёт спасибо.
В любом случае.
13:48
Утилита cl-update из пакета calculate имеет несколько опций запуска.
На страничке wiki в разделе "Полезные опции запуска", приводится пример запуска команды с флагом --rebuild-world:
https://wiki.calculate-linux.org/ru/system_update_guide
Эта опция ТОЛЬКО для полной пересборки вашей системы и приведения ее к состоянию последней ночной сборки! В конце будет запрос на удаление неиспользуемых пакетов, а это - ВСЯ ВАША СИСТЕМА.
1) Будьте осторожны и не отвечайте на этот запрос "yes".
2) Пока не исправите, при каждом вызове cl-update или emerge --depclean --ask --verbose (коротко: emerge -acv) будет появляться запрос на удаление неиспользуемых пакетов, которые таковыми не являются.
3) Запуск от имени суперпользователя eix-update && eix-installed all исправит ситуацию и теперь эти пакеты не будут считаться "ненужными"
4) Обновить систему можно не вызывая cl-update, которая автоматически запускает очистку от "ненужных" пакетов.
emerge --ask --verbose --update --newuse --deep @world (или коротко: emerge -avuND @world)
Странно, но уже второй случай, когда ко мне обращаются с этой ситуацией, в первом чел ответил "yes" и делать было уже нечего, все ставили заново. По мне, cl-update, да и другие утилиты calculate вещь конечно хорошая, но с некоторыми флагами может принести неопытному пользователю неприятности. Тут или wiki нужно корректировать, или вообще убрать оттуда описание этих опасных флагов. С emerge оно как-то надежней )))