Устанавливаем OpenWrt (основы)

OpenWrt не может быть установлена настолько просто и безопасно, как любой другой дистрибутив GNU/Linux. Установка на Flash-чип, впаянный в PCB карту, к сожалению, несколько более затруднительна, чем установка с диска DVD на жесткий диск. После того, как вы выбрали ваш метод получения прошивки (по-английски firmware image) уникальной для вашего устройства и иногда даже модели и версии, вам придется перезаписать оригинальную прошивку на чипе flash-памяти. На этой странице вы найдете описание того, как сделать это.

По сравнению со сборкой дистрибутива, установка файла с прошивкой OpenWrt иногда может быть самым непростым во всей процедуре, а иногда занимает пару минут. В зависимости от конкретной модели вашего устройства, вы можете ограничиться простой заливкой вашей новой прошивки через web-интерфейс; можете вручную заливать необходимую прошивку через tftp; или, если ваши дела совсем плохи, то вплоть до изменения структуры вашего устройства и подключения через JTAG доступ. Но в целом, основным вариантом установки является установка через вшитый загрузчик (Redboot, Uboot и проч.) или простое копирование на CompactFlash-карточку: все зависит от конкретной модели вашего устройства.

Warning!
This section describes actions that might damage your device or firmware. Proceed with care!

:!: Заливка неверной версии файла прошивки не обязательно должна сломать ваше устройство, но вам придется пройти через некоторые трудоемкие процедуры, чтобы оживить его. Иногда, вам придется использовать модифицированный Serial кабель, и роутер может не заработать с первого раза.

:!: Это HowTo ОЧЕНЬ общее. Вам не следует сразу приступать к работе, изучив только эту страницу, не адаптировав процедуру по установке OpenWrt для вашего конкретного устройства. Честно говоря, у нас просто нет столько людей, чтобы писать подобные объяснения для всех сотен поддерживаемых устройств. Поищите описание по установке для вашего устройства на странице поддерживаемых устройств. Если такого описания нет, продолжайте чтение.

В целом, у вас есть две опции: Залить OpenWrt в постоянную память, или запускать OpenWrt через сеть. Netbooting поддерживается не всеми вариантами загрузчиков, вшитых в устройства. Пожалуйста, ознакомьтесь с конкретной страницей wiki посвященой модели вашего роутера. Если ваши попытки установить OpenWrt провалились, статья о том, как оживить роутер поможет вам. Обязательный раздел к прочтению →flash.layout.

Существует четыре способа установки OpenWrt на ваше устройство:

Откройте в вашем браузере Web-интерфейс оригинальной прошивки и установите файл OpenWrt через опцию “Firmware Upgrade”. Готово. Как правило, нужный файл прошивки OpenWRT содержит в названии подстроку “-factory”, например, openwrt-ar71xx-generic-wndr3800-squashfs-factory.img

Замечание: Иногда оригинальная прошивка проверяет, какой файл ей предлагают для “обновления”. В случае, если заводская прошивка решит, что предлагаемый ей файл не является приемлемым, вам не удастся установить OpenWrt одним кликом. Не отчаивайтесь, попробуйте один из оставшихся трех путей.

Чтобы провернуть такой вариант, а именно принудительно залить прошивку, можно воспользоваться тем, что большинство автозагрузчиков содержат встроенный функционал для таких целей. Некоторые содержат TFTP-client, другие - TFTP-server, третьи FTP-client, а некоторые даже FTP-server. Вам необходимо выяснить:

  • IP адрес автозагрузчика (это не обязательно тот же IP адрес, который устройство имеет по умолчанию для доступа через web-интерфейс!);
  • какие из вышеуказанных протоколов используются;
  • работает ли автозагрузчик как клиент или как сервер;
  • какой порт используется для подключения к автозагрузчику по умолчанию (Если не можете ответить на этот вопрос, попробуйте порт по умолчанию);
  • интерфейс к которому надо подключиться;
  • возможно, потребуется username и login (для доступа не к web-интерфейсу, а именно к автозагрузчику);
  • важно также узнать время после включения, в течение которого ваше устройство принимает входящие подключения к автозагрузчику. Это может быть, например, время в 2 секунды, начиная с 3-ой секунды после включения устройства в сеть.

