logo
баннер баннер

Подробности блога

Created with Pixso. Дом Created with Pixso. Блог Created with Pixso.

Глубокий взгляд на OpenWrt: развитие, особенности, преимущества и недостатки

Глубокий взгляд на OpenWrt: развитие, особенности, преимущества и недостатки

2025-01-08

Предпосылки разработки

После того, как Linksys выпустила исходный код WRT54G/GS, в сети появилось множество различных версий прошивок, улучшающих оригинальные функции. Большинство этих прошивок использовали 99% исходного кода Linksys, с лишь 1% дополнительного кода. Каждая прошивка была разработана для конкретных рынков, что имело два недостатка. Во-первых, было сложно объединить сильные стороны различных версий прошивок. Во-вторых, эти версии постепенно отдалялись от официальных дистрибутивов Linux.

OpenWrt выбрала другой подход. Она началась с нуля, постепенно добавляя программные компоненты для приближения к функциональности прошивки Linksys. Успех OpenWrt заключается в ее записываемой файловой системе, позволяющей разработчикам избегать перекомпиляции после каждого изменения, что делает ее больше похожей на мини-систему Linux.

 

История разработки

Проект OpenWrt начался в январе 2004 года. Первая версия была основана на GPL исходном коде, предоставленном Linksys, и проекте buildroot в uclibc. Эта версия была помечена как "стабильная", и многие проекты до сих пор используют ее, среди относительно известных примеров - Freifunk - Firmware и Sip@Home.

В начале 2005 года к проекту присоединились новые разработчики. Через несколько месяцев они выпустили первую "экспериментальную" версию. В отличие от предыдущих версий, эта почти полностью отказалась от GPL исходного кода Linksys, использовала buildroot2 в качестве основной технологии и полностью модуларизировала OpenWrt. OpenWrt использовала официально выпущенный исходный код ядра Linux (2.4.30) вместе с некоторыми патчами и сетевыми драйверами. Команда разработчиков также добавила в OpenWrt множество бесплатных инструментов, которые могли напрямую записывать образы во Flash (mtd), настраивать беспроводные функции и включать функции коммутации VLAN. Эта версия получила название "White Russian", а версия 1.0 была анонсирована в конце 2005 года.

 

Характеристики системы

OpenWrt - это высокомодульная и автоматизированная встраиваемая система Linux, обладающая мощными сетевыми компонентами и отличной расширяемостью. Она часто применяется в устройствах промышленного управления, телефонах, небольших роботах, умных домах, маршрутизаторах и VOIP-устройствах. Между тем, она предлагает более 100 предварительно скомпилированных программных пакетов, и это число постоянно растет. Кроме того, OpenWrt SDK упрощает процесс разработки программного обеспечения.

В отличие от многих других дистрибутивов, ориентированных на маршрутизаторы, OpenWrt - это полноценная, легко модифицируемая операционная система маршрутизатора, написанная с нуля. На практике это означает, что пользователи могут использовать желаемые функции без ненужного нагромождения, а ядро Linux, поддерживающее эти функции, намного новее, чем у большинства дистрибутивов.

 

Преимущества

 

Для тех, кто имеет определенное понимание системы Linux и хочет изучать или заниматься встраиваемым Linux, OpenWrt является идеальным выбором. OpenWrt обеспечивает отличную поддержку различных архитектур процессоров, включая ARM, X86, PowerPC и MIPS. Имея более 3000 программных пакетов, охватывающих всю систему от инструментальных цепочек, ядра Linux, программных пакетов до корневой файловой системы, пользователи могут быстро и удобно настраивать встраиваемую систему с конкретными функциями для создания прошивки, просто используя команду "make".

 

В целом, процесс разработки встраиваемого Linux, независимо от того, включает ли он процессоры ARM, PowerPC или MIPS, обычно включает следующие шаги:

 

  1. Создание среды кросс-компиляции Linux;

  2. Сборка загрузчика (Bootloader);

  3. Портирование ядра Linux;

  4. Создание Rootfs (корневой файловой системы);

  5. Установка драйверов;

  6. Установка программного обеспечения.

 

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

 

Недостатки

 

  1. Из-за различий в архитектуре ядер процессоров многие приложения часто вылетают при портировании на OpenWrt.

  2. Поскольку исходный код драйверов аппаратных модулей ADSL не является открытым, ADSL-модули многих интегрированных ADSL-маршрутизаторов не функционируют, что приводит к отсутствию функциональности (за исключением RG100A и DB120).

  3. Поскольку OpenWrt не является официально выпущенной прошивкой маршрутизатора, ее сложно использовать (прошивать). Кроме того, ее основанная на Linux природа приводит к относительно высокому порогу входа для OpenWrt.

