LINUX.ORG.RU

Установка NixOS на систему с Intel Atom IA-32 UEFI + 64bit CPU

 , , , ,


0

1

Инструкция по установке x86_64 системы на компьютер с 32х-битным UEFI. Вдруг кому пригодится. Пишу с самой машины.

  1. грузимся с i686 NIXOS_ISO, ставим минимальную систему (по сути, достаточно только GRUB2 на EFI-разделе).
  2. грузимся x86_64 NIXOS_ISO из свежеустановленного GRUB2 через командную строку (c -> cat (hd0)/isolinux/isolinux.cfg -> читаем ENTRY NIXOS DEFAULT, берем оттуда kernel cmdline (придется печатать вручную) -> linux (hd0)/boot/bzImage *наш cmdline из isolinux.cfg* intel_idle.max_cstate=1 (cstate - чтобы Atom не вис через некоторое время после загрузки) -> initrd (hd0)/boot/initrd -> boot) ставим систему как обычно, только добавляем в конфиг
    nixpkgs.config.packageOverrides = pkgs: { grub2 = (import <nixpkgs> {system = "i686-linux";}).grub2; }
    
  3. Перезагружаемся в рабочую систему и пишем инструкции на ЛОР!

Примечания:

  • systemd-boot, который по умолчанию грузит nixos liveCD, не умеет загружать ядра чужой архитектуры, поэтому нельзя просто впилить 32хбитный загрузчик в NIXOS_ISO.
  • GRUB в NIXOS_ISO у меня впилить не получилось
  • pkgs.i686Linux почему-то вызывает бесконечную рекурсию в packageOverrides, поэтому пользуемся такими костылями.

Ответ на: комментарий от t184256

В том, что 32-битная NixOS хоть и вставала, но в ней куча проблем (начиная с того, что пакеты приходится самому локально собирать). А 64-битная ОС не грузится на 32bit UEFI по-умолчанию из-за systemd-boot, который не умеет в чужие архитектуры. Эта инструкция костыльная, но лучше этого сделать довольно сложно (сборка ISO - очень нетривиальная часть nixos, поэтому GRUB впилить проблематично).

balsoft ()
Ответ на: комментарий от Thetan

Кстати говноут весьма неплох в качестве читалки/смотрелки фильмов/переписывалки. Приличный размер экрана и очень низкий вес - что ещё нужно для счастья? 2 гигов оперативы и атома с головой хватает для его задач. Под виндой это было неюзабельное говнище, даже пуск открывается секунды по 3-4, хотя SSD. Если бы оно под виндой бодренько фигачило, не стал бы даже париться. А теперь, когда уже разобрался, почему бы не помочь другим?

balsoft ()
Ответ на: комментарий от anonymous

Ага, в засранной обновлениями системе, которую нужно самому собирать из исходников. Спасибо, я уже достаточно посидел на слаке. Уж лучше джента, но и там тоже куча проблем. NixOS хорош для этой машины уже хотя бы тем, что пакеты скачиваются по большей части бинарные, и париться с обновлениями не надо - всё работает после обновления так же хорошо, как и до. Ну и огромным плюсом идёт то, что там автоматом разворачивается и поддерживается в актуальном состоянии привычный мне конфиг с кейбиндами, темами и приложениями - иначе говоря, удобно пользоваться ноутбуком.

(я не хейтер слаки и дженты, просто надоела постоянная мутотень с пересборками и падениями при обновлениях)

balsoft ()
Ответ на: комментарий от balsoft

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

anonymous ()
Ответ на: комментарий от anonymous

Надоело проявлять «умелость», хочется просто пользоваться. Компьютер - это не только игрушка для красноглазиков (хотя играться со слакой весело, это да), но ещё и инструмент. Я отлично помню, как после очередного обновления какого-то демона слака просто не загрузилась. Даже при разборе полетов в логах никакого криминала найти не удалось. Ну я плюнул и пересел на дженту, а когда и там надоела нестабильность и вечное конпеляние из исходников, сел на NixOS. Стабильность почти как у бинарных дистров, при этом та же самая свобода и легкость внесения изменений в исходный код, как у красноглазых дистров. Просто работает.