Как только вы получили ответы на все эти вопросы, вы можете продолжать:

  1. установите, по необходимости, недостающие программы на ваш PC для доступа к роутеру (так, если автозагрузчик содержит FTP-server, вам нужен FTP-client);
  2. прочитайте инструкции по использованию этих программ! например man tftp, man tftpd, man ftp, man ncftp, man ftpd, man pure-ftpd или другую документацию;
  3. задайте статический IP адрес вашему PC внутри той же подсети, в которой находится автозагрузчик вашего роутера;
  4. соедините ваш PC с соответствующим портом;
  5. включите ваш роутер;
  6. установите соединение с роутером именно в тот момент, когда это позволяет сделать автозагрузчик;
  7. следуйте соответствующим процедурам по заливке файла OpenWrt на ваш роутер;
  8. Не изменяйте или переустанавливайте автозагрузчик если это не будет прямо оговорено!

Замечание: Иногда даже автозагрузчик не позволяет записать файл прошивки на flash память устройства, например, в Inventel DV4210 (AKA Livebox).

Методы установки

port.jtag

Однажды установив и запустив OpenWrt, у вас появится множество удобных инструментов для перезаливки прошивки через интерфейс командной строки командой mtd. Указывайте интересующий вас раздел (пожалуйста, просмотрите flash_layout или flash_layout или flash_layout для обозначений.
И, конечно, самый простой вариант апгреда через Web-интерфейс так же возможен.

Чтобы перезаписать существующую флэш память рядом с разделом, где установлен автозагрузчик, а так же ту часть, которая содержит ART, в случае устройства WR1043ND и схожих с ним можно использовать:

wget http://downloads.openwrt.org/snapshots/trunk/ar71xx/openwrt-ar71xx-generic-tl-wr1043nd-v1-squashfs-factory.bin /tmp/openwrt-firmware.bin
mtd -r write openwrt-firmware.bin firmware

Вы можете, хотя это не рекомендовано, установить прямой туннель для установки прошивки без копирования ее на временный раздел tmpfs flash-памяти роутера. В таком случае, вот ваши действия:

  • на обслуживающей машине: включите сервис netcat с прослушиванием на 5050 порту, отправьте прошивку в тот момент, когда будет установлено соединение:
nc -l -p 5050 -q 1 < openwrt-XXXX-XXXX.trx
  • затем подключитесь по ssh к роутеру и запустите скачивание и установку прошивки с сервера:
nc 192.168.1.6 5050 | mtd -e linux -r write - linux

:!: Последняя описанная процедура не рекомендована, но она может быть использована в случае, если у вас обнаружится дефицит памяти на устройстве.

generic.uninstall (используйте, только если персональная wiki страница не описывает процесс возврата на оригинальную прошивку)

Установив OpenWrt на ваше устройство, продолжите с базовыми настройками.

failsafe_and_factory_reset (используйте, только если персональная wiki страница не описывает процесс возврата на оригиналную прошивку)

generic.sysupgrade (используйте, только если персональная wiki страница не описывает процесс возврата на оригиналную прошивку)

Image file (файл образа) - это побайтовая копия всех данных, используемых в файловой системе. Если вы установите GNU/Linux простым способом на один или несколько разделов вашего жесткого диска, а потом скопируете все содержимое байт за байтом с вашего жесткого диска в один файл:

dd if=/dev/sda of=/media/sdb3/backup-sda.dd

то полученный файл /media/sdb3/backup-sda.dd и будет являться файлом образа (Вашего дискового тома /dev/sda).

Разница с OpenWRT лишь в том, что рабочие OpenWrt-Image-File так не создаются ;-) Они создаются специальной программой Image Generator (ранее называвшейся Image Builder). Вы можете прочитать больше:

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: 2020/12/14 14:04
  • by tmomas