DeviceTree для тих, хто хоче знати більше

Компанія Raspberry Pi натякнула на вихід моделі Pi Zero 3W, опублікувавши файл DeviceTree, який описує апаратне забезпечення пристрою. Завдяки цьому стало відомо, що він оснащений процесором BCM2711 (як у Pi 4), підтримує PCIe (можливо, навіть з виведеним роз’ємом!), має вбудовану кнопку живлення, додатковий світлодіод живлення та опцію eMMC. Ймовірно, це буде перша двостороння плата Pi Zero, і, сподіваємося, нарешті з’явиться USB-C.

Не вірите? Перегляньте файл DeviceTree самостійно — його доволі легко читати. Файли DeviceTree повідомляють ядру Linux (або іншим ядрам ОС) про те, який процесор очікувати, які драйвери завантажувати, які інтерфейси доступні на платі та які пристрої до них підключені. Іноді належний файл DeviceTree — це все, що потрібно для запуску сучасної ОС Linux на застарілій одноплатній комп’ютерній системі (SBC).

Файли DeviceTree використовуються в технологіях навколо нас. Ваш телефон має такий файл, як і ваш маршрутизатор, ваш ARM-ноутбук, не кажучи вже про ваші SBC. Деякі файли DeviceTree є “злими”, слугуючи лише тонким прошарком між ядром Linux та пропрієтарними драйверами; такі можна знайти в телефонах із процесорами від “злих корпорацій”. Більшість же файлів DeviceTree просто виконують свою роботу.

Що потрібно знати

Файли DeviceTree описують апаратне забезпечення так само, як HTML описує елементи вебсайту. Вони не є повноцінними за Тюрингом, і, на жаль, на одному лише DeviceTree не можна запустити Doom — хіба що ви знайдете одну з тих “злих” реалізацій. Файл вихідного коду DeviceTree (з розширеннями .dts, .dtsi) компілюється в бінарний файл (.dtb, .dtbo), який може читати ваше ядро. Його відносно легко декомпілювати та змінювати, навіть якщо у вас немає вихідного коду!

DeviceTree для тих, хто хоче знати більше 1
Маєте мікросхему DS1307 за адресою 0x68 на шині I2C1? Такий оверлей DeviceTree повідомить про це вашому ядру.

Працювати з файлами DeviceTree досить легко. Команди для компіляції/декомпіляції надзвичайно прості й доступні; компілятор також є декомпілятором — невелика утиліта, яку можна встановити командою `sudo apt install device-tree-compiler`. Для Blepis PDA, над яким я працював, ми маємо скрипт для компіляції купи оверлеїв для різних дисплеїв, які може мати Blepis, і це одна з найпростіших речей.

Існують кілька типів файлів DT, як-от include-файли, базові файли та оверлеї. Include-файли (.dtsi) зазвичай містять інформацію про процесор, переважно нудні речі, з якими ви ніколи не будете мати справу, наприклад, визначення деяких тактових сигналів. Базові файли повністю описують плату; ядро завантажує їх і знає, що робити з платою. Оверлеї зазвичай є необов’язковими; вони дозволяють “додавати” функції поверх базового DeviceTree, описуючи додаткові пристрої або модифікуючи вже описані пристрої/інтерфейси. Ви, безсумнівно, бачили оверлеї, згадані в файлі `config.txt` Raspberry Pi!

Насправді, якщо ви хочете навчитися працювати з файлами DeviceTree, вивчивши їх, вам варто переглянути директорію з вихідними кодами оверлеїв Raspberry Pi — можна почати з README. Там багато інформації, і більшість з неї нецікава, але ви знайдете справжні перлини, якщо пошукаєте. До речі, ви також можете переглянути базові файли в директорії `broadcom/ DeviceTree base file`, щоб багато дізнатися про апаратне забезпечення Raspberry Pi як є!

Навчайтеся на численних прикладах

Переважно ви захочете створювати оверлеї, а не базові файли. Вам не доведеться багато вивчати, щоб писати оверлеї, оскільки є безліч місць, де можна навчатися. У цій статті я опишу лише мінімум, який вам потрібно знати для створення робочого оверлею. І в 99% випадків це буде означати взяття існуючого оверлею та його незначну модифікацію.

