1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/darcyg-wrtoy

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

wrtoy (wrtoy构建玩具)

Последнее обновление 28.04.2015

Добавлено свойство project_name в конфигурационном файле hard_manage.sh. Улучшены функции патчингового инструмента.

Для решения проблем с установкой и использованием присоединяйтесь к группе 290045468, где можно получить онлайн-помощь.

Примечание (28.02.2015)

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

Исходные сборочные скрипты были отменены, поэтому здесь будет дан краткий обзор метода использования.

Установка окружения для компиляции OpenWRT

Сначала установите набор инструментов Ubuntu-utils shell

mkdir -p /works/utils
cd /works/utils
git clone https://git.oschina.net/darcyg/ubuntu-utils.git 
cd ubuntu-utils/ubuntu_install_script
./install_base_lib.sh
./install_cppide.sh
./install_utils.sh
cd ../vpnssh_proxy
./install_proxy.sh
cd ../ubuntu_install_script
./install_env.sh

Вышеуказанные действия установят множество компиляторских инструментов, необходимых для работы с OpenWRT или другими проектами на Linux. Даже если минимальная сборка firmware не требует этих библиотек, они могут потребоваться для реализации некоторых специальных функций.Рекомендуется установить install_proxy.sh, чтобы установить службу прокси на основе SOCKS5. Для этого вам потребуется получить учётную запись SSH или Shadowsocks через прокси, а затем изменить соответствующие конфигурационные файлы (в каталогах shadowsocks/config.json и vpn.sh).Установка прокси очень важна, так как некоторые библиотеки могут быть скачаны только через прокси. После настройки запустите службу прокси через vpn.sh или svpn.sh. Используйте proxychains [cmd], чтобы гарантировать, что все загрузки будут производиться через сервер прокси.

Если вас интересуют дополнительные возможности, вы можете установить install_git.sh, который предоставляет:

  • короткие команды git (подробнее в исходном коде);
  • автоматическую авторизацию для доступа к Git серверу через ~/.netrc, что полезно для доступа к репозиториям, размещенным на частных Git серверах.
mkdir -p /works/openwrt
cd /works/openwrt
git clone http://git.oschina.net/darcyg/wrtoy
cd wrtoy

После выполнения всех скриптов установки различных программных библиотек для компиляции openwrt, вам будет предложено выбрать y, чтобы установить все инструменты и зависимости, или n, чтобы установить только базовые инструменты и программы.

./install_openwrt_hostlib.sh

*** Для версий с графическим интерфейсом рекомендуется установить исходный код сравнения Beyond Compare 3.x for Linux ***

Активировать режим отображения информации на китайском языке

echo 1 > .zh_cn
./build -h

Синхронизация исходного кода OpenWRT с локальной машиной, создание рабочей дерева каталогов

./build -I

Применение патчей для целевой платформы mtall к OpenWRT```bash ./build -pp mtall


Применение патчей проекта mtall к приложениям в OpenWRT

```bash
./build -po mtall

Обновление OpenWRT, обновление хранилища feed-пакетов

./build -f

Выполнение make menuconfig

./build -m

Запуск службы TFTP и компиляция firmware, копирование firmware в директорию TFTP

./build --tftp
./build -bj 8 -c

В этом проекте создаются четыре основных программы:

  • build

    Основные операции сборки

  • openwrt_synchro

    Синхронизация данных из источника на локальную машину (build автоматически выполняет эту задачу)

  • hardware_manage

    Инструмент конфигурации аппаратной части

  • publish

    Отправка firmware на централизованную серверную систему (через scp)


После установки, по умолчанию, рабочий путь OpenWRT будет следующим:

/works/openwrt#### Структура рабочих каталогов + /works/openwrt + dl # путь для скачивания различных исходников для сборки + staging_dir # символьная ссылка на staging_dir в корневом каталоге OpenWRT, чтобы уменьшить время повторной сборки инструментов при обновлении основного проекта + build_dir # символьная ссылка на build_dir в корневом каталоге OpenWRT, чтобы уменьшить время повторной сборки инструментов при обновлении основного проекта + nfs # конфигурация NFS, прямая символьная ссылка на bin/ramips в корневом каталоге OpenWRT + tftproot # конфигурация TFTP, прямая символьная ссылка на bin/ramips в корневом каталоге OpenWRT + openwrt.git # официальный git-код OpenWRT, не используется в данном выпуске + works # различные версии исходного кода OpenWRT из разных веток + 2014-06-25_cb592a3
# версия ветки от 2014-06-25 (рабочий каталог) + 2014-06-25_cb592a3.orig
# версия ветки от 2014-06-25 (каталог для создания patch'ов) + openwrt # текущий рабочий каталог OpenWRT, это символьная ссылка на works/2014-06-25_cb592a3 + thirdparty_libs # сторонние библиотеки для сборки, решение проблем отсутствия зависимостей при сборке на некоторых HOSTах + lastgit # последний коммит git + usegit # текущий используемый коммит git (символьная ссылка на openwrt) + openwrt-script # набор скриптов для этого проекта

------------------------------# Описание ниже устарело## Функционал скриптов openwrt-script

Обновление конфигураций

- Добавлено обновление конфигураций новых устройств в библиотеке rt5350 (08.07.2014)
- Добавлено обновление конфигураций LAN/WAN общего порта (08.07.2014)

