2024-12-10

vak: (Знайка)


Chimera Linux — новый дистрибутив Линукса, запущенный в середине 2021 года. Это универсальная операционная система на основе бинарных пакетов, которая стремится быть практичной и чистой, устраняя при этом различные недостатки среднестатистического дистрибутива Linux. Одна из вещей, делающих его уникальным, заключается в том, что это не-GNU дистрибутив, использующий комбинацию пользовательских утилит, происходящих из FreeBSD, набор инструментов LLVM/Clang и musl libc, помимо прочего. Вдобавок ко всему, он не основан ни на одном из существующих дистрибутивов и поставляется с собственной инфраструктурой пакетов и различным пользовательским программным обеспечением, которое было необходимо для заполнения пробелов. Он также очень портативен, уже поддерживает x86_64, POWER, AArch64 и RISC-V, и, возможно, появятся и другие.

Дистрибутив следует модели плавающего выпуска и по умолчанию использует рабочий стол GNOME с Wayland. Инфраструктура сборки индивидуальных пакетов была создана после изучения недостатков эквивалентных систем в других дистрибутивах, стремясь быть гибкой и быстрой, при этом подчеркивая корректность и позволяя полностью изолированную, непривилегированную сборку. Результатом являются бинарные пакеты/репозитории для apk-tools, которые Chimera использует в качестве менеджера пакетов интерфейса. Инструментарий сборки также может поднять систему из исходного кода, используя в качестве базы сторонний дистрибутив на основе musl, что делает ее легко загружаемой. Полученные репозитории используют ThinLTO LLVM почти для всех пакетов, и особое внимание также уделяется усилению безопасности (включая CFI и другие). Управление службами основано на пакете Dinit с индивидуальным набором основных служб и является полностью контролируемым, основанным на зависимостях и направлено на обеспечение практического паритета с systemd, при этом оставаясь простым и понятным (и, что самое важное, переносимым). Важным аспектом проекта является также улучшение переносимости программного обеспечения по всему стеку, улучшение положения дел как для Linux, так и для BSD.

Самое главное, это не догматичные, нишевые усилия. Это система, которая пытается быть прагматичной, предоставляя полный, отточенный пакет с четко определенными настройками по умолчанию, одновременно устанавливая свою собственную идентичность и не будучи похожей на что-то другое. Мы также хотим создать сообщество, которое будет открытым и гостеприимным, без бессмысленного элитизма, и, что самое важное, получать удовольствие от всего этого.
vak: (Daemon)
Just finished installing Chimera Linux as a virtual machine on my Macbook M2 Max. It's a beautiful OS, but getting it up and running felt like a time warp back to the early 90s. The installation process was as nostalgic as 386bsd, complete with a healthy dose of manual configuration. 😀 When installed, the system seems pretty stable and efficient, with 12 cores and 16 Gbytes of memory.



For full documentation, see chimera-linux.org/docs/installation.

(1) Download live image of Chimera Linux for ARM64 architecture:
    wget https://repo.chimera-linux.org/live/latest/chimera-linux-aarch64-LIVE-20241204-base.iso
(2) Create a virtual machine on UTM.
Press '+', select Virtualize, then Linux.
Press 'Browse...' and choose ISO image you've downloaded.
Make disk size 16 Gbytes.
Start the VM and wait until "login:" prompt.

(3) Log in as root with password 'chimera'.

(4) Invoke 'cfdisk /dev/vda'.
Select label type 'gpt'.

(5) Choose 'New' to create a first partition.
Enter partition size '200M'.
Choose 'Type' to change partition type to 'EFI System'.

(6) Choose 'Free space' line.
Choose 'New' to create a second partition.
Enter partition size '15G'.

(7) Choose 'Free space' line.
Choose 'New' to create a third partition.
Use the rest of the disk, i.e. partition size '823M'.
Choose 'Type' to change partition type to 'Linux swap'.

(8) Choose 'Write' and enter 'yes'.
Then choose 'Quit'.

(9) Format EFI filesystem:
    mkfs.vfat /dev/vda1
(10) Format root filesystem:
    mkfs.ext4 /dev/vda2
(11) Format swap partition:
    mkswap /dev/vda3
(12) Mount root filesystem:
    mkdir /media/root
mount /dev/vda2 /media/root
chmod 755 /media/root
(13) Mount EFI partition:
    mkdir -p /media/root/boot/efi