Ось простий і надзвичайно детальний оверлей для світлодіода від Raspberry Pi, з більшою кількістю коментарів, ніж коду, ніби він призначений для навчання! Ви описуєте світлодіод, підключений до певного GPIO, його стан за замовчуванням, його мітку та навіть параметри для заміни цих значень “на льоту”. Потім ви можете завантажити оверлей однією командою на працюючій системі (ця частина стосується тільки Raspberry Pi), погратися зі світлодіодом, перетворити його на світлодіод “пульсу” або індикатор активності CPU, і за бажанням налаштувати його для постійного використання як запис у `config.txt`. Файл добре прокоментований і пояснює практично все.

Ось оверлей, який описує сенсорний екран I2C, підключений до вашого Pi. Змініть номери пінів, щоб вони відповідали, скомпілюйте його, завантажте, і ядро автоматично його розпізнає. Ось оверлей, який вимикає Wi-Fi на вашому Pi. Хіба це не виглядає надзвичайно просто — просто встановити дві змінні на “disabled”? Ось оверлей, який описує SPI-контролер Ethernet. Він визначає використані піни, а також переконується, що певний SPI-інтерфейс встановлений у стан “disabled”, щоб ви випадково не записали в нього з простору користувача.

Іноді оверлеї Raspberry Pi бувають надто складними для розуміння, і їх важко вивчати, їх там величезна кількість. Не хвилюйтеся, є багато інших джерел прикладів. Основне сховище Linux має їх безліч, також є репозиторій оверлеїв Radxa та репозиторій Armbian `everything-Rockchip`, репозиторій Armbian `sunxi overlay` (Allwinner) та його директорія з прикладами зокрема… Якщо вам потрібна якась специфічна функція або пристрій, хтось, ймовірно, вже реалізував це в оверлеї та опублікував онлайн. Під час дослідження або коли ви в глухому куті, ви завжди можете пошукати на GitHub файли `.dts`, що містять ключові слова за вашим вибором.

Відповіді, які вам потрібні

Мови, подібні до DeviceTree, не є поширеними, а оверлеї DeviceTree — дещо незвичні, тому ось речі, які ви рідко побачите поясненими, але які вам абсолютно варто знати, з мого, ще базового, але вже трохи досвідченого розуміння.

DeviceTree для тих, хто хоче знати більше 2По-перше, коментарі в DT-оверлеях мають стиль C, з `//` та `/* */`. Такі речі, як `#size-cells` і `#address-cells`, — це не коментарі, це метадані оверлею про те, як читати властивість “ — залиште їх, вони важливі!

Символ `&` в оверлеях — це покажчик на елементи в базовому файлі, тобто `.dts` (скомпільований у `.dtb`) вашої плати. Різні сімейства процесорів і навіть різні плати/процесори мають різні угоди про іменування — наприклад, покажчики GPIO в `.dts` Raspberry Pi називаються `&gpio`, на інших платах — `&pio`, а іноді покажчики посилаються на різні контролери (`&gpio1`, `&gpio2` тощо), якщо ваш процесор має забагато GPIO для їх обробки. Якщо ви не впевнені, відкрийте базовий `.dts` вашої плати й переконайтеся, що назви ваших покажчиків збігаються. Якщо ви ще більше не впевнені, порівняйте з іншими оверлеями для вашої плати там, де вам потрібне уточнення щодо конкретних імен, які слід використовувати.

Деякі оверлеї є більш детальними, тоді як інші — менш детальними, і ви можете багато чого навчитися, порівнюючи різні з них. Наприклад, порівняйте оверлей Raspberry Pi ENC28J60 з оверлеєм Allwinner CPU ENC28J60. Ви побачите, що в оверлеї Allwinner немає вимкнення SPI-пристрою, і він не надає параметрів для перевизначення — тому, що ви вставляєте назви оверлеїв в один рядок у файлі конфігурації uBoot, а Allwinner uBoot не має куди вказати параметри, як я припускаю? Він також трохи інакше реалізує блок ініціалізації GPIO. Щоб бути в безпеці, намагайтеся відповідати конвенціям вашої цільової платформи, загалом, не виключаючи/включаючи секції лише тому, що інша платформа має їх або опускає. Так, я, по суті, кажу вам копіювати та вставляти більше.

