Підготовка вашої системи збірки OpenWrt до використання

Це перший розділ серії статей “Hello, world!” для OpenWrt. Перш ніж починати, рекомендується ознайомитися з інструкцією Build system – Installation, підготувати відповідну платформу (віртуальну або фізичну) та клонувати вихідні коди OpenWrt у нову директорію. Покрокові інструкції описані на сторінці Wiki за посиланням вище.

Хоча цей посібник не надає докладних інструкцій для альтернативного підходу, ви можете використати OpenWrt SDK для своєї цільової платформи замість клонування всього репозиторію. Якщо ви оберете SDK, можете пропустити кроки клонування з інструкції “Build system - Installation” і замість цього розпакувати SDK у підготовлене середовище.

Ці кроки потрібні лише у разі клонування вихідного коду. Якщо ви використовуєте SDK — цей розділ можна пропустити.

Спочатку обираємо стабільну ревізію (наприклад, v24.10.1) і переконуємось, що каталог з кодом — чистий. У цьому прикладі автор використовує каталог `/home/buildbot/source`.

``/home/buildbot/`` — умовна директорія. Ви можете, наприклад, використовувати ``~/devel/``.

Також рекомендується використовувати найактуальнішу стабільну гілку, наприклад ``openwrt-24.10.1`` (на квітень 2025 року).

Клонування репозиторію:

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

Це розмістить код у підкаталозі `./source`. Ви можете змінити назву каталогу або опустити останній аргумент, щоб клонувати в `./openwrt/`, але в цьому посібнику використовується назва `source`.

Виконайте такі команди, щоби перейти в каталог, перевірити потрібну версію і почистити можливі залишки:

cd /home/buildbot/source
git checkout v23.05.3
make distclean

Оновіть і встановіть усі пакети з фідів:

./scripts/feeds update -a
./scripts/feeds install -a

Відкрийте меню конфігурації для вибору платформи:

make menuconfig

У меню оберіть:

  • Target System – наприклад: `Lantiq`
  • Subtarget – наприклад: `XRX200`
  • Target Profile – наприклад: `P2812HNU-F1` (роутер Zyxel)

Після вибору натисніть Exit і збережіть зміни. Тепер зберіть інструменти та крос-компілятор:

make toolchain/install

Цей процес займе тривалий час — зробіть собі каву ☕.

Інструменти, незалежні від цільової платформи, а також крос-компілятор, встановлюються в каталоги staging_dir/host/ і staging_dir/toolchain/. Це стосується як виконуваних файлів, зібраних на попередньому кроці, так і попередньо зібраних файлів, доступних у складі SDK.

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

Деякі інструменти, розміщені у staging_dir/host/bin, можуть бути символьними посиланнями на вже наявні утиліти вашої системи, але більшість — це унікальні виконувані файли. Щоб зручно використовувати ці інструменти в наступних розділах, рекомендується мати можливість запускати їх без вказування повного шляху. Для цього ми додаємо каталог із цими інструментами до змінної середовища PATH:

export PATH=/home/buildbot/source/staging_dir/host/bin:$PATH

У цьому розділі ми:

  • підготували середовище збірки,
  • налаштували та зібрали інструменти й крос-компілятор,
  • додали потрібні шляхи до змінної `PATH` для подальшої зручної роботи.

Готово до наступного розділу.

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 17:02
  • by vazaz