Вместо длинных вступлений. Ниже ИИ анализ загрузочного лога с реального устройства и, (О УЖАС) даже с реальным багом в конце, который скажет больше чем я.
================================================================================
👑 BORG ARCHITECTURE: FULL SYSTEM BOOT TIME TRAFFIC STREAM (UNIFIED MONOLITH)
================================================================================
[00:00:00.000] Progress: Trying boot mode USB-MSD
[00:00:00.120] Boot mode: SD (01) order f46
[00:00:00.150] USB3[3] 002a1203 connected enabled
[00:00:00.180] USB3 root HUB port 3 init
[00:00:00.210] USB2[2] 00020ael connected
[00:00:00.240] USB2[2] 00200a03 connected enabled
[00:00:00.270] USB2 root HUB port 2 init
[00:00:00.310] MSD [01:00] 3.00 000000:03 register MSD
[00:00:00.340] HID [01:00] 1.16 000000:02 register HID
[00:00:00.380] Boot mode: RESTART (Of) order 0
[00:00:00.410] Boot mode: USB-MSD (04) order f
[00:00:00.450] MSD [01:00] 3.00 000000:03 LUN 0
[00:00:00.490] MSD READ_CAPACITY [01:00] 3.00 000000:03 lun 0 block-count 61702144 block-size 512
# --- ФАЗА АНАЛИЗА ТАБЛИЦЫ РАЗДЕЛОВ НАКОПИТЕЛЯ ---
[00:00:00.550] Trying partition: 0 -> type: 32 lba: 16384 'mkfs.fat' ' FIRMWARE ' clusters 130812 (8)
[00:00:00.590] Trying partition: 1 -> type: 32 lba: 16384 'mkfs.fat' ' FIRMWARE ' clusters 130811 (8)
# --- ИНЖЕКЦИЯ КОНТУРА ПИТАНИЯ ИЗ КОРНЕВОГО CONFIG.TXT ---
[00:00:00.640] Read config.txt bytes 769 hnd 0x15
[00:00:00.660] usb_max_current_enable forced to 1
# --- МИГРАЦИЯ В КОНТЕКСТ ГЕНЕРАЦИИ ОС ЧЕРЕЗ OS_PREFIX ---
[00:00:00.710] Read nixos/default/bcm2712d0-rpi-5-b.dtb bytes 82867 hnd 0xbb
[00:00:00.750] Read /config.txt bytes 769 hnd 0x15
[00:00:00.790] Read /config.txt bytes 769 hnd 0x15
# --- АТОМАРНАЯ ВЫГРУЗКА PAYLOAD В ОПЕРАТИВНУЮ ПАМЯТЬ ---
[00:00:00.840] Read nixos/default/initrd bytes 27952386 hnd 0xd1
[00:00:00.990] Read nixos/default/bcm2712d0-rpi-5-b.dtb bytes 82867 hnd 0xbb
# --- РАЗРЕШЕНИЕ СЕТОК ЗАВИСИМОСТЕЙ И ОВЕРЛЕЕВ ---
[00:00:01.040] Read /nixos/default/overlays/overlay_map.dtb bytes 6095 hnd 0x6064
[00:00:01.090] Read /nixos/default/overlays/bcm2712d0.dtbo bytes 1363 hnd 0x5f7e
[00:00:01.130] Read /config.txt bytes 769 hnd 0x15
[00:00:01.180] Read /nixos/default/overlays/vc4-kms-v3d-pi5.dtbo bytes 3306 hnd 0x6118
[00:00:01.220] Read /nixos/default/overlays/dwc2.dtbo bytes 801 hnd 0x5fb2
[00:00:01.260] Read /nixos/default/overlays/pcie-30.dtbo
[00:00:01.300] Read /nixos/default/cmdline.txt bytes 520 hnd 0xd0
# --- АППАРТНЫЙ ПРЫЖОК ЧЕРЕЗ ВЕКТОР ARMSTUB И ОТКЛЮЧЕНИЕ BOOTROM ---
[00:00:01.350] fs_open: 'nixos/default/armstub8-2712.bin'
--------------------------------------------------------------------------------
[🔥 БОРГ ПОДХВАТИЛ УПРАВЛЕНИЕ]: ПЕРЕДАЧА КОНТЕКСТА ЦЕНТРАЛЬНОМУ ПРОЦЕССОРУ CORTEX-A76
--------------------------------------------------------------------------------
[ 2.285909] pci 0001:02:07.0: Max Payload Size set to 128/ 256, Max Read Rq 512
[ 2.286385] pci 0001:04:00.0: Max Payload Size set to 128/ 128, Max Read Rq 512
[ 2.287393] pcieport 0001:00:00.0: enabling device (0000 -> 0002)
[ 2.288197] pcieport 0001:00:00.0: PME: Signaling with IRQ 34
[ 2.291829] pcieport 0001:00:00.0: AER: enabled with IRQ 34
[ 2.294292] pcieport 0001:01:00.0: enabling device (0000 -> 0002)
[ 2.295372] pcieport 0001:02:03.0: enabling device (0000 -> 0002)
[ 2.296897] pcieport 0001:02:07.0: enabling device (0000 -> 0002)
# --- РАЗМЕТКА АППАРАТНЫХ ХОСТ-БРИДЖЕЙ КРИСТАЛЛА BCM2712 ---
[ 2.299512] brcm-pcie 1000120000.pcie: host bridge /axi/pcie@1000120000 ranges:
[ 2.300485] brcm-pcie 1000120000.pcie: MEM 0x1f00000000..0x1ffffffffb -> 0x0000000000
[ 2.301442] brcm-pcie 1000120000.pcie: MEM 0x1c00000000..0x1effffffff -> 0x0400000000
[ 2.302431] brcm-pcie 1000120000.pcie: IB MEM 0x1f00000000..0x1f003fffff -> 0x0000000000
[ 2.303357] brcm-pcie 1000120000.pcie: IB MEM 0x0000000000..0x0fffffffff -> 0x1000000000
[ 2.304225] brcm-pcie 1000120000.pcie: IB MEM 0x1000130000..0x1000130fff -> 0xfffffff000
[ 2.307307] brcm-pcie 1000120000.pcie: PCI host bridge to bus 0002:00
[ 2.308025] pci_bus 0002:00: root bus resource [bus 00-ff]
[ 2.308572] pci_bus 0002:00: root bus resource [mem 0x1f00000000-0x1ffffffffb]
[ 2.309096] pci_bus 0002:00: root bus resource [mem 0x1c00000000-0x1effffffff pref]
[ 2.309590] pci 0002:00:00.0: [14e4:2712] type 01 class 0x060400 PCIe Root Port
[ 2.310995] pci 0002:00:00.0: PCI bridge to [bus 01]
[ 2.311359] pci 0002:00:00.0: bridge window [mem 0x1f80000000-0x1fbfffffff]
[ 2.311742] pci 0002:00:00.0: PME# supported from D0 D3hot
[ 2.312995] pci 0002:00:00.0: bridge configuration invalid ([bus 00-00]), reconfiguring
# --- ФИКСАЦИЯ ЛИНКА ШИНЫ И СКОРОСТИ NVME ИНТЕРФЕЙСА (5.0 GT/s PCIe x4) ---
[ 2.413811] brcm-pcie 1000120000.pcie: clkreq-mode set to default
[ 2.414213] brcm-pcie 1000120000.pcie: link up, 5.0 GT/s PCIe x4 (ISSC)
[ 2.414639] pci 0002:01:00.0: [1de4:0001] type 00 class 0x020000 PCIe Endpoint
[ 2.415058] pci 0002:01:00.0: BAR 0 [mem 0xffffc000-0xffffffff]
[ 2.415415] pci 0002:01:00.0: BAR 1 [mem 0xffc00000-0xffffffff]
[ 2.415746] pci 0002:01:00.0: BAR 2 [mem 0xffff0000-0xffffffff]
[ 2.416109] pci 0002:01:00.0: supports D1
[ 2.416403] pci 0002:01:00.0: PME# supported from D0 D1 D3hot D3cold
[ 2.421824] pci 0002:01:00.0: ASPM: default states L1
[ 2.422224] pci_bus 0002:01: busn_res: [bus 01-ff] end is updated to 01
[ 2.422579] pci 0002:00:00.0: bridge window [mem 0x1f00000000-0x1f004fffff]: assigned
[ 2.422904] pci 0002:01:00.0: BAR 1 [mem 0x1f00000000-0x1f003fffff]: assigned
[ 2.423214] pci 0002:01:00.0: BAR 2 [mem 0x1f00400000-0x1f0040ffff]: assigned
[ 2.423511] pci 0002:01:00.0: BAR 0 [mem 0x1f00410000-0x1f00413fff]: assigned
[ 2.423788] pci 0002:00:00.0: PCI bridge to [bus 01]
[ 2.424040] pci 0002:00:00.0: bridge window [mem 0x1f00000000-0x1f004fffff]
[ 2.424283] pci_bus 0002:00: resource 4 [mem 0x1f00000000-0x1ffffffffb]
[ 2.424522] pci_bus 0002:00: resource 5 [mem 0x1c00000000-0x1effffffff pref]
[ 2.424755] pci_bus 0002:01: resource 1 [mem 0x1f00000000-0x1f004fffff]
[ 2.424986] pci 0002:00:00.0: Max Payload Size set to 256/ 512 (was 128), Max Read Rq 512
[ 2.425227] pci 0002:01:00.0: Max Payload Size set to 256/ 256 (was 128), Max Read Rq 512
[ 2.425632] pcieport 0002:00:00.0: enabling device (0000 -> 0002)
[ 2.427094] pcieport 0002:00:00.0: PME: Signaling with IRQ 38
[ 2.429276] pcieport 0002:00:00.0: AER: enabled with IRQ 38
[ 2.445504] Key type psk registered
# --- ТОТАЛЬНЫЙ ПЕРЕХВАТ НА СТОРОНЕ NVME ПОДСИСТЕМЫ ---
[ 2.463129] nvme nvme0: pci function 0001:04:00.0
[ 2.463129] nvme nvme1: pci function 0001:03:00.0
[ 2.463144] nvme 0001:04:00.0: enabling device (0000 -> 0002)
[ 2.463907] nvme 0001:03:00.0: enabling device (0000 -> 0002)
[ 2.469487] nvme nvme1: D3 entry latency set to 10 seconds
# --- ИНИЦИАЛИЗАЦИЯ ДАТЧИКОВ ТЕРМОКОНТРОЛЯ ---
[ 2.479004] hwmon hwmon0: temp1_input not attached to any thermal zone
[ 2.479425] hwmon hwmon0: temp2_input not attached to any thermal zone
[ 2.479759] hwmon hwmon0: temp3_input not attached to any thermal zone
# --- АЛЛОКАЦИЯ ХОСТ-МАРШРУТОВ И ТАБЛИЦЫ РАЗДЕЛОВ НАКОПИТЕЛЯ ---
[ 2.486967] nvme nvme1: allocated 32 MiB host memory buffer (8 segments).
[ 2.577682] nvme nvme1: 4/0/0 default/read/poll queues
[ 2.584221] nvme1n1: p1 p2
[ 11.391954] hwmon hwmon1: temp1_input not attached to any thermal zone
[ 11.401372] nvme nvme0: allocated 32 MiB host memory buffer (8 segments).
[ 11.463439] nvme nvme0: 1/0/0 default/read/poll queues
[ 11.488730] nvme nvme0: Ignoring bogus Namespace Identifiers
# ================================================================================
# 🔥 СТАРТ STAGE-1 SYSTEMD И ДЕПЛОЙ РАСКЛАДКИ МОНТИРОВАНИЯ (ТОЧКА ОЖИДАНИЯ LABEL)
# ================================================================================
* A start job is running for /dev/disk/by-label/NIXOS_SD (10s / 1min 30s)
* A start job is running for /dev/disk/by-label/NIXOS_SD (11s / 1min 30s)
Это лог загрузки Raspberry Pi 5 (ревизия D0, 16GB) с install sd card с ядром pkgs.linuxPackages_rpi4 в режиме прямого запуска ядра.
А это уже этапы пройденного пути. Ниже модуль юнит-тестирования. Далее там встроенный построчный декомпилятор сырого текста config.txt обратно в Nix-структуры. Выполняет сквозные негативные E2E-тесты на блокировку запрещенных параметров.
# ./hosts/common/hardware/raspberrypi/validator-tests.nix
{pkgs ? import <nixpkgs> {}}: let
inherit (pkgs) lib;
# --- НАЗЕМНЫЙ ДВИЖОК ЭВАЛЮАЦИИ БОРГА ---
mkTestEval = hostConfig: let
eval = lib.evalModules {
modules = [
./validator.nix
{
config.hardware.raspberry-pi =
{
enable = true;
}
// hostConfig;
}
];
};
in
eval.config;
# Безопасный перехватчик паники компилятора для негативных тестов
tryCompile = hostConfig: let
res = builtins.tryEval (mkTestEval hostConfig).system.build.raspberryPiConfigTxtBuilder;
in
res.success; # Возвращает true, если компиляция успешна, и false, если сработал throw
# 👑 УЛЬТИМАТИВНО СТАБИЛИЗИРОВАНО (БЕЗОПАСНЫЙ ПОИСК СТРОК):
# Перехватываем throw компилятора. Если сборка упала с ошибкой,
# мы не роняем тесты, а корректно возвращаем false!
hasString = substr: hostConfig: let
res = builtins.tryEval (mkTestEval hostConfig).system.build.raspberryPiConfigTxtBuilder;
in
if res.success
then (builtins.match ".*${substr}.*" res.value) != null
else false;
in
lib.runTests {
# -----------------------------------------------------------------
# ТЕСТ 1: Классическая сквозная генерация [pi5] / [all] через билдер
# -----------------------------------------------------------------
testSuccessfulGenerationPi5 = {
expr = hasString "dtoverlay=ws2812-pio,gpio=12" {
version = 5;
dtparams = {
audio.audio_pwm_mode = "2";
overclock.arm_freq = 2400;
};
overlays."ws2812-pio" = {
enable = true;
params.gpio = 12;
};
};
expected = true;
};
# -----------------------------------------------------------------
# ТЕСТ 2: Успешная генерация секции [pi4]
# -----------------------------------------------------------------
testSuccessfulGenerationPi4 = {
expr = hasString "dtoverlay=uart2,ctsrts=on" {
version = 4;
dtparams = {
audio.disable_audio_dither = true;
};
overlays."uart2" = {
enable = true;
params.ctsrts = true;
};
};
expected = true;
};
# -----------------------------------------------------------------
# ТЕСТ 3: Блокировка несовместимого железа (Hardware Clash)
# -----------------------------------------------------------------
testFailOnIncompatibleHardware = {
expr = tryCompile {
version = 4; # Задаем Pi4
overlays."ws2812-pio".enable = true; # Но включаем оверлей, требующий исключительно pi5-core!
};
expected = false;
};
# -----------------------------------------------------------------
# ТЕСТ 4: Блокировка выхода за границы диапазона (Range)
# -----------------------------------------------------------------
testFailOnParamOutOfRange = {
expr = tryCompile {
version = 5;
overlays."ws2812-pio" = {
enable = true;
params.gpio = 45; # 45 выходит за границы допустимых выводов GPIO (0-27)
};
};
expected = false;
};
# -----------------------------------------------------------------
# ТЕСТ 5: Блокировка некорректного Enum / Allowed
# -----------------------------------------------------------------
testFailOnParamNotAllowed = {
expr = tryCompile {
version = 5;
overlays."imx219" = {
enable = true;
params.rotation = 45; # Разрешены только углы 0, 90, 180, 270
};
};
expected = false;
};
}
А вот так это работает в синтетическом тесте:
❯ nix-instantiate --eval --strict --expr 'import ./hosts/common/hardware/raspberrypi/validator-tests.nix {}' 2>&1 | sed 's/^trace: //g'
=========================================================================
📡 БОРГ-КОМПИЛЯТОР: ДИАГНОСТИКА ХАРДВЕРНОГО КОНТУРА RASPBERRY PI
=========================================================================
[ПЛАТА]: Целевое поколение устройства установлена как: Raspberry Pi 4
Поток А: Мониторинг Device Tree Оверлеев:
-------------------------------------------------------------------------
❌ [СБОЙ СОВМЕСТИМОСТИ] Оверлей [ws2812-pio] (требует: pi5-core) не может быть запущен на текущей плате Pi 4!
Поток Б: Переопределения шин ядра (dtparams):
-------------------------------------------------------------------------
Конфигурация чистая: все базовые системные параметры соответствуют дефолтам вендора.
=========================================================================
📊 СТАТУС ВЕРИФИКАЦИИ СПЕЦИФИКАЦИИ СБОРКИ:
=========================================================================
❌ [ОШИБКА КОМПИЛЯЦИИ]: Обнаружены критические нарушения ограничений вендора! Сборка небезопасна.
=========================================================================
=========================================================================
📡 БОРГ-КОМПИЛЯТОР: ДИАГНОСТИКА ХАРДВЕРНОГО КОНТУРА RASPBERRY PI
=========================================================================
[ПЛАТА]: Целевое поколение устройства установлена как: Raspberry Pi 5
Поток А: Мониторинг Device Tree Оверлеев:
-------------------------------------------------------------------------
🟢 [АКТИВИРОВАН] Дерево оверлея [imx219] (совместим с SoC Pi 5).
❌ [ОШИБКА] Параметр [rotation]: выбор '45' запрещен! Допустимы только: [0,90,180,270].
Поток Б: Переопределения шин ядра (dtparams):
-------------------------------------------------------------------------
Конфигурация чистая: все базовые системные параметры соответствуют дефолтам вендора.
=========================================================================
📊 СТАТУС ВЕРИФИКАЦИИ СПЕЦИФИКАЦИИ СБОРКИ:
=========================================================================
❌ [ОШИБКА КОМПИЛЯЦИИ]: Обнаружены критические нарушения ограничений вендора! Сборка небезопасна.
=========================================================================
=========================================================================
📡 БОРГ-КОМПИЛЯТОР: ДИАГНОСТИКА ХАРДВЕРНОГО КОНТУРА RASPBERRY PI
=========================================================================
[ПЛАТА]: Целевое поколение устройства установлена как: Raspberry Pi 5
Поток А: Мониторинг Device Tree Оверлеев:
-------------------------------------------------------------------------
🟢 [АКТИВИРОВАН] Дерево оверлея [ws2812-pio] (совместим с SoC Pi 5).
❌ [ОШИБКА] Параметр [gpio]: значение '45' выходит за лимиты спецификации (0-27)!
Поток Б: Переопределения шин ядра (dtparams):
-------------------------------------------------------------------------
Конфигурация чистая: все базовые системные параметры соответствуют дефолтам вендора.
=========================================================================
📊 СТАТУС ВЕРИФИКАЦИИ СПЕЦИФИКАЦИИ СБОРКИ:
=========================================================================
❌ [ОШИБКА КОМПИЛЯЦИИ]: Обнаружены критические нарушения ограничений вендора! Сборка небезопасна.
=========================================================================
=========================================================================
📡 БОРГ-КОМПИЛЯТОР: ДИАГНОСТИКА ХАРДВЕРНОГО КОНТУРА RASPBERRY PI
=========================================================================
[ПЛАТА]: Целевое поколение устройства установлена как: Raspberry Pi 4
Поток А: Мониторинг Device Tree Оверлеев:
-------------------------------------------------------------------------
🟢 [АКТИВИРОВАН] Дерево оверлея [uart2] (совместим с SoC Pi 4).
🟢 [ВЕРИФИЦИРОВАН] Параметр [ctsrts] = '1' подтвержден.
Поток Б: Переопределения шин ядра (dtparams):
-------------------------------------------------------------------------
🔹 audio.disable_audio_dither принудительно изменен пользователем -> 'on'
=========================================================================
📊 СТАТУС ВЕРИФИКАЦИИ СПЕЦИФИКАЦИИ СБОРКИ:
=========================================================================
🟢 [УСПЕХ]: Спецификация валидна. Текст config.txt успешно сгенерирован и запечен.
=========================================================================
=========================================================================
📊 СТАТУС ВЕРИФИКАЦИИ СПЕЦИФИКАЦИИ СБОРКИ:
=========================================================================
🟢 [УСПЕХ]: Спецификация валидна. Текст config.txt успешно сгенерирован и запечен.
=========================================================================
=========================================================================
📡 БОРГ-КОМПИЛЯТОР: ДИАГНОСТИКА ХАРДВЕРНОГО КОНТУРА RASPBERRY PI
=========================================================================
[ПЛАТА]: Целевое поколение устройства установлена как: Raspberry Pi 5
Поток А: Мониторинг Device Tree Оверлеев:
-------------------------------------------------------------------------
🟢 [АКТИВИРОВАН] Дерево оверлея [ws2812-pio] (совместим с SoC Pi 5).
🟢 [ВЕРИФИЦИРОВАН] Параметр [gpio] = '12' подтвержден.
Поток Б: Переопределения шин ядра (dtparams):
-------------------------------------------------------------------------
🔹 overclock.arm_freq принудительно изменен пользователем -> '2400'
=========================================================================
📊 СТАТУС ВЕРИФИКАЦИИ СПЕЦИФИКАЦИИ СБОРКИ:
=========================================================================
🟢 [УСПЕХ]: Спецификация валидна. Текст config.txt успешно сгенерирован и запечен.
=========================================================================
[ { expected = true; name = "testSuccessfulGenerationPi4"; result = false; } { expected = true; name = "testSuccessfulGenerationPi5"; result = false; } ]
Вот так это выглядит уже не в синтетическом тесте а в продакшене:
❯ nix eval ".#nixosConfigurations.rpi5-installer-kernel.config.system.build.sdImage.drvPath"
path "Development/nixos-ng/hosts/common/hardware/raspberrypi" does not contain a 'flake.nix', searching up
warning: Git tree 'Development/nixos-ng' is dirty
trace:
=========================================================================
📡 БОРГ-КОМПИЛЯТОР: РАСШИРЕННОЕ ИНСПЕКТИРОВАНИЕ СПЕЦИФИКАЦИЙ RASPBERRY PI
=========================================================================
[ПЛАТА]: Целевое поколение устройства установлена как: Raspberry Pi 5
Поток А: Мониторинг Device Tree Оверлеев:
-------------------------------------------------------------------------
Спецификация пуста: пользовательские dtoverlay не активированы.
Поток Б: Переопределения шин ядра (dtparams):
-------------------------------------------------------------------------
🔹 audio.audio_pwm_mode задан в значении -> '2'
↳ 📝 Описание: Выбор режима работы аналогового аудио ШИМ (3.5 мм AV-разъем). 1 — устаревший низкокачественный режим; 2 — высококачественный режим с усовершенствованной модуляцией (повышает нагрузку на GPU).
🔹 audio.disable_audio_dither задан в значении -> 'off'
↳ 📝 Описание: Отключение сглаживания звука (dither) в 1.0 LSB. Значение 1 отключает дизеринг, убирая фоновое шипение на низких уровнях громкости ALSA.
🔹 audio.enable_audio_dither задан в значении -> 'off'
↳ 📝 Описание: Принудительное включение дизеринга для всех глубин бит. Значение 1 форсирует сглаживание звука, даже если размер аудиосемплов превышает 16 бит.
🔹 audio.pwm_sample_bits задан в значении -> '11'
↳ 📝 Описание: Разрядность (глубина бит) аналогового аудиовыхода ШИМ. Значения ниже 8 приводят к неработоспособности звука из-за падения частоты PLL.
🔹 video.disable_touchscreen задан в значении -> 'off'
↳ 📝 Описание: Блокировка инициализации и работы сенсорной подсистемы (тачскрина) официального дисплея Raspberry Pi Touch Display.
🔹 video.enable_tvout задан в значении -> 'off'
↳ 📝 Описание: Включение (1) или отключение (0) аналогового композитного ТВ-выхода. На моделях Pi 4, CM4 и Pi 5 активация композитного выхода намертво блокирует работу HDMI. Не применимо для клавиатурных моделей (Pi 400 / 500)
.
🔹 video.ignore_lcd задан в значении -> 'off'
↳ 📝 Описание: Пропуск фазы автоматического сканирования и детекции официальных сенсорных DSI-дисплеев Raspberry Pi на служебной шине I2C при загрузке.
🔹 video.max_framebuffers задан в значении -> '2'
↳ 📝 Описание: Количество выделяемых аппаратных фреймбуферов системы.
🔹 overclock.arm_boost задан в значении -> 'on'
↳ 📝 Описание: Автоматический разгон arm_freq до максимальной стабильной частоты, поддерживаемой конкретной ревизией платы и прошивкой.
🔹 overclock.core_freq_fixed задан в значении -> 'off'
↳ 📝 Описание: Отключение динамического изменения частоты ядра GPU для стабилизации тактирования зависимой периферии и кэша.
🔹 overclock.force_turbo задан в значении -> 'off'
↳ 📝 Описание: Принудительная фиксация максимальных частот турбо-режима независимо от текущей загрузки ядер ARM процессора.
🔹 overclock.initial_turbo задан в значении -> '60'
↳ 📝 Описание: Продолжительность удержания турбо-режима в секундах с момента подачи питания для ускорения начального старта системы.
🔹 overclock.temp_limit задан в значении -> '85'
↳ 📝 Описание: Аварийный тепловой порог в °C. При его достижении прошивка сбрасывает все частоты и напряжения на заводские дефолты.
🔹 overclock.temp_soft_limit задан в значении -> '60'
↳ 📝 Описание: Мягкий температурный порог троттлинга для моделей 3A+/3B+. Снижает частоту с 1400 МГц до 1200 МГц.
🔹 gpio.enable_jtag_gpio задан в значении -> 'off'
↳ 📝 Описание: Активация аппаратного интерфейса отладки JTAG для процессора ARM. Значение 1 автоматически переводит пины GPIO 22-27 в режим альтернативной функции Alt4 и коммутирует внутренние сигналы SoC.
=========================================================================
📊 СТАТУС ВЕРИФИКАЦИИ СПЕЦИФИКАЦИИ СБОРКИ:
=========================================================================
🟢 [УСПЕХ]: Спецификация валидна. Текст config.txt успешно сгенерирован и запечен.
=========================================================================
evaluation warning: The option `sdImage.imageName' defined in `/nix/store/cqbh1id3ziafqm40h5y8fqjf2hsj58m6-source/hosts/common/hardware/raspberrypi/sd-combined.nix' has been renamed to `image.fileName'.
"/nix/store/r4rq4m56574caasg9s84cz5f4q66rjb5-rpi5-installer-kernel-sd-card-26.11.20261023.3ec6363-aarch64-linux.img.drv"
Ну а теперь… Ваше внимание я уже привлёк и до сих пор дочитают только те кому это действительно нужно. Вопрос!!!
Какого такого… Происходит в аппстриме nixos с sdImage.imageName
evaluation warning: The option `sdImage.imageName' defined in `/nix/store/4mpf9sgy4rhqh7yzfyj8qscj21narph7-source/hosts/common/hardware/raspberrypi/sd-combined.nix' has been renamed to `image.fileName'.
Либо у меня лыжи не едут либо по старому оно уже «атата sdImage.imageName фуфуфу таким быть» а по новому image.fileName что-то не доделано… Либо есть ещё что-то чего я пока не осознал - однако дальше A start job is running for... я пока не смог продвинутся.
Есть у кого опыт бодания в похожих условиях?