install_openwrt.sh

Этот скрипт используется для установки нового окружения и обновления существующих окружений до последней версии исходного кода OpenWRT. Обновляет openwrt.git, а также обновляет другие сторонние feeds/packages. Последняя версия, которая не требует повторной сборки инструментов цепочки компиляции.

update_openwrt.sh

Этот скрипт предназначен только для обновления пакетов в feeds исходного кода OpenWRT в уже установленных окружениях. Не обновляет openwrt.git, а обновляет только другие сторонние feeds/packages. Последняя версия, которая не требует повторной сборки инструментов цепочки компиляции.

patch_openwrt.py

Применяет все относящиеся к проекту патчи из директории projs к текущей рабочей копии исходного кода /works/openwrt/openwrt.

Директории base и common используются при каждом применении патчей.

Директории proj_* в patch_openwrt.py указывают на конкретные проекты, которые будут выбраны для применения патчей.

./patch_openwrt.py proj -p 5350 -w

В приведённом выше примере 5350 является названием проекта, и скрипт автоматически применяет патчи из директории projs/proj_5350.

Помощь

./patch_openwrt.py -h
```#### Применение патча (виртуальное)
```bash
./patch_openwrt.py proj -p 5350 

Применение патча (запись патча, одновременно удаление тестовых файлов *.fix)

./patch_openwrt.py proj -p 5350 -w

Генерация тестового патча (запись *.fix тестового патча, не меняет исходные файлы, используется для тестирования патчей)

./patch_openwrt.py proj -p 5350 -f

Формат патча

Патчи представлены в формате YAML (похожий на JSON):

  • Поддерживается один YAML файл с несколькими конфигурационными патчами
  • Варианты замены: std и регулярное выражение regex, orig поле поддерживает одно или несколько правил

Подробное описание можно найти в примерах директории projs/base.

Здесь приведено объяснение режима для одного патча: mode - std # или отсутствие поля mode, стандартная замена строки (поддерживает несколько правил, заменяет первую найденную совпадающую строку) - std+ # или отсутствие поля mode, стандартная замена строки (поддерживает несколько правил, заменяет все совпадающие строки) - regex # поддерживает несколько регулярных выражений, заменяет первое найденное совпадение - regex+ # поддерживает несколько регулярных выражений, заменяет все найденные совпадения - add # добавляет одну строку в конец файла или после указанной строки, не допускает повторного добавления - debug # выводит более подробную информацию - source # показывает исходную строку и строку замены - copy # копирует файл - del # удаляет файл - skip # пропускает этот шаг

build.sh

Помощник командной строки для компиляции, работающий непосредственно с каталогом /works/openwrt/openwrt, чтобы уменьшить необходимость перехода между директориями. ### Формат команд

. /build.sh [f/m/b/d/j/j2/j4/j8/c/set/down/down+/clear/clear_tmp]
  • f — обновление feeds
  • m — выбор конфигурации из меню
  • b — сборка прошивки
  • d — отображение подробной информации о компиляции
  • j[j2/j4/j8] — использование многопоточной компиляции
  • c — копирование сгенерированных в целевой директории файлов в директорию tftpboot и создание символьных ссылок для удобства загрузки
  • set — установка данных разработчика (для использования с параметром -c)- down[down+] — загрузка исходного кода или его скачивание через прокси
  • clear — удаление файлов из рабочей директории
  • clear_tmp — удаление временных файлов из директории tmp### Установка данных разработчика (для использования с параметром -c)
./build.sh set

Введите boardname (название платы), platform (платформу), chipname (название чипа), tftplink (символическую ссылку для tftp).

Обновление feeds, запуск menuconfig, конфигурирование и сборка (с подробной информацией d, j параметры) и обновление символьных ссылок для tftpboot директории 5350

./build.sh f m b d j c
```## Структура рабочей директории

/works/openwrt/openwrt-script + common # общие скрипты + extra # библиотека пакетов третьих сторон (установленные вручную). Эта директория запрещена для коммита + projs # локальная библиотека патчей проекта + base # базовые патчи openwrt . 001-open-wireless.yaml # патч для включения беспроводного модуля . 002-set-chinese.yaml # патч для установки китайского языка (особое внимание) + common # общие патчи openwrt + demo # тестовые примеры патчей + proj_5350 # универсальные патчи для 5350 + proj_7620n # универсальные патчи для 7620n + proj_7620a # универсальные патчи для 7620a + proj_7620a # универсальные патчи для 7620a + proj_mediastation # патчи для медиа станции + proj_smarthomegate # патчи для домашней сети + tools # дополнительные скрипты + utils # библиотека Python . extra.sh # будущий скрипт для обновления библиотеки пакетов третьих сторон, пока пустой . install_openwrt.sh # инструмент для установки или переключения на последнюю версию исходного кода openwrt . install_openwrt_hostlib.sh # инструмент для установки зависимостей для компиляции HOST . patch_openwrt # применение патча к текущей системе OpenWRT . update_openwrt.sh # обновление soft-link feeds/packages в текущей системе OpenWRT


Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

OpenWRT проект — удобный инструмент для сборки. Развернуть Свернуть
MIT
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/darcyg-wrtoy.git
git@api.gitlife.ru:oschina-mirror/darcyg-wrtoy.git
oschina-mirror
darcyg-wrtoy
darcyg-wrtoy
master