Якщо ви достатньо глибоко занурилися в оверлеї та уважно розглядаєте, ви побачите, що деякі оверлеї написані в скороченій формі, пропускаючи такі елементи, як `__overlay__`, `fragment0` тощо. Я щиро не знаю різниці між цими двома стилями, вони, безумовно, компілюються в будь-якому випадку і виглядають як еквівалентні способи написання оверлеїв, як це також вказує це питання на StackOverflow. Я намагався дослідити це далі, але не можу знайти жодних посилань на те, як ці стилі навіть називаються, тому поки що я просто звертаю вашу увагу на це, щоб допомогти уникнути сюрпризів.

Наскільки мені відомо, ви не можете використовувати `#include` під час роботи з оверлеями, якщо ви простий смертний, що використовує стандартну команду `dtc`. Вам потрібен препроцесор для цього, а ваша скромна командна лінія `dtc` його не запускає. Зазвичай ви стикаєтеся з цим, коли знаходите онлайн оверлей із директивами `#include`, намагаєтеся скомпілювати його локально й отримуєте помилки. Це означає, що вам доведеться скасувати визначення всіх параметрів, визначених за допомогою `#define`, замінюючи назви на числа всюди, де `dtc` видає помилку.

Наприклад, такий читабельний рядок, як `rockchip,pins = ;` (приклад ще одного оверлею ENC28J60), не буде компілюватися сам по собі, вам знадобиться викликати препроцесор, що є цілим завданням. Натомість знайдіть числові значення `RK_PA7` і `RK_FUNC_GPIO` (вони з файлу `dt-bindings/pinctrl/rockchip.h`) і замініть їх, щоб ваш рядок виглядав так: `rockchip,pins = ;`. Негарно, але `dtc` не скомпілює його для вас, доки ви цього не зробите. До вашого відома, іншим поширеним місцем для включених значень, пов’язаних з GPIO, в оверлеях є файл `dt-bindings/gpio/gpio.h`.

Наскільки мені відомо, файли `.dtbo` компілюються точно так само, як і `.dtb`, а `.dtbo` — це просто розширення файлу, яке завантажувач Raspberry Pi очікує для оверлеїв. Інші платформи не використовують `.dtbo`, а натомість використовують `.dtb`, знову ж таки, з того, що я бачив. Також, якщо ви використовуєте Armbian, скористайтеся інструментом `armbian-add-overlay` для всіх ваших потреб додавання оверлеїв.

Raspberry Pi дозволяє динамічно завантажувати оверлеї за допомогою команди `dtoverlay`, але, наскільки я розумію, це не реалізовано на інших SBC. Тому, під час тестування оверлеїв на цільових пристроях, не відмінних від Pi, ви будете змушені пройти через цикл “модифікувати-перезавантажити-тестувати”, і якщо ви дуже погано помилитеся в оверлеї, це може зависнути вашу систему під час завантаження, і вам доведеться від’єднати SD-карту та закоментувати оверлей, щоб завантажитися знову. Я підозрюю, що якщо ваша система буде на eMMC-диску, ви також не зможете цього зробити, тому переконайтеся, що ви можете відновитися в разі збою завантаження. Це стосується будь-якої eMMC-системи, по суті, але вам варто нагадати, оскільки ви втручаєтеся в процес завантаження під час роботи з оверлеями.

Готові зануритися

Хочете дізнатися більше? Ось посібник ZephyrOS з оверлеїв DeviceTree, читати одне задоволення. Також специфікація DeviceTree напрочуд читабельна, наскільки це можливо для описових мов, особливо якщо ви вчитеся між рядків. Це, безумовно, не підручник, але якщо вам потрібно докопатися до суті того, що означають конкретні рядки у файлі `devicetree`, кращого запасного варіанту, можливо, немає.

Як остання порада: будьте обережні, використовуючи LLM для генерації DeviceTree, особливо якщо у вас недостатньо досвіду роботи з LLM, щоб знати, яка з них краще працюватиме для цього. На жаль, випадково натрапивши на деякі “підручники” з DeviceTree, згенеровані ШІ, я виявив, що вони іноді вигадують властивості оверлеїв; схоже, що поки що немає заміни ретельному читанню.