баннер
Подробности блога
Created with Pixso. Дом Created with Pixso. Блог Created with Pixso.

Глубокий взгляд на OpenWrt: развитие, особенности, преимущества и недостатки

Глубокий взгляд на OpenWrt: развитие, особенности, преимущества и недостатки

Предпосылки разработки

После того, как Linksys выпустила исходный код WRT54G/GS, в сети появилось множество различных версий прошивок, улучшающих оригинальные функции. Большинство этих прошивок использовали 99% исходного кода Linksys, с лишь 1% дополнительного кода. Каждая прошивка была разработана для конкретных рынков, что имело два недостатка. Во-первых, было сложно объединить сильные стороны различных версий прошивок. Во-вторых, эти версии постепенно отдалялись от официальных дистрибутивов Linux.

OpenWrt выбрала другой подход. Она началась с нуля, постепенно добавляя программные компоненты для приближения к функциональности прошивки Linksys. Успех OpenWrt заключается в ее записываемой файловой системе, позволяющей разработчикам избегать перекомпиляции после каждого изменения, что делает ее больше похожей на мини-систему Linux.

 

История разработки

Проект OpenWrt начался в январе 2004 года. Первая версия была основана на GPL исходном коде, предоставленном Linksys, и проекте buildroot в uclibc. Эта версия была помечена как "стабильная", и многие проекты до сих пор используют ее, среди относительно известных примеров - Freifunk - Firmware и Sip@Home.

В начале 2005 года к проекту присоединились новые разработчики. Через несколько месяцев они выпустили первую "экспериментальную" версию. В отличие от предыдущих версий, эта почти полностью отказалась от GPL исходного кода Linksys, использовала buildroot2 в качестве основной технологии и полностью модуларизировала OpenWrt. OpenWrt использовала официально выпущенный исходный код ядра Linux (2.4.30) вместе с некоторыми патчами и сетевыми драйверами. Команда разработчиков также добавила в OpenWrt множество бесплатных инструментов, которые могли напрямую записывать образы во Flash (mtd), настраивать беспроводные функции и включать функции коммутации VLAN. Эта версия получила название "White Russian", а версия 1.0 была анонсирована в конце 2005 года.

 

Характеристики системы

OpenWrt - это высокомодульная и автоматизированная встраиваемая система Linux, обладающая мощными сетевыми компонентами и отличной расширяемостью. Она часто применяется в устройствах промышленного управления, телефонах, небольших роботах, умных домах, маршрутизаторах и VOIP-устройствах. Между тем, она предлагает более 100 предварительно скомпилированных программных пакетов, и это число постоянно растет. Кроме того, OpenWrt SDK упрощает процесс разработки программного обеспечения.

В отличие от многих других дистрибутивов, ориентированных на маршрутизаторы, OpenWrt - это полноценная, легко модифицируемая операционная система маршрутизатора, написанная с нуля. На практике это означает, что пользователи могут использовать желаемые функции без ненужного нагромождения, а ядро Linux, поддерживающее эти функции, намного новее, чем у большинства дистрибутивов.

 

Преимущества

 

Для тех, кто имеет определенное понимание системы Linux и хочет изучать или заниматься встраиваемым Linux, OpenWrt является идеальным выбором. OpenWrt обеспечивает отличную поддержку различных архитектур процессоров, включая ARM, X86, PowerPC и MIPS. Имея более 3000 программных пакетов, охватывающих всю систему от инструментальных цепочек, ядра Linux, программных пакетов до корневой файловой системы, пользователи могут быстро и удобно настраивать встраиваемую систему с конкретными функциями для создания прошивки, просто используя команду "make".

 

В целом, процесс разработки встраиваемого Linux, независимо от того, включает ли он процессоры ARM, PowerPC или MIPS, обычно включает следующие шаги:

 

  1. Создание среды кросс-компиляции Linux;

  2. Сборка загрузчика (Bootloader);

  3. Портирование ядра Linux;

  4. Создание Rootfs (корневой файловой системы);

  5. Установка драйверов;

  6. Установка программного обеспечения.

 

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

 

Недостатки

 

  1. Из-за различий в архитектуре ядер процессоров многие приложения часто вылетают при портировании на OpenWrt.

  2. Поскольку исходный код драйверов аппаратных модулей ADSL не является открытым, ADSL-модули многих интегрированных ADSL-маршрутизаторов не функционируют, что приводит к отсутствию функциональности (за исключением RG100A и DB120).

  3. Поскольку OpenWrt не является официально выпущенной прошивкой маршрутизатора, ее сложно использовать (прошивать). Кроме того, ее основанная на Linux природа приводит к относительно высокому порогу входа для OpenWrt.