balsoft ()
Ответ на: комментарий от balsoft

Тогда странно, что ты сел на NixOS, а не на debian/centos. За стабильностью туда идут. Никс все же больше известен не стабильностью, а возможностью отката. Откат != стабильность.

anonymous ()
Ответ на: комментарий от anonymous

По сравнению со слакой NixOS - образец стабильности. Возможность откатов только улучшает стабильность.

debian/centos

Бинарные дистры же, нет возможности легко оверрайдить пакеты, нет киллер-фич nixos (reproducible builds, configuration.nix, rollbacks)

balsoft ()
Ответ на: комментарий от t184256

Не исключено. Наверняка можно взять другой дистр, но зачем? Если попытаться воткнуть две флешки, загрузить с одной GRUB, и попытаться загрузить NixOS с другой, ничего не выйдет, а если все равно нужно ставить на eMMC, то у меня NixOS i686 всё равно под рукой.

balsoft ()
Ответ на: комментарий от anonymous

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

balsoft ()
Ответ на: комментарий от balsoft

заинтриговали...

т.е. просто «подкинуть» 32bit UEFI grub-«модуль» на установочную флешку с NixOS «не поможет»? (под загрузочной флешкой я полагаю USB drive с FAT32-разделом, на который скопированы каталоги и файлы из установочного образа NixOS)

-----
NixOS «не видел» и «не пользовался»

anymouze ()
Ответ на: комментарий от balsoft

Кстати говноут весьма неплох в качестве читалки/смотрелки фильмов/переписывалки. Приличный размер экрана и очень низкий вес - что ещё нужно для счастья?

А что это за ноут?

Deleted ()
Ответ на: заинтриговали... от anymouze

Нет. Нужно ставить весь grub. Ставить grub так, чтобы он загрузил NixOS - задача нетривиальная, как я и написал в примечаниях. Если кому-то удастся - я удалю этот пост, но пока что нигде я не читал про успешные попытки.

balsoft ()
Ответ на: комментарий от Deleted

AMD

Сильно греется?

На нём десяточка шевелится неторопливо.

Линух нормально работает? Драйвера для WiFi есть?

бук

Можешь подсказать модель? Отцу читалка/смотрелка тоже нужна, но не очень охота опять пердолится с дешевыми интелами.

balsoft ()
Ответ на: комментарий от balsoft

Сильно греется?

При ненагруженном серфинге если поставить руку под столом на место, где он стоит, можно ощутить, что столешница сильно горячее в этом месте, чем температура тела. :D

Линух нормально работает? Драйвера для WiFi есть?

Да, всё норм работало. Кроме гнома 3. Он тормозил жутко.

Можешь подсказать модель?

Бук можно только б/у найти. Он уже сильно старый. Acer AO 722.

Deleted ()
Ответ на: комментарий от Deleted

Бук можно только б/у найти. Он уже сильно старый. Acer AO 722.

Жаль. Но всё равно спасибо.

При ненагруженном серфинге если поставить руку под столом на место, где он стоит, можно ощутить, что столешница сильно горячее в этом месте, чем температура тела. :D

Как владелец ноутбука (большого и мощного) с AMD, прям ощутил тепло в коленях при прочтении этой фразы! (Правда в моем случае греется выше 30-40 градусов он только при конпеляции или рендеринге)

balsoft ()
Ответ на: комментарий от anonymous

Очередной теоретик. 32-битный линукс на ноуте ТСа толком работать не будет, только 64. Затем так или иначе нужны будут манипуляции для загрузки в 32-битном UEFI.

Thetan ★★ ()

Я так понял, что пакетный менеджер nix может быть установлен side-by-side с любым другим. Зачм тогда использовать специальную Nix OS, если можно использовать nix в любимой операционной системе

Einstok_Fair ★★ ()
Ответ на: комментарий от Thetan