Наразі я працюю над шаблоном оверлею DT, прагнучи створити генератор, що адаптує той самий оверлей до безлічі різних SBC одночасно — безумовно, мені буде що розповісти в наступній частині, навіть якщо я не зовсім впевнений, про що саме. А що ви? Які аспекти DeviceTree, з оверлеями чи без, ви хотіли б побачити розглянутими далі?

  • DeviceTree для тих, хто хоче знати більше 3
  • DeviceTree для тих, хто хоче знати більше 4
  • DeviceTree для тих, хто хоче знати більше 5
  • DeviceTree для тих, хто хоче знати більше 6

Опубліковано у Featured, Interest, Skills, Slider. Теги: Device Tree, linux

Навігація по сторінці:

← Чи чули ви коли-небудь про Lobo MAX-80? Симуляція та візуалізація центральної граничної теореми →

21 думка про “DeviceTree для хакерів: Вступ”

  1. shinsukke каже:
    10 листопада 2026 о 8:06 ранку

    Наскільки добре відображено процесор Raspi Zero 2W (або звичайного Raspi)? Чи знаємо ми, для чого призначена кожна з його BGA-пінів? У мене є кілька проєктів, де я хотів би його використовувати. Мало варіантів, якщо вам потрібна хоч якась середня продуктивність або IO від власної SBC. За доступною ціною, я б додав.

    Звісно, є динозаври від Ti, ST або NXP з епохи Linux 2.6 з USB1.0 і одноядерним процесором 400MHz і DDR2. Але якщо вам потрібні хороші речі, це тільки китайські та тайванські виробники. AllWinner, RockChip тощо. Ви отримуєте 32 ГБ (LP)DDR4/DDR5, UFS3.0, з десяток портів USB, SPI, I2C, PCIe тощо. Але вони дорогі, а англійської документації бракує. Використання SoM здається неправильним.

    Також Zephyr RTOS, тримайте його подалі від мене. Я люблю жити своїм життям і змушувати свої пристрої працювати, а не шукати помилки `#define __MACRO__MACRO__MACRO(X) __MACRO__MACRO(X)` на 56 рівнях. Devicetrees для Zephyr навіть не варті того, навіть якщо вам вдасться з цим впоратися, ви зможете використовувати лише деякий “драйвер”, який є лише тонким шаром Zephyr під шаром драйвера постачальника. І в 9 випадках з 10 драйвер підтримує одну-дві функції з дюжини, які насправді підтримує чіп, лише щасливий шлях, що дозволяє їм стверджувати: “ми підтримуємо Zephyr, як і всі сучасні компанії”.

    Сьогодні я просто дозволяю Claude боротися з божевіллям Zephyr. Просто дозвольте мені триматися подалі. Я не хочу знати, яка різниця між вузлом і псевдонімом. Я можу зробити це за допомогою записів регістрів.

    Відповісти

    1. Arya Voronova каже:
      10 листопада 2026 о 9:05 ранку

      Наскільки добре відображено процесор Raspi Zero 2W (або звичайного Raspi)? Чи знаємо ми, для чого призначена кожна з його BGA-пінів?

      Ось вам! Вам нічого з цього не потрібно для роботи. Навіть якщо ви займаєтеся розробкою “bare metal” з якоїсь причини і вам потрібно знати про “приховані” (не публічно описані) GPIO, які використовуються для бортових пристроїв, ви можете дізнатися про всі відповідні з оверлеїв DeviceTree самостійно, наскільки я розумію.

      Мало варіантів, якщо вам потрібна хоч якась середня продуктивність або IO від власної SBC.

      Я щойно написав вступну статтю про використання SBC, відмінних від Pi! Вам варто її прочитати. Я не буду її тут підсумовувати, але ось вам підказка — зайдіть на Aliexpress/ваші улюблені сайти з обладнанням і введіть такі ключові слова: “Radxa”, “NanoPi”, “Orange Pi”, “Banana Pi”, чорт забирай, навіть “Walnut Pi”, ці плати виглядають цікавими й недорогими, хоч і трохи базовими, але H618 все ще цілком прийнятний сьогодні. Навіть найповільніші з цих плат неймовірно далекі від одноядерних динозаврів 2000-х років, вони забезпечують пристойну продуктивність навіть за низькою ціною, багато з них тепер добре підтримуються, і вони будуть кращими для багатьох завдань, ніж Zero 2W, враховуючи, що вони можуть нести понад 512 МБ ОЗП, на відміну від 2W. Не очікуйте 32 ГБ, але навіщо вам 32 ГБ на SoM, і якщо вам дійсно потрібно так багато, вам, ймовірно, не потрібна моя порада.

      Є й західні альтернативи, якщо вам потрібно, NXP досі не припиняв роботу над своєю лінійкою i.MX, наскільки я знаю. Або ж дочекайтеся 3W, якщо нам пощастить, вони нарешті перейдуть на використання окремого чіпа ОЗП на нижньому шарі плати. Так, вони будуть дорогими, враховуючи реалії 2026 року, але Raspberry Pi зараз теж недешевий, і ви знайдете безліч життєздатних альтернатив, якщо пошукаєте.

      Відповісти

    2. Brian Wyld каже:
      10 листопада 2026 о 12:19 дня

      Однозначно +1 щодо “зловмисності” використання Zephyr з DeviceTree — повністю неможливо налагоджувати й насправді нічого корисного не дає…

      Відповісти

      1. Sebastian каже:
        11 листопада 2026 о 1:45 ночі

        Ми зараз багато експериментуємо під час розробки інноваційного проєкту й переходили від чіпа до чіпа від різних виробників під час його розробки (і навіть знову до тих самих чіпів). У цьому проєкті це насправді допомогло, але якщо ви розробляєте лише для одного чіпа або однієї сімейства чіпів, я повністю згоден. Вони додають багато проблем і не приносять більше користі, ніж кілька хороших include-файлів.

        Відповісти

  2. Greg A каже:
    10 листопада 2026 о 8:42 ранку

    Не впевнений, що я розумію “зловмисне” розходження тут. Здається, devicetrees Raspi підходять під це визначення, оскільки значна частина того, що вони описують, — це просто інтерфейси до закритих купажів?

    Відповісти

    1. D каже:
      10 листопада 2026 о 10:04 ранку

      В будь-якому випадку, називати невеликий шматок корисного, безкоштовного, відкритого програмного забезпечення “зловмисним” — це просто непрофесійно. Device tree може бути “неповним” або “розчаровуючим”, але це не моральне питання.

      Відповідь автора на ваш коментар вище також була непрофесійною.

      Це найнеобґрунтовано ворожа ситуація, яку я коли-небудь бачив від автора Hackaday.

      Відповісти

      1. Daniel каже:
        10 листопада 2026 о 10:16 ранку

        Справді? Я думав, що Arya мала досить добре сформульовану відповідь. Гадаю, це свідчить про те, що люди сприймають речі по-різному.

        Відповісти

      2. Greg A каже:
        10 листопада 2026 о 10:16 ранку

        так, я згоден, що “зловмисний” не здається мені вартим розходження… наприклад, я думаю, ви могли б сказати, що я веду хрестовий похід, щоб люди сказали, що Raspi є закритим. і я не думаю, що це означає, що він не корисний, або не є хорошим співвідношенням ціни та якості для багатьох. це, звичайно, не означає, що він “зловмисний”. це просто, якщо б ви хотіли його зламати, ви б очікували певних труднощів. якби у вас була ідея, що це “улюбленець світу відкритого коду”, ви могли б здивуватися цим труднощам. добро проти зла просто затуманює воду.

        Відповісти

        1. Arya Voronova каже:
          10 листопада 2026 о 10:33 ранку

          Якщо ви ніколи не бачили, як я кажу, що Raspberry Pi є закритим, навіть детально описуючи, наскільки він закритий, ви просто не читали те, що я пишу. Чого б це не було вперше, очевидно.

          Відповісти

      3. Arya Voronova каже:
        10 листопада 2026 о 11:00 ранку

        Я не розширювала, що кваліфікується як “зловмисний” Device Tree, хоча, як ви можете здогадатися, це не стосується випадків, коли система також має пропрієтарні компоненти! Ви також сприймаєте “зловмисний” занадто буквально.

        “Хороші” приклади “зловмисного” Device Tree — це Device Tree, надані постачальниками, які зазвичай роблять одне або всі з наступного: 1) викликають пропрієтарні драйвери, 2) залежать від пропрієтарних компонентів користувацького простору, у багатьох випадках реалізуючи функціонал, який належить ядру, 3) часто не постачаються як вихідний код (вимагають декомпіляції та реструктуризації), і 4) пропонують мало ясності, часто приховуючи інформацію, пов’язану з Device Tree, таку як GPIO та адреси пам’яті, в закритих драйверах/користувацькому просторі замість того, щоб зберігати її в DT. Як ви можете здогадатися, вони популярні в масових пристроях, таких як смартфони, і випливають із проблеми закритих драйверів — які також можна добре описати як зловмисні, до вашого відома. Наскільки я пам’ятаю, Qualcomm є одним із найвідоміших винуватців у цьому відношенні, але чимало BSP (Board Support Packages) скоюють ці гріхи, а Device Tree тепер є невід’ємною частиною BSP.

        Відповісти

        1. Greg A каже:
          10 листопада 2026 о 12:59 дня

          Я конкретно хвалив вас у минулому за те, що ви назвали Raspi закритим. Я просто прошу, як послугу, будь ласка, не сприймайте все, що я кажу, як напад, бо це не так!

          В будь-якому разі, я ціную вашу спробу уточнити термін. Гадаю, я зрозумів суть з першого разу. Зокрема, “викликає пропрієтарні драйвери” … Я клацнув на devicetree Raspi, на який ви посилалися, і, чесно кажучи, я не експерт з devicetree, але перевірив, і devicetree включає vchiq. Він також включає налаштування HDMI, які просто “enable” і “disable”.

          З моєї точки зору, vchiq є закритим драйвером. Я думаю, це те, що ви називаєте “mailbox”. Він складається з 3 компонентів: бібліотека користувацького простору з відкритим кодом (яка просто обмін повідомленнями), драйвер пристрою ядра з відкритим кодом (який просто обмін повідомленнями) та пропрієтарна прошивка (яка виконує роботу). Ми отримуємо доступ до файлів включення постачальника — #defines та купи загадкових коментарів (що, на мій досвід, досить поширено в закритих купажах), і нам залишається реверс-інжинірити все, що нас цікавить. І специфічна образа, яку додає Raspberry Pi, з якою я ніколи не стикався у жодного іншого закритого постачальника, це те, що Raspberry постійно оновлює закриту прошивку, тому будь-який реверс-інжиніринг, який ви зробили, буде марним. Я працював з vchiq і досі злюся через це!

          І у мене також було багато питань щодо інтерфейсу HDMI, і “enable” / “disable” у devicetree відповідає моєму досвіду роботи з Raspi. Як працює виведення HDMI? Ніхто не знає. Єдиний інтерфейс, який я знайшов для його осмисленого налаштування, — це загадкові, постійно мінливі ключові слова в `/boot/config.txt`. Я вважаю `/boot/config.txt` контр-документованим, тому що існує величезна кількість документації, створеної Raspberry та користувачами, яка посилається на застарілу версію прошивки.

          Ось чому я хотів знати, чи мали ви на увазі devicetree Raspi як приклад “зловмисного” devicetree. Наприклад, я ціную, що він надає номери GPIO. Але він також вказує на всі мої особисті больові точки з Raspi.

          Відповісти

        2. Johan каже:
          12 листопада 2026 о 4:09 ранку

          Так… робочий DTS (або альтернативно отримання доступу до бортового DTB) — це, мабуть, єдине, що заважає нам запускати Linux нативно на будь-якому Android-пристрої.

          Перешкоди, які нам ставлять на шляху до отримання бортового DTB, — це те, що мене найбільше дратує…

          Відповісти

  3. Nik каже:
    10 листопада 2026 о 10:52 ранку

    Одне зауваження, яке, сподіваюся, допоможе іншим людям, коли вони дізнаватимуться більше про Device Trees (DT):

    Вам потрібно знати, що вузли DT можуть безпосередньо посилатися на інші вузли за дизайном (незалежно від того, чи є вони батьківськими чи дочірніми), навіть якщо ви очікуєте, що в дереві єдиний зв’язок — між батьківськими та дочірніми вузлами. Сподіваюся, це має сенс.

    З повагою.

    Відповісти

  4. NomadX каже:
    10 листопада 2026 о 11:30 ранку

    Мені здається, хтось має зазначити, що це хороша й корисна стаття, і подякувати автору.

    Тож дякую.

    Відповісти

    1. Rog Fanther каже:
      10 листопада 2026 о 12:29 дня

      100% згоден!

      Відповісти

    2. Elliot Williams каже:
      12 листопада 2026 о 9:25 ранку

      Підтримую!

      Відповісти

  5. Solar Enthusiast каже:
    10 листопада 2026 о 2:05 дня

    Це дозволяє нам дізнатися, що він має процесор BCM2711 (процесор Pi 4), використовує PCIe (можливо, навіть виведений!), має вбудовану кнопку живлення, додатковий світлодіод живлення та опцію eMMC.

    І все ще, ймовірно, має лише 512 МБ ОЗП.

    Відповісти

    1. Nik каже:
      11 листопада 2026 о 1:07 ночі

      Що вам заважає купити rpi5 з більшим обсягом пам’яті?

      Відповісти

      1. Solar Enthusiast каже:
        11 листопада 2026 о 3:44 ранку

        Вартість, насамперед. Навіть до RAMpocalypse вони не були надто доступними.

        Інша річ — бажання отримати форм-фактор “Zero” для малого розміру та меншого споживання енергії для проєкту, який я мав на увазі. Зрештою, я придбав кілька клонів Pi у форм-факторі Zero. Це плати AllWinner з 4 ГБ ОЗП та 32 ГБ eMMC.

        Один з них має SD-карту на 512 ГБ, а інший — карту на 1 ТБ для зберігання даних, і це чудові маленькі кишенькові тревел-сервери.

        Відповісти

  6. deL каже:
    11 листопада 2026 о 2:21 ранку

    Broadcom — це зло, і він ледь працює.

    Rockchip — це відкритий код (здебільшого).

    Статті на кшталт переробки електронних відходів не є злом.

    Відповісти

  7. 729DHS каже:
    11 листопада 2026 о 7:15 ранку

    Чудова стаття, ідеальна для новачків, щоб розпочати роботу з Linux. Я китайський студент, і тут, у Rockchip, продукти доступніші, пропонуючи документацію, порівнянну з Raspberry Pi; кожен повинен спробувати.

    Відповісти

