LINUX.ORG.RU

NixOS RPI5 A start job is running for...

 , , , ,


0

1

Вместо длинных вступлений. Ниже ИИ анализ загрузочного лога с реального устройства и, (О УЖАС) даже с реальным багом в конце, который скажет больше чем я.

================================================================================
  👑 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... я пока не смог продвинутся.

Есть у кого опыт бодания в похожих условиях?

★★★★★

Точно не вспомню, но ИИ мне когда-то посоветовал убрать какой-то таймаут в systemd и эта хрень прошла навсегда.

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

Если бы всё было так просто… Я уже не знаю в каком месте искать этот баг.

init_6 ★★★★★
() автор топика

Вопрос!!!

Какого такого… Происходит в аппстриме nixos с sdImage.imageName

Ну вообще ворнинг въехал в апстрим аж два года назад.

Судя по тому, что ты выше привел листинг hosts/common/hardware/raspberrypi/validator-tests.nix, есть подозрение, что проблема в hosts/common/hardware/raspberrypi/sd-combined.nix, который должен лежать у тебя же рядом, и в сообщении я его листинга не нашел. В студию :)

l0stparadise ★★★★★
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.