mount /dev/vda1 /media/root/boot/efi
(14) Install packages over network:
    chimera-bootstrap /media/root
(15) Update the installed filesystem:
    chimera-chroot /media/root
apk update
apk upgrade --available
(16) Install Linux kernel:
    apk add linux-stable
(17) Enable swap:
    swapon /dev/vda3
(17) Generate fstab:
    genfstab / >> /etc/fstab
(18) Install other packages:
    apk add bash vim git
(19) Set root password:
    passwd root
(20) Refresh initramfs image:
    update-initramfs -c -k all
(21) Install bootloader:
    apk add grub-arm64-efi
grub-install /dev/vda
update-grub
(22) Shut down.
    exit
sync
poweroff
(23) Disable ISO image in UTM configuration.

(24) Start the Chimera virtual machine again. It should boot from internal drive. You can log in as root with password you've set on step (19).

Now the system is complete and bootable. So let's configure it for our needs:

(1) Create a regular user with admin privileges:
    useradd vak
passwd vak
usermod -a -G wheel,kvm vak
(2) Set hostname:
    echo chimera > /etc/hostname
(3) Set time zone:
    ln -sf /usr/share/zoneinfo/America/Los_Angeles /etc/localtime
(4) Enable system logging:
    dinitctl enable syslog-ng
(5) Enable remote login:
    apk add openssh
dinitctl enable sshd
(6) In case you need GUI, let's install the graphical interface:
    apk add gnome
dinitctl enable gdm
For the rest of configuration options see chimera-linux.org/docs/configuration/post-installation.
vak: (Daemon)
Меня неожиданно порадовал этот проект. Не знаю как пойдёт, но у него потенциально большое будущее. Попробую пояснить почему.

Что такое современная опенсорсная операционная система? Это сообщество + ядро + /bin/init + libc + пакеты приложений. Так по пунктам и буду рассуждать.

1. Новая операционная система общего назначения, строящая по принципам скорее BSD чем GNU. То есть сathedral супротив bazaar, в терминах Эрика Рэймонда. За последние десять лет движение BSD стало как-то утрачивать энергию. Здесь есть шанс на возрождение.

2. Используется ядро Linux вместо FreeBSD/NetBSD/OpenBSD. У Линукса огромное преимущество в драйверах и поддержке со стороны бизнеса. Всякий производитель процессоров или компьютерных плат нынче предоставляет версию линукса в драйверами. Для BSD нет смысла пытаться догнать уходящий поезд. Проще к нему присоединиться.

3. Ядро это только половина юникса, а вторую половину, возможно более важную для юзера, определяет набор системных процессов. В классике это был /bin/init, а нынче всё чаще systemd. И то, и другое имеет серьёзные проблемы. Здесь эти проблемы решено рубить радикальным образом, опираясь на современные идеи. Новый подход dinit выглядит весьма неплохо.

4. Теоретически приложения общаются с ядром через системные вызовы, а на практике через набор библиотек нижнего уровня. Условно говоря, это libc, libc++ и прочие. В мире GNU оно всё стандартизовалось вокруг glibc. И это проблема, так как сделано оно там не лучшим образом. Громоздко, часто неэффективно, а переделывать уже поздно: субстанция слиплась и затвердела. 😀 Здесь же за основу взяты библиотеки из мира BSD. Они написаны более качественно, понятно, а главное эффективно и компактно.

5. Установка приложений из централизованных репозиториев и беспроблемное обновление их (и самой операционной системы) по ходу жизни - критически важная часть функциональности. Иначе никто не будет такой системой пользоваться. Те же Debian и Ubuntu обязаны популярностью именно своей системе пакетов и обновлений. Был даже проект kFreeBSD, с ядром BSD и пакетами в формате Debian (не выжил). Многое там сделано по уму, но спроектировано 30 лет назад, тяжеловесное и переусложнённое. Здесь же, в Chimera Linux, взята другая технология пакетов "apk-tools", современная, но хорошо отработанная в Alpine Linux. Однако система сборки пакетов сделана новая, на основе Python. Выгляди намного проще и надёжнее.

Я установил виртуальную Химеру на макбуке, закачал и собрал несколько своих проектов - всё отлично, всё нравится. Поглядим, как дальше у проекта будет судьба складываться. Если кого интересует готовый образ установленной Химеры для UTM - скажите, дам скачать. Ужатый файл размером 1.1 Гбайт.