User Tools

Site Tools


ru:docs:guide-developer:source-code:start

Исходный код LEDE

Исходный код проекта LEDE начинается с версии OpenWrt r49258. Код хранится внутри дерева git, который содержит все ветви и релизы, когда-либо созданные OpenWrt. При импорте источников дерево было нормализовано, а некоторые мелкие хитрости были сделаны для имен коммитеров и почтовых адресов.

Все репозитории можно просматривать через Интернет через:

  1. Gitweb - главный хранилище Git для LEDE
  2. Github - постоянно обновляемое зеркало Gitweb

Репозитории исходного кода LEDE

Любая разработка LEDE происходит в основном openwrt.git репозитории, который доступен как через HTTP, так и HTTPS:

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

Вы можете найти зеркало репозитория на Github:

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

Общая структура источника

Это папки, которые вы можете найти в git проекта:

  • /config : файлы конфигурации для menuconfig
  • /include : файлы конфигурации makefile
  • /package : пакеты makefile и конфигурация
  • /scripts : разные скрипты, используемые в процессе сборки
  • /target : makefile и конфигурация для построения imagebuilder, ядра, sdk и инструментальной цепочки, построенной buildroot.
  • /toolchain : makefile и конфигурация для создания инструментальной цепочки
  • /tools : различные инструменты, используемые в процессе сборки

Релизы

Генерирование выпусков уже было значительно автоматизировано. Остальные части процесса также должны быть автоматизированы перед первым выпуском LEDE . Мы представим файл TESTERS, который отформатирован аналогично файлу MAINTAINERS ядра. Члены сообщества могут перечислить себя как тестеры для цели / профиля / устройства. После того, как релиз был сгенерирован, тестеры должны получить электронное сообщение, информирующее их о необходимости проверки изображений. Необходимо решить, должны ли быть включены только проверенные изображения в двоичной версии.

Релизы должны:

  1. Происходит не реже одного раза в год
  2. По крайней мере, одно обновление обслуживания
  3. Предоставление CVE / критических / … исправлений в течение как минимум одного года после выпуска
  4. Включать только поддерживаемые цели
  5. Включать только те объекты, которые были обнаружены при тестировании устройства.
  6. Будьте готовы, когда они будут готовы

Дополнительную информацию см. На странице TODO.

Постановка деревьев

Чтобы создать себе промежуточное дерево на git.lede-project.org (не распространяется на обычных пользователей):

ssh <git@git.lede-project.org> "create lede/yournick/staging" 
ssh <git@git.lede-project.org> "desc lede/yournick/staging Staging tree of Your Name"

Чтобы получить ваше промежуточное дерево на https://git.lede-project.org:

ssh <git@git.lede-project.org> "perms lede/yournick/staging + READERS gitweb"

Чтобы ваше старое дерево было доступно для всех:

ssh <git@git.lede-project.org> "perms lede/yournick/staging + READERS @all "

Обновления ядра

Было доказано, что нецелесообразно и тратить время, чтобы всегда быть на самом последнем ядре в течение двух дней после его выпуска. Это вызвало следующее

  1. диверсификация версий ядра
  2. давление на сопровождающих постоянно обновляется, а не стабилизируется
  3. огромные усилия вложились в обновление в 3-4 раза между выпусками
  4. огромная рабочая нагрузка для поддержки kmod- * упаковки
  5. Обновите ядра, которые могут быть не полностью протестированы

Очевидно, это не оправдывает старые, пыльные ядра. Должен быть принят сбалансированный путь между двумя, который дает последние ядра сообщества, не вызывая ненужных проблем с рабочей нагрузкой и стабильностью.

Должно быть не более трех одновременных версий ядра. Наличие двух одновременных версий лучше трех.

В краткосрочной - стабильность должна быть оценена выше, чем кровотечение. Кровотечение важно, но не как компромисс к стабильности.

Добавление нового устройства

Добавление нового устройства Общие сведения о добавлении нового устройства

Исходный код OpenWrt

Мы сохраняем исходный исходный код OpenWrt до r49258 доступным, в основном в качестве справочного и исторического интереса.

Исходный репозиторий OpenWrt Subversion был разделен на несколько репозиториев Git, сопоставляющих различные каталоги и теги SVN с соответствующими ветвями Git.

git clone https://git.lede-project.org/openwrt/source.git 
git clone https://git.lede-project.org/openwrt/packages.git 
git clone https://git.lede-project.org/openwrt/feeds.git 
git clone https://git.lede-project.org/openwrt/docs.git
ru/docs/guide-developer/source-code/start.txt · Last modified: 2018/05/22 06:05 by tmomas