<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>ОС on Sovol на mainline Klipper</title><link>https://sovol.lexfrei.dev/ru/zero/os/</link><description>Recent content in ОС on Sovol на mainline Klipper</description><generator>Hugo</generator><language>ru-ru</language><atom:link href="https://sovol.lexfrei.dev/ru/zero/os/index.xml" rel="self" type="application/rss+xml"/><item><title>Простая установка</title><link>https://sovol.lexfrei.dev/ru/zero/os/quickstart/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://sovol.lexfrei.dev/ru/zero/os/quickstart/</guid><description>&lt;h1 id="простая-установка--для-большинства"&gt;Простая установка — для большинства&lt;a class="anchor" href="#%d0%bf%d1%80%d0%be%d1%81%d1%82%d0%b0%d1%8f-%d1%83%d1%81%d1%82%d0%b0%d0%bd%d0%be%d0%b2%d0%ba%d0%b0--%d0%b4%d0%bb%d1%8f-%d0%b1%d0%be%d0%bb%d1%8c%d1%88%d0%b8%d0%bd%d1%81%d1%82%d0%b2%d0%b0"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;&lt;a href="https://sovol.lexfrei.dev/ru/zero/os/clean-slate/"&gt;Страница с чистого листа&lt;/a&gt; запекает всё в образ офлайн, руками. Тебе так не обязательно. Есть путь подружелюбнее: прошей базовый образ, дай ему подняться и ответь на короткий визард по SSH — тот же first-run опыт, что и на любой плате Armbian. Никакой правки ext4, никакого &lt;code&gt;debugfs&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Две вещи делают это простым на Zero:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;У платы есть слот microSD, и H616 грузит SD раньше eMMC.&lt;/strong&gt; Так что можно гонять всё с microSD — без ридера, без снятия модуля, без риска для стоковой eMMC. Оставь eMMC в покое как заводской бэкап, или &lt;a href="https://sovol.lexfrei.dev/ru/zero/os/in-place/"&gt;перенеси систему на неё позже&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Первый вход по SSH запускает дружелюбный setup-визард Armbian&lt;/strong&gt; (&lt;code&gt;armbian-firstlogin&lt;/code&gt;): он заставляет сменить пароль root, создаёт твоего пользователя и спрашивает locale + timezone — прямо в SSH-сессии.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Используй образ &lt;strong&gt;&lt;a href="https://github.com/lexfrei/sovobian/releases"&gt;Sovobian&lt;/a&gt;&lt;/strong&gt; для всего этого — это upstream Armbian CB1 с уже запечённым оверлеем eMMC 40 МГц, и он несёт ядро 6.12.68, где встроенный Ethernet работает из коробки. Обычный образ BTT CB1 гонит eMMC на 3× валидированного клока (смотри &lt;a href="https://sovol.lexfrei.dev/ru/zero/os/armbian/#what-almost-a-cb1-actually-means#what-almost-a-cb1-actually-means"&gt;разницу CB1&lt;/a&gt;) — не используй его.&lt;/p&gt;</description></item><item><title>Ванильный Armbian</title><link>https://sovol.lexfrei.dev/ru/zero/os/armbian/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://sovol.lexfrei.dev/ru/zero/os/armbian/</guid><description>&lt;h1 id="ванильный-armbian-на-плате-sovol-zero"&gt;Ванильный Armbian на плате Sovol Zero&lt;a class="anchor" href="#%d0%b2%d0%b0%d0%bd%d0%b8%d0%bb%d1%8c%d0%bd%d1%8b%d0%b9-armbian-%d0%bd%d0%b0-%d0%bf%d0%bb%d0%b0%d1%82%d0%b5-sovol-zero"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Миграция Klipper оставляет стоковый образ ОС от Sovol нетронутым — Klipper живёт в &lt;code&gt;/home/sovol&lt;/code&gt;, так что замена слоя Klipper никогда не переписывает rootfs или загрузчик. Для полностью вендор-фри машины последний слой — это ОС на eMMC. Это более трудный, деструктивный шаг (он переписывает всё загрузочное устройство).&lt;/p&gt;
&lt;p&gt;Это проверенный от начала до конца рецепт &lt;strong&gt;ванильного Armbian на стоковом 8 ГБ eMMC-модуле&lt;/strong&gt; — без кастомной сборки ОС, без замены модуля. Оригинальный разбор Armbian-на-Zero — &lt;a href="https://github.com/asnajder/zero-config"&gt;asnajder/zero-config&lt;/a&gt;, на нём это и строится; где они расходятся (в первую очередь на 8 ГБ модуле), разница объяснена ниже.&lt;/p&gt;</description></item><item><title>С чистого листа (eMMC-ридер)</title><link>https://sovol.lexfrei.dev/ru/zero/os/clean-slate/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://sovol.lexfrei.dev/ru/zero/os/clean-slate/</guid><description>&lt;h1 id="установка-с-чистого-листа-с-emmc-ридером"&gt;Установка с чистого листа с eMMC-ридером&lt;a class="anchor" href="#%d1%83%d1%81%d1%82%d0%b0%d0%bd%d0%be%d0%b2%d0%ba%d0%b0-%d1%81-%d1%87%d0%b8%d1%81%d1%82%d0%be%d0%b3%d0%be-%d0%bb%d0%b8%d1%81%d1%82%d0%b0-%d1%81-emmc-%d1%80%d0%b8%d0%b4%d0%b5%d1%80%d0%be%d0%bc"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Самый чистый путь ОС: снять eMMC-модуль, прошить его офлайн в USB-ридере, запечь всё, что нужно первой загрузке, и включить настроенную машину. Это ровно та последовательность, которой (пере)собирали референсную машину — дважды — так что каждый шаг пережил контакт с реальностью.&lt;/p&gt;
&lt;p&gt;Что нужно: eMMC-модуль в USB-ридере, Linux-машина или VM для офлайн-правок (macOS не может писать ext4 — см. заметку про офлайн-правки ниже), и MCU уже на mainline Katapult + Klipper (см. &lt;a href="https://sovol.lexfrei.dev/ru/zero/firmware/mcu-migration/"&gt;Миграцию MCU&lt;/a&gt;). Если MCU были на mainline раньше, они на нём и остаются — &lt;a href="https://sovol.lexfrei.dev/ru/concepts/"&gt;слой 2 переживает слой 3&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>На месте, без eMMC-ридера</title><link>https://sovol.lexfrei.dev/ru/zero/os/in-place/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://sovol.lexfrei.dev/ru/zero/os/in-place/</guid><description>&lt;h1 id="переустановка-ос-без-emmc-ридера"&gt;Переустановка ОС без eMMC-ридера&lt;a class="anchor" href="#%d0%bf%d0%b5%d1%80%d0%b5%d1%83%d1%81%d1%82%d0%b0%d0%bd%d0%be%d0%b2%d0%ba%d0%b0-%d0%be%d1%81-%d0%b1%d0%b5%d0%b7-emmc-%d1%80%d0%b8%d0%b4%d0%b5%d1%80%d0%b0"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Нет ридера, и не хочешь снимать модуль? Можно положить свежую ОС на eMMC прямо с работающей платы. Фокус в слоте microSD: H616 грузит SD раньше eMMC, так что ты загружаешь свежий образ с карты и оттуда клонируешь его на eMMC.&lt;/p&gt;
&lt;p&gt;Обходного пути по USB нет — плата не выводит порт USB-C / OTG, так что обычный маршрут &lt;code&gt;sunxi-fel&lt;/code&gt; + U-Boot &lt;code&gt;ums&lt;/code&gt;, чтобы достать eMMC по USB, отпадает (смотри &lt;a href="https://sovol.lexfrei.dev/ru/zero/os/armbian/#the-board-the-emmc-and-why-fel-is-off-the-table#the-board-the-emmc-and-why-fel-is-off-the-table"&gt;почему FEL отпадает&lt;/a&gt;). Загрузка с SD и клонирование — единственный путь без ридера.&lt;/p&gt;</description></item><item><title>Обновляемый Armbian</title><link>https://sovol.lexfrei.dev/ru/zero/os/updatable/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://sovol.lexfrei.dev/ru/zero/os/updatable/</guid><description>&lt;h1 id="как-держать-armbian-обновляемым"&gt;Как держать Armbian обновляемым&lt;a class="anchor" href="#%d0%ba%d0%b0%d0%ba-%d0%b4%d0%b5%d1%80%d0%b6%d0%b0%d1%82%d1%8c-armbian-%d0%be%d0%b1%d0%bd%d0%be%d0%b2%d0%bb%d1%8f%d0%b5%d0%bc%d1%8b%d0%bc"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Опасение, что апгрейд &lt;code&gt;apt&lt;/code&gt; «потеряет dts» и сломает eMMC, в основном беспочвенно, а реальное ограничение уже, чем кажется. Эта страница разделяет два этих вопроса.&lt;/p&gt;
&lt;blockquote class='book-hint note'&gt;
&lt;p&gt;&lt;strong&gt;Экспериментально в одном месте.&lt;/strong&gt; Всё про то, &lt;em&gt;почему&lt;/em&gt; ядро на hold, подтверждено и задокументировано. Путь &lt;em&gt;с&lt;/em&gt; hold (переход на более новое ядро с сохранением встроенного Ethernet) пока не проверен на Zero — он помечен ниже. Сделай &lt;a href="https://sovol.lexfrei.dev/ru/zero/os/recovery/#back-up-first-the-checklist#back-up-first-the-checklist"&gt;полный бэкап&lt;/a&gt; перед тем, как это тестировать.&lt;/p&gt;</description></item><item><title>Восстановление</title><link>https://sovol.lexfrei.dev/ru/zero/os/recovery/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://sovol.lexfrei.dev/ru/zero/os/recovery/</guid><description>&lt;h1 id="восстановление-и-бэкапы"&gt;Восстановление и бэкапы&lt;a class="anchor" href="#%d0%b2%d0%be%d1%81%d1%81%d1%82%d0%b0%d0%bd%d0%be%d0%b2%d0%bb%d0%b5%d0%bd%d0%b8%d0%b5-%d0%b8-%d0%b1%d1%8d%d0%ba%d0%b0%d0%bf%d1%8b"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Что делает каждый шаг в каждом пути обратимым и как вернуть машину, которая не грузится. Восстановление — это в основном история про бэкапы: сними правильные снапшоты, прежде чем что-то трогать, и мёртвый слой станет восстановлением вместо пересборки.&lt;/p&gt;
&lt;h2 id="back-up-first-the-checklist"&gt;Сначала бэкап — чеклист&lt;a class="anchor" href="#back-up-first-the-checklist"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Сними это, прежде чем что-то стирать. Именно они делают каждый последующий шаг обратимым.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Вендорский стек&lt;/strong&gt; (на уровне файлов, возобновляемый rsync — не сырой &lt;code&gt;dd&lt;/code&gt; по WiFi): вендорский &lt;code&gt;~/klipper&lt;/code&gt; как git bundle, &lt;code&gt;~/printer_data/config&lt;/code&gt;, &lt;code&gt;~/printer_data/build/*.bin&lt;/code&gt;, и сборочные конфиги под каждый чип &lt;code&gt;~/klipper/.config*&lt;/code&gt; (полезные затравки, даже несмотря на устаревшие flash-офсеты).&lt;/p&gt;</description></item></channel></rss>