openwrt snapshot что это
Устанавливаем 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!
В целом, у вас есть две опции: Залить 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 порт
Как только вы получили ответы на все эти вопросы, вы можете продолжать:
Замечание: Иногда даже автозагрузчик не позволяет записать файл прошивки на flash память устройства, например, в Inventel DV4210 (AKA Livebox).
Методы установки
3. через автозагрузчик и Serial порт
4. через JTAG
Перезаливка с OpenWrt
Чтобы перезаписать существующую флэш память рядом с разделом, где установлен автозагрузчик, а так же ту часть, которая содержит ART, в случае устройства WR1043ND и схожих с ним можно использовать:
Вы можете, хотя это не рекомендовано, установить прямой туннель для установки прошивки без копирования ее на временный раздел tmpfs flash-памяти роутера. В таком случае, вот ваши действия:
Назад к заводской прошивке
→ generic.uninstall (используйте, только если персональная wiki страница не описывает процесс возврата на оригинальную прошивку)
Базовая конфигурация
Установив OpenWrt на ваше устройство, продолжите с базовыми настройками.
Безопасный режим
→ failsafe_and_factory_reset (используйте, только если персональная wiki страница не описывает процесс возврата на оригиналную прошивку)
Системный апгрейд
→ generic.sysupgrade (используйте, только если персональная wiki страница не описывает процесс возврата на оригиналную прошивку)
Пояснения
Что такое Image File?
то полученный файл /media/sdb3/backup-sda.dd и будет являться файлом образа (Вашего дискового тома /dev/sda).
Self-registration in the wiki has been disabled.
If you want to contribute to the OpenWrt wiki, please post HERE in the forum or ask on IRC for access.
Except where otherwise noted, content on this wiki is licensed under the following license:
CC Attribution-Share Alike 4.0 International
Installing OpenWrt development snapshots
For experienced users only! The steps below install OpenWrt development snapshot firmware on your device.
The development branch can contain experimental code that is under active development and should not be used for production environments. Snapshot images may support additional hardware; however, it is experimental, considered unstable, and sometimes won’t compile.
What is a development snapshot firmware?
Development snapshots are also known as simply “snapshots” or the outdated term “trunk builds”. Snapshots are versions of OpenWrt that are “in development”. They are rebuilt frequently, often multiple times a day.
I am a standard consumer, do I want a development snapshot firmware?
No!
Although they are the latest version, there is no guarantee that any particular snapshot build will be bug-free, or even work at all. Snapshots are not likely to be stable enough to be used on your home router, where you or members of your family rely on the network. As a standard consumer stick to the official release versions of OpenWrt.
Snapshots do not include the LuCI web interface by default
On snapshots, LuCI has to be installed manually (if needed).
Manual LuCI installation by package may require more free flash storage than a 4MB flash device can handle, see 4/32 device warning.
To manually install LuCI, follow the LuCI installation guide.
Installing a OpenWrt Snapshot
To install (or “flash”) an OpenWrt snapshot firmware image, just follow the standard flashing instructions: Factory install and Sysupgrade, with the only difference to use it for a firmware file from the snapshot download section.
Optional next steps
Once the snapshot is installed on your device:
Self-registration in the wiki has been disabled.
If you want to contribute to the OpenWrt wiki, please post HERE in the forum or ask on IRC for access.
Except where otherwise noted, content on this wiki is licensed under the following license:
CC Attribution-Share Alike 4.0 International
OpenWRT, или Что еще можно сделать со своим роутером
Здравствуйте, на написание данной статьи меня натолкнула аналогичная, но в качестве сервера выступала Raspberry Pi. По моему мнению использовать эту маленькую, но при этом достаточно мощную платку в этих целях немного не целесообразно, у многих есть wi-fi роутер с USB портом, а следовательно зачем включать в розетку целый блок питания от компьютера давая при этом пускай и не большой, но все таки расход электроэнергии когда в розетку включено уже все что надо.
В данной статье рассмотрим установку торрентокачалки на практический любой роутер с USB и поддержкой OpenWRT прошивки. В наличии у меня имеется Linksys E3000, но конкретной разницы в установке и настройке OpenWRT нет. Что нам для этого будет нужно:
Установка / настройка OpenWRT
Прежде всего сразу оговорюсь что Вы все делаете на свой страх и риск, так как существует вероятность «окирпичивания» Вашего роутера. Проверяем есть ли Ваш роутер в списке поддерживаемых устройств, для этого заходим на сайт OpenWrt
После этого переходим в вкладку «Downloads»
Тут стоит выбрать какую ветку использовать стабильную (Attitude Adjustment) или соответственно «trunk» в папке snapshots, сразу замечу если Ваш роутер более менее новой модели, то скорее всего в стабильной ветке вы его не найдете.
Переходим непосредственно к скачиванию прошивки.
После того как прошивка скачалась переходим к прошивки Вашего роутера. Для этого необходимо зайти в его вэб-интерфейс который обычно располагается по адресу 192.168.1.1 или 192.168.0.1 в зависимости от производителя роутера. Подробнее по процессу прошивки и настройки Wi-Fi и всего остального для конкретного роутера можете обратится в Google, а то эта статься может растянуться до неприличных размеров, мы же остановимся именно на установке и настройке Transmission.
Установка и настройка Transmission
После прошивки роутера запускаем PuTTY если Ваша ОС Windows, если Linux то просто запускаете терминал. В поле адрес вбиваем 192.168.1.1 для PuTTY либо команду telnet 192.168.1.1 для Linux. После успешного подключения переходим к установке / настройке пакетов.
Перед скачиванием пакетов следует маленькое отступление. Так как в роутере физической памяти достаточно мало, колеблется от 4 до 16 мегабайт в зависимости от продвинутости и цены Вашего роутера, нам следует заранее побеспокоится о его увеличении. Ведь мы в любом случае собираемся подключать к нему флешку или жесткий диск так почему бы нам не сделать чтобы роутер грузился непосредственно с раздела на нашем носителе? Давайте сделаем это! Перед всеми манипуляциями с роутером нужно «разбить» Ваш HDD/флешку на несколько разделов.
Приступим. Вводим последовательно команды в терминале
Filesystem snapshot feature: /sbin/snapshot
This feature was listed in Barrier Breaker announce, documentation requested. The following information comes from this post on the Battlemesh mailing list by the programmer who implemented it.
Use cases
There are many use cases where this makes sense, however it should not be seen as the new replacement for jffs2.
This stuff is aimed at deployments, where many units run the same firmware and should all get the same updates at the same time. We aim to store config and small fixes in the block chain. After all, it is a tmpfs we run on.
The cool thing is, that you can simply rollback to an existing snapshot if anything fails. A trigger for a rollback could be “can’t connect to mesh anymore” etc.
Implementation details
Normally we have squash + jffs2 overlay. What we do instead is this…
We don’t use rootfs_data for jffs2 anymore but instead use it to store a chain of erasesize aligned blocks. Each block has a header and a tar file inside it. Header has size, hash, and type. There are snapshot and volatile blocks. The volatile entry can only exist once and as the last sentinel of the block chain.
Upon boot, the unit mounts squash, does an overlayfs mount, but uses a tmpfs instead of the usual jffs2 (which doesn’t exist anymore). We unpack the tar files in the order found inside the chain. Once all snapshot blocks are unpacked, we do another stacked overlayfs mount with a tmpfs and unpack our volatile block into it. We now have a stacked overlay root with /snapshot holding the delta of the first and /overlay holding the delta of the second mount.
Usage
You can test this in trunk images right now. The tool is deployed in the default config since Barrier Breaker. Once your system has booted and jffs2 init is done, simply call
This will turn your current jffs2 overlay delta into a block chain with a single volatile block. The system is now essentially similar to an initramfs image, where the changes in /etc/config/ get lost on boot.
So there is a mechanism to write the content of /overlay into the volatile block.
If at any point I am happy with my current config, I can also snapshot the system. This will essentially convert an existing volatile entry to a snapshot entry.
When overwriting blocks (i.e. writing a new volatile over an existing one or while converting a volatile to a snapshot) we use the last few sectors of the flash as a back buffer. This way we have a valid copy of the “data to be deleted” while we are overwriting it. This allows us to always be able to fallback to the last known working version.
This will try to pull opkg updates from the server, for example a security fix, and if it does find one or more it will automagically install the updates and then save this as a snapshot entry in the chain.
Self-registration in the wiki has been disabled.
If you want to contribute to the OpenWrt wiki, please post HERE in the forum or ask on IRC for access.
Except where otherwise noted, content on this wiki is licensed under the following license:
CC Attribution-Share Alike 4.0 International
OSBoy notes.
Установка OpenWrt из Trunk
# Корневая директория вэбсервера,
# сюда будет скачиваться репозиторий:
DIR=/usr/local/openwrt-repository
# Получаем текущую дату, она нам понадобится
# для удобства хранения разных ревизий:
DATE=`date +%Y-%m-%d`
# Скачиваем файл с контрольными суммами
# и необходимые прошивки:
wget http://downloads.openwrt.org/snapshots/trunk/ar71xx/md5sums
wget http://downloads.openwrt.org/snapshots/trunk/ar71xx/openwrt-ar71xx-generic-tl-mr3020-v1-squashfs-factory.bin
wget http://downloads.openwrt.org/snapshots/trunk/ar71xx/openwrt-ar71xx-generic-tl-mr3020-v1-squashfs-sysupgrade.bin
Сохраняем скрипт, делаем его исполняемым и переносим в подходящее место:
chmod 700 openwrt-trunk-download
mv openwrt-trunk-download /usr/bin
Если всё сделали правильно, то теперь мы можем скачать самую свежую сборку из trunk вместе с репозиторием одной командой:
Дожидаемся, пока процесс скачивания завершится и убеждаемся, что всё на своих местах:
Теперь можем скачивать и прошивать OpenWrt уже со своего собственного хранилища:
По окончанию процесса прошивки роутер перезагрузится.
В заключение установки редактируем файл конфигурации менеджера пакетов opkg:
в котором указываем путь к нашему репозиторию:
src/gz barrier_breaker http://openwrt.osboy.ru/snapshots/2013-10-01/ar71xx/packages
dest root /
dest ram /tmp
lists_dir ext /var/opkg-lists
option overlay_root /overlay
Настройка
Для возможности установки всех необходимых пакетов нам потребуется перенести корень (или /overlay) на внешний usb накопитель.
Для этого устанавливаем необходимые пакеты:
opkg update
opkg install block-mount kmod-usb-storage kmod-fs-ext4
Копируем систему (overlay) на флешку:
И настраиваем файл fstab. В версии Barrier Breaker используется новая утилита block, позволяющая создать файл fstab автоматически:
block detect > /etc/config/fstab
Затем открываем файл fstab:
и редактируем его в соответствии со своими потребностями:
config ‘global’
option anon_swap ‘0’
option anon_mount ‘0’
option auto_swap ‘1’
option auto_mount ‘1’
option delay_root ‘0’
option check_fs ‘0’
config ‘mount’
option target ‘/overlay’
option uuid ‘a36c5633-7eb8-432e-81b0-d968329056eb’
option enabled ‘1’
Тут мы видим, что вместо опции device используется опция uuid для идентификации нашаго монтируемого раздела на внешнем накопителе. Чтобы узнать значение uuid нашего раздела, используем команду:
block info
/dev/mtdblock2: UUID=»27fede08-b36a6342-a42fccf7-de0f76cf» VERSION=»4.0″ TYPE=»squashfs»
/dev/mtdblock3: TYPE=»jffs2″
/dev/sda1: UUID=»f3e65211-1b89-41a4-a688-150012e51aed» NAME=»EXT_JOURNAL» VERSION=»1.0″ TYPE=»ext4″
#!/bin/sh /etc/rc.common
START=02
start() <
export PREINIT=1
mount_root
# extroot on boot
>
Файл сохраняем, делаем его исполняемым:
chmod +x /etc/init.d/extroot
И активируем его выполнение при запуске системы:
После перезагрузки получаем систему с полноценным рабочим extroot.