Звук из колонок есть?

После того, как попердолился с Alsa, он есть. Пердолинг - это вытаскивание драйверов из Androidx86 под эту платформу и установка этих драйверов на NixOS.

balsoft ()
Ответ на: комментарий от balsoft

Почему недолговечный?

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

После того, как попердолился с Alsa, он есть. Пердолинг - это вытаскивание драйверов из Androidx86 под эту платформу и установка этих драйверов на NixOS.

Ужас. Но справедливости ради, в винде тоже звук без толкача не заводится. А в наушниках тихий треск бывает?

Thetan ★★ ()
Ответ на: комментарий от balsoft

пакеты приходится самому локально собирать

Кросскомпиляцию NixOS не пробовал еще? Вроде иммутабельность должна позволять собрать пакеты на мощной пеке и потом раскатывать их на целевую архитектуру через бинарный кеш.

s9gf4ult ★★ ()
Ответ на: комментарий от s9gf4ult

Пробовал, но это же всё равно собирать из исходников всякие chromium с KDE. Кстати очень прикольно так между кучей машин раскатывать конфигурацию - скачиваешь с cache.nixos.org и собираешь пакеты на одной машине, остальные подтягивают.

balsoft ()
Ответ на: комментарий от Einstok_Fair

Просто Nix и воспроизводимость - это такая вещь, которая должна захватить весь мир. NixOS - это тоже полумера. По-хорошему, нужна новая content-addressable файловая система (типа IPFS, только юзабельная). Далее нужен новый софт, основанный на воспроизводимости, иммутабельности, контентной адресации. Включая компиляторы и линкеры - вместо того, чтоб ссылаться на библиотеку «/usr/lib/libz.so» твой бинарник будет ссылаться на отдельные подпрограммы с хэшами «bv6znzsv2qkbcwwa251dx7n5dshz3nr3» и «di0d17idlw6fxf3qwpfyxciw94ywi664». Далее само собой понадобится новое ядро. Далее будем думать над воспроизводимым железом и т. д.

anonymous ()
Ответ на: комментарий от anonymous

Ну за иммутабельностью действительно будущее, не известно, правда, на сколько далекое. Это если ты своим комментом не пытался намекнуть на «ненужность» и «бесполезность» оной.

s9gf4ult ★★ ()
Ответ на: комментарий от anonymous

Отличная ось, давно хочу попробовать, лучший дистр имхо.

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

А недостаток нужно софта можно компенсировать при помощи snap, flatpak и appimage?

snap - в разработке, flatpak - отлично работает из коробки, appimage - есть утилита для запуска (из коробки он не умеет подхватывать нужные библиотеки).

С другой стороны, недостатка софта как-то не ощущается, по сравнению с бинарными дистрами так софта вообще в изобилии.

balsoft ()
Ответ на: комментарий от balsoft

Понравится не всем, но ощущения очень интересные, для разработки - самый лучший ПМ и самый лучший дистр.

Дистр отличный, мануал тоже(причем и для новичков), куча киллерфич. За подобными проектами будущее.

snap - в разработке, flatpak - отлично работает из коробки, appimage - есть утилита для запуска (из коробки он не умеет подхватывать нужные библиотеки).

Думал что snap и flatpak вообще невозможны исходя из концепции дистра и возможный недостаток софта сможет решить appimage. А почему appimage из коробки не стартует? Он же все либы несет с собой.

anonymous ()
Ответ на: комментарий от anonymous

snap и flatpak вообще невозможны исходя из концепции дистра

Концепция дистра вполне позволяет устновку ПРИЛОЖЕНИЙ в отдельный каталог где-то в ~. Так что тут проблемы чисто реализационные (заставить snap видеть нужные библиотеки и бинари). Flatpak доказал, что это возможно.

А почему appimage из коробки не стартует? Он же все либы несет с собой.

Не все библиотеки он с собой несёт. https://github.com/AppImage/AppImages/blob/14c255b528dd88ef3e00ae0446ac6d84a2... и RTFM.

balsoft ()