Залишити відповідь Скасувати відповідь

Будь ласка, будьте ввічливими та поважними, щоб допомогти зробити розділ коментарів чудовим. (Політика коментарів)

Цей сайт використовує Akismet для зменшення спаму. Дізнайтеся, як обробляються ваші дані коментарів.

Пошук

Ніколи не пропустіть хак

Слідкуйте за нами у Facebook

Слідкуйте за нами у Twitter

Слідкуйте за нами на YouTube

Слідкуйте за нами за RSS

Контакти

Підписатися

Якщо ви пропустили

  • DeviceTree для тих, хто хоче знати більше 7

    Секстант: Навігація старомодним способом

    37 Коментарів

  • DeviceTree для тих, хто хоче знати більше 8

    EV батареї виявляються міцнішими, ніж очікувалося

    66 Коментарів

  • DeviceTree для тих, хто хоче знати більше 9

    DeviceTree для хакерів: Вступ

    21 Коментар

  • DeviceTree для тих, хто хоче знати більше 10

    Радон Активний

    32 Коментарі

  • DeviceTree для тих, хто хоче знати більше 11

    Думаю, нам варто побачити інші SBC

    76 Коментарів

Більше з цієї категорії

Наші колонки

  • DeviceTree для тих, хто хоче знати більше 12

    Hackaday Podcast Епізод 394: Linux у дивних місцях, ще більше прихованих SDR, і підсумки Supercon

    1 Коментар

  • DeviceTree для тих, хто хоче знати більше 13

    Цього тижня з безпеки: Чотиризначний Patch Tuesday, експлуатація SSH, витік GitBook, Android GhostMap

    5 Коментарів

  • Плата INA219 з роз'ємом QWIIC та кабелем "female barrel jack to male barrel jack", припаяним. Кінець QWIIC підключено до сторони Blepis PDA, екран показує виявлений пристрій за адресою 0x40

    Просто використовуйте QWIIC вже

    21 Коментар

  • DeviceTree для тих, хто хоче знати більше 14

    FLOSS Weekly Епізод 883: Telnet нас зламав

    3 Коментарі

  • DeviceTree для тих, хто хоче знати більше 15

    CHIP 8: Гра Pong розпочато!

    8 Коментарів

Більше з цієї категорії

Оригінал статті: hackaday.com

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *