User Tools

Site Tools


ru:doc:howto:generic.flashing

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

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

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

Внимание!
Этот раздел описывает действия, которые могут привести к полной или частичной неработоспособности вашего устройства. Выполняйте с особой осторожностью!

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

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

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

Четыре пути

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

1. Из-под оригинальной прошивки

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

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

2. Через автозагрузчик и Ethernet порт

Чтобы провернуть такой вариант, а именно принудительно залить прошивку, можно воспользоваться тем, что большинство автозагрузчиков содержат встроенный функционал для таких целей. Некоторые содержат 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).

Специфические Howto

3. через автозагрузчик и Serial порт

4. через JTAG

port.jtag

Перезаливка с OpenWrt

Однажды установив и запустив OpenWrt, у вас появится множество удобных инструментов для перезаливки прошивки через интерфейс командной строки командой mtd. Указывайте интересующий вас раздел (пожалуйста, просмотрите flash.layout или flash.layout или flashlayout для обозначений.
И, конечно, самый простой вариант апгреда через 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 на ваше устройство, продолжите с базовыми настройками.

Безопасный режим

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

Системный апгрейд

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

Пояснения

Что такое Image File?

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). Вы можете прочитать больше:

ru/doc/howto/generic.flashing.txt · Last modified: 2013/12/04 10:40 (external edit)