Вихідний код OpenWrt

Див. також: Додавання нового пристрою

Вихідний код OpenWrt зберігається у Git-репозиторії, що містить усі гілки та релізи, які колись створювалися.

Усі репозиторії доступні для перегляду онлайн:

  • GitWeb — основне сховище проєкту OpenWrt
  • GitHub — дзеркало GitWeb з постійною синхронізацією

Увесь розвиток OpenWrt ведеться в основному Git-репозиторії, доступному через HTTP або HTTPS:

git clone https://git.openwrt.org/openwrt/openwrt.git

Альтернатива — дзеркало на GitHub:

git clone https://github.com/openwrt/openwrt.git

Основні директорії в репозиторії:

  • /config — конфігураційні файли для `make menuconfig`
  • /include — глобальні конфігураційні Makefile-інструкції
  • /package — опис і конфігурація всіх пакетів
  • /scripts — скрипти, що використовуються під час збірки
  • /target — налаштування ImageBuilder, ядра, SDK, toolchain
  • /toolchain — конфігурація для побудови компіляторів
  • /tools — утиліти, що потрібні під час побудови

Процес формування релізів OpenWrt майже повністю автоматизовано.

Планується також запровадити файл TESTERS, подібний до MAINTAINERS з Linux, де учасники зможуть позначити, які пристрої вони готові тестувати.

Після створення релізу тестери отримуватимуть сповіщення про потребу протестувати образи для своїх пристроїв.

Основні принципи щодо релізів:

  • Релізи мають відбуватись не рідше одного разу на рік
  • Кожен реліз повинен мати хоча б один maintenance-оновлення
  • Критичні виправлення (CVE, безпека) мають підтримуватись протягом року після релізу
  • У реліз включаються лише підтримувані цілі (targets)
  • Усі цілі повинні бути протестовані на реальному пристрої
  • Реліз має відбуватись тоді, коли він готовий (без форсування)

Детальніше — на сторінці TODO проєкту.

Щоб створити особисту staging-гілку в `git.openwrt.org` (для core-учасників):

ssh git@git.openwrt.org "create openwrt/staging/ваш_нік"
ssh git@git.openwrt.org "desc openwrt/staging/ваш_нік Staging tree of Ваше Ім’я"

Щоб ваша гілка стала видимою на https://git.openwrt.org:

ssh git@git.openwrt.org "perms openwrt/staging/ваш_нік + READERS gitweb"

Щоб зробити гілку публічною для читання (наприклад, для перегляду всіма):

ssh git@git.openwrt.org "perms openwrt/staging/ваш_нік + READERS @all"

Практика негайного оновлення ядра після кожного випуску призвела до проблем:

  • фрагментація версій ядер;
  • тиск на мейнтейнерів оновлювати частіше, ніж стабілізувати;
  • витрати зусиль на 3–4 апгрейди ядра між релізами;
  • складність підтримки модулів `kmod-*`;
  • оновлення на неперевірені версії ядра.

Це не означає, що старі ядра слід залишати без змін. Але потрібен баланс між новизною і стабільністю.

Рекомендація: підтримувати максимум три паралельні версії ядра (оптимально — дві).

🔹 Ключовий принцип: стабільність важливіша за “bleeding edge”. Нові функції потрібні, але не за рахунок надійності.

This website uses cookies. By using the website, you agree with storing cookies on your computer. Also you acknowledge that you have read and understand our Privacy Policy. If you do not agree leave the website.More information about cookies
  • Last modified: 2025/05/25 20:33
  • by vazaz