User Tools

Site Tools


ru:doc:howto:generic.flashing

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Previous revision
ru:doc:howto:generic.flashing [2013/07/03 09:01]
ru:doc:howto:generic.flashing [2016/01/24 18:43] (current)
tmomas Link mit inbox:netboot geändert zu inbox:howto:netboot
Line 1: Line 1:
 +====== Устанавливаем OpenWrt (основы) ======
 +OpenWrt не может быть установлена настолько просто и безопасно,​ как любой другой дистрибутив GNU/Linux. Установка на Flash-чип,​ впаянный в PCB карту, к сожалению,​ несколько более затруднительна,​ чем установка с диска DVD на жесткий диск. После того, как вы выбрали ваш метод [[ru:​doc:​howto:​obtain.firmware|получения прошивки]] (по-английски firmware image) уникальной для //​вашего устройства//​ и иногда даже //​модели и версии//,​ вам придется перезаписать оригинальную прошивку на чипе flash-памяти. На этой странице вы найдете описание того, как сделать это.
  
 +По сравнению со сборкой дистрибутива,​ установка файла с прошивкой OpenWrt иногда может быть самым непростым во всей процедуре,​ а иногда занимает пару минут. В зависимости от конкретной модели вашего устройства,​ вы можете ограничиться простой //​заливкой//​ вашей новой прошивки через web-интерфейс;​ можете вручную заливать необходимую прошивку через tftp; или, если ваши дела совсем плохи, то вплоть до изменения структуры вашего устройства и подключения через JTAG доступ. Но в целом, основным вариантом установки является установка через вшитый загрузчик (Redboot, Uboot и проч.) или простое копирование на CompactFlash-карточку:​ все зависит от конкретной модели вашего устройства.
 +
 +{{page>​ru:​meta:​infobox:​dangerous&​noheader&​nofooter&​noeditbtn}}
 +
 +:!: Заливка неверной версии файла прошивки не обязательно должна сломать ваше устройство,​ но вам придется пройти через некоторые трудоемкие процедуры,​ чтобы [[doc:​howto:​generic.debrick|оживить]] его. Иногда,​ вам придется использовать модифицированный Serial кабель,​ и роутер может не заработать с первого раза.
 +
 +:!: Это HowTo ОЧЕНЬ общее. Вам не следует сразу приступать к работе,​ изучив только эту страницу,​ не адаптировав процедуру по установке OpenWrt для вашего конкретного устройства. Честно говоря,​ у нас просто нет столько людей, чтобы писать подобные объяснения для всех сотен поддерживаемых устройств. Поищите описание по установке для вашего устройства на странице [[toh:​start|поддерживаемых устройств]]. Если такого описания нет, продолжайте чтение.
 +
 +В целом, у вас есть две опции: Залить OpenWrt в постоянную память,​ или запускать OpenWrt через сеть. [[inbox:​howto:​netboot|Netbooting]] поддерживается не всеми вариантами [[doc:​techref:​bootloader|загрузчиков]],​ вшитых в устройства. Пожалуйста,​ ознакомьтесь с конкретной страницей wiki посвященой модели вашего роутера. Если ваши попытки установить OpenWrt провалились,​ статья о том, [[doc/​howto/​generic.debrick|как оживить роутер]] поможет вам. Обязательный раздел к прочтению ->​[[doc:​techref:​Flash.Layout]].
 +
 +
 +===== Четыре пути =====
 +Существует четыре способа установки OpenWrt на ваше устройство:​
 +
 +==== 1. Из-под оригинальной прошивки ====
 +Откройте в вашем браузере Web-интерфейс //​оригинальной прошивки//​ и установите файл OpenWrt через опцию //"​Firmware Upgrade"//​. Готово.
 +Как правило,​ нужный файл прошивки OpenWRT содержит в названии подстроку "​-factory",​ например,​ ''​openwrt-ar71xx-generic-wndr3800-squashfs-factory.img''​
 +
 +**''​Замечание:''​** Иногда оригинальная прошивка проверяет,​ какой файл ей предлагают для "​обновления"​. В случае,​ если заводская прошивка решит, что предлагаемый ей файл не является приемлемым,​ вам не удастся установить OpenWrt одним кликом. Не отчаивайтесь,​ попробуйте один из оставшихся трех путей.
 +
 +
 +==== 2. Через автозагрузчик и Ethernet порт ====
 +Чтобы провернуть такой вариант,​ а именно принудительно залить прошивку,​ можно воспользоваться тем, что большинство [[doc:​techref:​bootloader|автозагрузчиков]] содержат встроенный функционал для таких целей. Некоторые содержат [[wp>​Trivial File Transfer Protocol|TFTP]]-client,​ другие - TFTP-server,​ третьи [[wp>​File Transfer Protocol|FTP]]-client,​ а некоторые даже FTP-server. Вам необходимо выяснить:​
 +
 +  * IP адрес автозагрузчика (это не обязательно тот же IP адрес, который устройство имеет по умолчанию для доступа через web-интерфейс!);​
 +  * какие из вышеуказанных протоколов используются;​
 +  * работает ли автозагрузчик как клиент или как сервер;​
 +  * какой порт используется для подключения к автозагрузчику по умолчанию (Если не можете ответить на этот вопрос,​ попробуйте [[wp>​List of TCP and UDP port numbers|порт по умолчанию]]);​
 +  * интерфейс к которому надо подключиться;​
 +  * возможно,​ потребуется username и login (для доступа не к web-интерфейсу,​ а именно к автозагрузчику);​
 +  * важно также узнать время после включения,​ в течение которого ваше устройство принимает входящие подключения к автозагрузчику. Это может быть, например,​ время в 2 секунды,​ начиная с 3-ой секунды после включения устройства в сеть.
 +
 +Как только вы получили ответы на все эти вопросы,​ вы можете продолжать:​
 +  - установите,​ по необходимости,​ недостающие программы на ваш PC для доступа к роутеру (так, если автозагрузчик содержит FTP-server, вам нужен FTP-client);​
 +  - прочитайте инструкции по использованию этих программ! например ''​[[http://​linux.die.net/​man/​1/​tftp|man tftp]]'',​ ''​[[http://​linux.die.net/​man/​8/​tftpd|man tftpd]]'',​ ''​[[http://​linux.die.net/​man/​1/​ftp|man ftp]]'',​ ''​[[http://​linux.die.net/​man/​1/​ncftp|man ncftp]]'',​ ''​[[http://​linux.die.net/​man/​8/​ftpd|man ftpd]]'',​ ''​[[http://​linux.die.net/​man/​8/​pure-ftpd|man pure-ftpd]]''​ или другую документацию;​
 +  - задайте статический IP адрес вашему PC внутри той же подсети,​ в которой находится автозагрузчик вашего роутера;​
 +  - соедините ваш PC с соответствующим портом;​
 +  - включите ваш роутер;​
 +  - установите соединение с роутером именно в тот момент,​ когда это позволяет сделать автозагрузчик;​
 +  - следуйте соответствующим процедурам по заливке файла OpenWrt на ваш роутер;​
 +  - **<color red>Не изменяйте или переустанавливайте автозагрузчик</​color>​** если это не будет прямо оговорено!
 +
 +**''​Замечание:''​** Иногда даже автозагрузчик не позволяет записать файл прошивки на flash память устройства,​ например,​ в [[toh/​inventel/​dv4210|Inventel DV4210 (AKA Livebox)]].
 +
 +=== Специфические Howto ===
 +  * -> [[doc:​howto:​generic.flashing.tftp]]
 +  * -> [[doc:​howto:​generic.flashing.ftp]]
 +  * -> [[doc:​howto:​generic.flashing.xmodem]]
 +
 +==== 3. через автозагрузчик и Serial порт ====
 +  * -> [[doc:​howto:​generic.flashing.serial]]
 +
 +==== 4. через JTAG ====
 +-> [[doc/​hardware/​port.jtag]]
 +
 +
 +
 +===== Перезаливка с OpenWrt =====
 +Однажды установив и запустив OpenWrt, у вас появится множество удобных инструментов для перезаливки прошивки через интерфейс командной строки командой ''​[[doc:​techref:​mtd]]''​. Указывайте интересующий вас раздел (пожалуйста,​ просмотрите [[toh/​tp-link/​tl-wr1043nd#​flash.layout]] или [[toh/​d-link/​dir-300#​flash.layout]] или [[toh/​seagate/​dockstar#​flashlayout]] для обозначений.\\ И, конечно,​ самый простой вариант апгреда через [[doc/​howto/​webinterface.overview|Web-интерфейс]] так же возможен.
 +
 +Чтобы перезаписать существующую флэш память рядом с разделом,​ где установлен автозагрузчик,​ а так же ту часть, которая содержит ART, в случае устройства WR1043ND и схожих с ним можно использовать:​
 +<code bash>
 +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
 +</​code>​
 +
 +Вы можете,​ хотя это не рекомендовано,​ установить прямой туннель для установки прошивки без копирования ее на временный раздел tmpfs flash-памяти роутера. В таком случае,​ вот ваши действия:​
 +  * на обслуживающей машине:​ включите сервис netcat с прослушиванием на 5050 порту, отправьте прошивку в тот момент,​ когда будет установлено соединение:​
 +<​code>​nc -l -p 5050 -q 1 < openwrt-XXXX-XXXX.trx</​code>​
 +  * затем подключитесь по ssh к роутеру и запустите скачивание и установку прошивки с сервера:​
 +<​code>​nc 192.168.1.6 5050 | mtd -e linux -r write - linux</​code>​
 +
 +:!: Последняя описанная процедура не рекомендована,​ но она может быть использована в случае,​ если у вас обнаружится дефицит памяти на устройстве.
 +
 +===== Назад к заводской прошивке =====
 +-> [[doc:​howto:​generic.uninstall]] (используйте,​ только если персональная wiki страница не описывает процесс возврата на оригинальную прошивку)\\
 +
 +===== Базовая конфигурация =====
 +Установив OpenWrt на ваше устройство,​ продолжите с [[ru:​doc:​howto:​basic.config|базовыми настройками]].\\
 +
 +==== Безопасный режим ====
 +-> [[doc:​howto:​generic.failsafe]] (используйте,​ только если персональная wiki страница не описывает процесс возврата на оригиналную прошивку)\\
 +
 +==== Системный апгрейд ====
 +-> [[doc:​howto:​generic.sysupgrade]] (используйте,​ только если персональная wiki страница не описывает процесс возврата на оригиналную прошивку)\\
 +
 +
 +===== Пояснения =====
 +
 +==== Что такое Image File? ====
 +Image file (файл образа) - это побайтовая копия всех данных,​ используемых в файловой системе. Если вы установите GNU/Linux простым способом на один или несколько разделов вашего жесткого диска, а потом скопируете все содержимое байт за байтом с вашего жесткого диска в один файл:
 +
 +<code bash>
 +dd if=/dev/sda of=/​media/​sdb3/​backup-sda.dd
 +</​code>​
 +
 +то полученный файл ''/​media/​sdb3/​backup-sda.dd''​ и будет являться файлом образа (Вашего дискового тома /dev/sda).
 +
 +
 +Разница с OpenWRT лишь в том, что рабочие OpenWrt-Image-File так не создаются ;-) Они создаются специальной программой **Image Generator** (ранее называвшейся Image Builder). Вы можете прочитать больше:​
 +  * [[doc/​techref/​flash.layout]]
 +  * [[doc/​techref/​header]]
 +  * [[doc/​howto/​obtain.firmware.generate]] Если вы хотите узнать больше об **Image Generator**,​ вернитесь в раздел ​ [[doc:​howto:​obtain.firmware]] и выберите второй путь.