Это старая версия документа!
Содержание
Сборка прошивки для роутера beeline
Подготовка к сборке
Все манипуляции проводятся на виртуальном сервере KVM с debian 12. Сборку в docker среде пробовали, но завершилось фейлом. Пробуем на живой ОСи.
# обновляем ОС apt-get update & apt-get upgrade # включаем сырцы sed -i '/deb-src/s/^# //' /etc/apt/sources.list && apt update # устанавливаем необходимое ПО apt-get install -y time git-core subversion build-essential g++ bash make \ libssl-dev patch libncurses5 libncurses5-dev zlib1g-dev gawk \ flex gettext wget unzip xz-utils python3 python3-distutils-extra \ python3-setuptools swig rsync curl libsnmp-dev liblzma-dev \ libpam0g-dev cpio rsync gcc-multilib bison apt-get install texinfo
# git clone https://github.com/vido89/Open-Wrt-RTK.git cp rtk_deconfig/defconfig_rtl819xd .config
Сборка на Ubuntu 16.04 32 bit
После нескольких десятков часов проб и ошибок наметился тернистый, но вроде как рабочий способ сборки на базе Ubuntu 16 32 bit
root@ubuntu16:~# uname -a Linux ubuntu16 4.4.0-142-generic #168-Ubuntu SMP Wed Jan 16 21:01:15 UTC 2019 i686 athlon i686 GNU/Linux
Шаг 1. Подготовка системы (Ubuntu 16.04 x86)
Сборка прошивок OpenWrt очень требовательна к окружению. Чтобы избежать проблем, лучше всего работать в чистой 32-битной Ubuntu 16.04.
- Используйте виртуальную машину: Самый надежный способ — поднять виртуальную машину (VirtualBox, VMware) с Ubuntu 16.04 32-bit (i386)
- Это исключит ошибки, связанные с битностью библиотек.
Установите зависимости: Внутри виртуальной машины откройте терминал и выполните команду для установки всех необходимых для сборки пакетов
sudo apt-get update sudo apt-get install -y build-essential libncurses5-dev zlib1g-dev gawk \ unzip git wget python subversion file gcc g++ perl bzip2 openssl findutils \ libssl-dev autoconf automake libtool patch rsync xz-utils flex bison
Шаг 2. Получение и настройка исходного кода
Вместо того чтобы брать «голый» OpenWrt, мы будем использовать форк, который уже содержит все необходимые патчи и конфигурации для нашего чипа.
# # Клонируем репозиторий разработчика в вашу домашнюю директорию: cd ~ git clone https://github.com/Vyacheslav-S/openwrt-rtk819.git cd openwrt-rtk819 # # Обновляем и установите "фиды" (feeds). # Это символьные ссылки на все доступные пакеты приложений (LuCI, OpenVPN и т.д.) ./scripts/feeds update -a ./scripts/feeds install -a
Шаг 3. Конфигурация (Выбор пакетов и опций)
Теперь нужно настроить, какие именно компоненты войдут в вашу прошивку.
# Запускаем псевдографический интерфейс настройки: # make menuconfig
Настройте ключевые параметры:
- Target System: Должен быть выбран Realtek MIPS (или похожий на rtl819x). Эта опция обычно уже выставлена по умолчанию в форке разработчика
- Target Profile: Найдите и выберите модель вашего роутера Beeline N300 или аналогичную (SmartBox ONE).
Добавление пакетов: Нажмите клавишу / для поиска по пакетам, введите название и нажмите M (собрать как модуль .ipk), чтобы добавить в прошивку:
- luci — веб-интерфейс (отметьте *).
- luci-i18n-russian — русский язык для веб-интерфейса.
- openvpn-openssl — сам OpenVPN.
- openssh-sftp-server — для безопасной передачи файлов (дополнительно к OpenSSH).
Сохраните конфигурацию и выйдите из меню.
Шаг 4. Процесс сборки
Теперь, когда все готово, можно запускать компиляцию.
- Начните сборку. Рекомендуется использовать один поток (-j1), чтобы видеть все ошибки, а не пропускать их
make V=99 -j1
