ReadyNAS Duo v2: Debian 10 + новейший Linux 5.10 LT

ReadyNAS Duo v2Продолжение эпопеи!

Итак, было принято решение запилить полное обновление программного обеспечения ReadyNAS Duo v2! И вот… встречайте: Debian 10 (Buster) и все это на новейшем ядре Linux 5.10.26 longterm!


Я решил немного выдержать прошивочку, чтобы она поработала в реальных условиях. Усиленно помучил ее, поиспользовал в разных режимах… все круто! Единственное — повылазили мелкие баги, даже скорее недочеты, которые я поправил буквально в первые несколько дней. Теперь выкладываю для всех. В ближайшее время апдейтов не предвидится, все хорошо.


На сегодняшний день — полет нормальный! Все работает отлично и в штатном режиме. Даже лучше. Устройство холодное и тихое. Хотя дефолтные настройки вентилятора я сделал немного шумными и натужными (совсем чуть-чуть), чтобы обдувать девайс как можно нежнее. fancontrol вы найдете в папке/etc. Дальше под свои усмотрения. Свободные ресурсы — составляют больше половины. 


Как прошиться?

Да очень просто! Скачиваем архив с файлами прошивки. Форматируем флешку, желательно небольшого размера, в FAT32. Распаковываем файлы с прошивкой в корень флехи и вставляем в USB сервера — нашего ReadyNAS Duo v2. Затем, после подачи питания, нажимаем и удерживаем кнопку backup + коротко нажимаем кнопку питания для включения (кнопку питания после включения можно отпустить, backup держим пока не заморгает диод выше). Устройство запустится, но при этом обратится сразу на флешку. Если все хорошо — файлы ядра и ramdisk-а будут обнаружены и будут загружены вместо штатных из NAND. Им будет передано управление и начнется автоматическая прошивка. 

ReadyNAS


Я соорудил свой RECOVERY и устройство обновится в автоматическом режиме. Что важно — штатным способом, без лишних приключений. То есть, даже если у вас стояла древняя старая прошивка 10-летней давности, вы так же легко сможете просто, одним движением, получить новейшее ПО для своего сервера!


По завершении процесса, устройство выключится. Достаем флешку и включаем устройство снова, но теперь — удерживаем на задней панели кнопку SYS перед включением питания. Это необходимо для того чтобы вызывать выбор режима загрузки. Нам потребуется выбрать FACTORY_DEFAULTS. Эта процедура полностью отформатирует винты, пересоздаст новые разделы с новыми размерами и корректно накатит новую операционную систему Debian buster. Выбор режима осуществяляется на ту же кнопку backup, eе нужно нажимать до тех пор пока не загорится LED1 — это и есть FACTORY_DEFAULTS. Подтверждение выбора осуществляется повторным нажатие кнопки SYS. Сразу после установки, устройство будет доступно по SSH.

IP адрес по умолчанию: 192.168.100.55: 22
Пользователь по умолчанию: root
Пароль по умолчанию: password


Что важно, я релизовал полную связь аппаратной базы с новым программным обеспечением! Работает все! А бал правит мой новый демон nashwd (написан на C)! Демон следит за винтами, аппаратным состоянием устройства, RAID и выполняет некоторые другие важные функции.


Еще хочу отметить то, что система собрана таким образом, чтобы иметь минимальный размер. Это чистый Debian без лишних пакетов в минимальной установке. При этом дистрибутив содержит в себе дополнительно все необходимое! Абсолютному большинству будет достаточно того, что там есть на первом этапе. Однако, никто не отменял доступные, новейшие репозитории из которых все можно поставить одной командой!


Качайте, пользуйтесь у кого такие же устройства! Вопросы в форум.


Дополнительная информация в кино:

ВНИМАНИЕ! СУЩЕСТВУЕТ ВРЕМЕННОЕ ОГРАНИЧЕНИЕ НА ВИНТЫ БОЛЬШОГО ОБЪЕМА — БОЛЕЕ 2Тб ПОКА НЕ АДРЕСУЕТСЯ, В СВЯЗИ С ОГРАНИЧЕНИЯМИ MBR!

Скачать прошивку

Смотреть боевик:


 

35 комментариев

Pavel_BST

Доброго времени суток! 
Сделал на точно таком же устройстве прошивку, причем умудрился выполнить все «вслепую», по видео инструкции, без подключения устройства по TTL). Очень удобно, что все этапы прошивки «подсвечиваются» LED-индикацией на морде!


Но есть небольшой минус именно такого способа, как говориться «из коробки». В нем «зашит» существующий у автора размер дисков – 2Т.


У меня винты на 6Т, не могу никак победить вопрос расширить md3 на весь объем диска.


Вариантов 2: использовать как есть, либо просить уважаемого автора помощи и указаний что делать и куда «копать». Поэтому, как говориться NicKBEL, помоги!)

nick
очень странно… md3 должен разбивать все оставшееся простарнство. там нет жесткой установки на 2 тера. 
но если не разбивает. то можно что сделать:
1. загрузиться в систему, зайти в консоль, можно по SSH
2. остановить md3: mdadm --stop /dev/md3 (возможно, предварительно надо будет сделать umount /dev/md3)
3. удалить массив: mdadm --remove /dev/md3 (данные пропадут)
4. через fdisk заходим и убиваем разделы sda3 sdb3: fdisk /dev/sda, там нажимаем d, потом 3. Так же делаем это и для sdb
5. не выходя fdisk создаем новые разделы на все пространство, нажимает n, выбираем Primary и дальше Enter… Enter… при выходе сохранить таблицу — w.
6. создаем новый md3 с новыми разделами: mdadm --create --verbose /dev/md3 --level=1 --raid-devices=2 /dev/sda3 /dev/sdb3
7. ну и когда рейд взлетел… просто форматируем новоиспеченный массив, например: mkfs.ext3 /dev/md3 (глянуть фс в /etc/fstab)
8. монтируем в систему. можно командой mount -a. при загрузке должно цеплять его штатно

ну и все. радуемся и пользуемся. Ман написал не проверяя, должно сработать.
если что-то пойдет не так, смотрите мануалы по утилитам mdadm и fdisk, но последовательность действий и суть будет именно такой
Pavel_BST
Сделал как написано выше, затем сделал reboot....
Устройство не отвечает, на «морде» горят только два светодиода 1 и 2... 
Что может быть не так?
nick
да сложно сказать… надо смотреть. я же говорю — мануал непроверенный, а примерный. Скорее всего какая-то мелочь… может файловая система не та, я уже просто не помню и в данный момент не могу посмотреть, ext3 там или ext4, например не может смонтировать. Или где-то еще что-то пошло не так. Надо разбираться, выяснить причину останова загрузки. ну или в конце концов сброситься к дефолтам или сделать OS_REINSTALL и начать сначала, вдумчиво
nick
вполне может быть что SYSTEMD забуксовал… может в осадок выпал от нового раздела если что-то не так. Как правило, можно подождать… если TTL-консоли нет. Он потупит пару минут и продолжит загрузку без раздела. Хотябы можно будет попасть в консоль SSH… посмотреть логи. В общем надо разбиратсья
Pavel_BST
Огромное желание дать ГУРУ доступ и поучитьсяуму-разуму, глядя как работает мастер ;)

по существу: для возвращения девайса к жизни пришлось переустанавливать ОС(.
для решения вопроса с «лишними» 4Тб рыть, наверное, стоит в направлении GPT разделов?
immortal
Добрый день, у меня точно такаяже проблема с рейдом большой емкости, не видет больше 2Т. Таже не дает добавить или переразбить диск GPT.
Нужна помощь в данном вопросе. Хотелось бы поросить уважаемого автора сделать новый образ если не трудно. Заранее большое спасибо.
nick
ааа… народ! да! точно — MBR не поддерживает же адресацию больше 2 теров по ходу. и надо GPT делать. но там щас стоит fdisk который не умеет GPT. тут нужны серьезные изменения и пересобрать прошивку может с gparted-ом. существенно изменить программу инициализации перекомпилить. Это займет приличное время которого сейчас нету совсем. Скорее всего понадобятся изменения и в загрузчике и некоторые другие фичи… сейчас точно не скажу. но я подумаю, суть проблемы понятна
immortal
gparted Тоже самое- все пройдено не выходит, пробывал разными способами, очень ждем от вас нового образа.
Pavel_BST
Присоединяюсь, образ от ГУРУ — было бы сам лучшим решением. 

Кстати, могу предложить свою «коробочку» для экпериментов. Доступ может быть как через AnyDesk (подключение USB-to-SERIAL по TTL), так и по SSH (если он возможен).
Это на случай, если свою систему жалко портить.
Alexey_N

Добрый день, Nick.


Обновил свой ReadyNAS duo v2, спасибо за обновление. Покупал его давно… году в 11-12. хорошая железка.


Eсть вопрос по USB 3.0 — не подключаются USB флэшки на задних usb разьемах. Пробовал и 2.0 флэшки и 3.0 (флешки и  HDD) 


это как то лечится? 


 

nick
надо вставить флешку да посмотреть вывод dmesg (выполнить)
Alexey_N

Вывод «dmesg | grep -i usb» после загрузки: https://disk.yandex.ru/i/H910xPkJ6rDC9w 
Вывод «dmesg | grep -i usb» после подключения флешки в передний разьем USB: https://disk.yandex.ru/i/RjqQ5v_ui8wXRA 


Полный вывод dmesg: https://disk.yandex.ru/d/9LpVYzOrEnGa-Q 


При установке флешек в разьемы USB на задней панели никаких сообщений в dmesg не появляется.

Alexey_N

хотя, я до перепрошивки не использовал  USB на задней панели… не знаю они вообще работают или нет...


перед обновлением освобождал место на дисках, переписывал с NAS на компьютер по сети (на внешний USB 3.0 HDD)


после обновления думал уже напрямую копировать с внешнего диска на NAS, но на USB 2.0 будет долго. 


В общем проблема не критичная… все равно устройство в большей части по сети загружается (и выгружается) 


 

nick
хотя странно… там определилось 3 девайса USB
nick
если это сообщения только с переднего разъема, то скорее всего ядро не поддерживает аппаратную базу. Модули я не предполагал, вкомпилил по максимуму в образ. надо в общем разбираться… мот пересобрать ядро. Посмотреть чего мот забыл включить. Кстати, для простоты развития истории — я включил свою конфигурацию ядра в архив. Прямо в блоке NAND. Посмотрите, там должен быть конфиг этого ядра. И теперь каждый может скачать даже новейшее ядро, зарядить туда мой конфиг и попробовать собрать. Попробовать может включить, то что я не включил, покопаться в деревьях. Модифицировать как-то… я ориентировался по дереву от кирквуда, может что-то пропустил
Alexey_N

к сожалению я не достаточно ориентируюсь в linux… и не смогу заглянуть в NAND… без пошаговой инструкции :)… как и пересобрать ядро :)


из того что я нагуглил… предположительно необходим модуль xhci


чтобы подключить модуль необходимо пересобрать ядро?


 

nick
я бы обратил внимание на we don't know the algorithms for LPM for this host. Сейчас не могу посмотреть. Надо проверить. чуть позже 
Alexey_N

как и писал выше… не критично и не срочно )


добавь в TODO… на будущее )


и еще раз спасибо за обновление, то что уже работает тоже хорошо, поставил samba, расшарил… и винда 10 уже не парит по поводу SMBv1


думаю попробовать nextCloud поставить… но не знаю хватит ли проца и памяти )

nick
1D6B  — это и есть USB 3.0 хаб
Pavel_BST
Добрый день, Nick.
есть в планах пересобрать прошивку для дисков большого размера? по запросам страждующих?
 
а то моя железяка пылится в шкафу, а в планах на нее был миллион вариантов использования, в том числе и домашнее облоко)
жалко, ржавеет бездарно)
nick
добрый! да конечно есть. только пока времени нет =)
tubus

Nick, большой тебе респект за проделанную работу !
если будешь обновлять прошивку, сделай плиз сразу по дефолту DHCP и возможность использования дисков без рейда.
А в целом все здорово, полет отличный. 
Thanks.

Pavel_BST
Процесс подготовки к установке OWNCloud
Доступ 2-м админам (USER1 и USER2)
Обновление до DEBIAN11, апача,
установка заглушки сайта, файрвола

Cобственно процесс после прошивки девайса (по инструкции уважаемого NICK-a):

Зайти putty по ssh на 192.168.100.55:22
логин:root 
Пароль: password
 
изминить пароль root-a: passwd root
указать новый пароль: ПАРОЛЬ
 
запустить mc
 
перейти в каталог /etc/ssh 
в файле ssh_config раскомментировать port 212
в файле sshd_config изменить: port 212
 
найти каталог /etc/network/interfaces.d 
в файле eth0 внести изменения:   
 
auto eth0
iface eth0 inet dhcp
 
перезапуск: service networking restart
 
включить NAS!!!!
 
Залогиниться на новый IP:212
 
установить sudo
apt install sudo
 
добавить пользователей
useradd USER1 -m
passwd USER1 
ввести PASS1 (2 раза).
usermod USER1  -G sudo
 
useradd USER2 -m
passwd USER2
ввести PASS2 (2 раза).
usermod USER2 -G sudo
 
Полностью обновим текущую систему:
# apt update && apt upgrade && apt dist-upgrade && apt --purge autoremove
на вопрос «Restart services during package upgrades without asking?» ответить <Yes>                     
 
обновим файл с репозиториями /etc/apt/sources.list
в него вставить:
deb mirror.yandex.ru/debian bullseye main
deb-src mirror.yandex.ru/debian bullseye main
 
deb mirror.yandex.ru/debian bullseye-updates main
deb-src mirror.yandex.ru/debian bullseye-updates main
 
deb security.debian.org/ bullseye-security main
deb-src security.debian.org/ bullseye-security main
 
файлы ssh_config и sshd_config оставляем (выбираем «n»).
 
Сначала обновим список пакетов:
apt update
Запускаем обновление:
apt upgrade
Запускаем полное обновление:
apt dist-upgrade
Нужно перезагрузиться:
reboot
 
проверяем версию:
cat /etc/debian_version
если 11 — то все ОК.
 
nano /etc/sudoers
после строчки # Allow members of group sudo to execute any command
пишем:
USER1 ALL=(ALL:ALL) ALL
USER2 ALL=(ALL:ALL) ALL
 
Примонтировать флешку:
fdisk -l 
должно написать Device
/dev/sdc1
 
Создаем папку для монтирования:
sudo mkdir /mnt/usb
 
Теперь монтируем флешку с помощью команды mount:
sudo mount /dev/sdc1 /mnt/usb
 
Установить apach2
apt install apache2
 
Установить файрволл:
apt-get install ufw
 
настроить порты 
ufw allow 'WWW'
 
ufw status
 
Должно быть: 
Status: active
 
To                         Action  From
 
--                         ------  ----
 
OpenSSH                 ALLOW    Anywhere
 
WWW                     ALLOW    Anywhere
 
OpenSSH (v6)            ALLOW    Anywhere (v6)
 
WWW (v6)                ALLOW    Anywhere (v6)
 
 
переписать с флешки заглушку в /var/www/html (должtн быть настроен DNS)
проверить в браузере свой сайт — должно отобразить заглушку
 
по окончании копирования данных отмонтировать флешку:
sudo umount /dev/sdc1
 
установку и настройки OwnCloud
еще не делал!!!!!
garrik007
Здравствуйте. Подскажите пожалуйста, можно ли адаптировать эту прошивку под ReadyNAS NV+ V2? с 4 дисками. Я так понимаю, что надо менять скрипт установки или уже после установки менять конфигуряцию RAID, Пока у меня не получается. Все останавливается в процессе старта nashwd. Заранее благодарен за любую подсказку.
tubus
nick, подскажите плиз как уйти от софтверного рейда системного и других разделов? Заранее благодарю.
Комментарий отредактирован: 27 марта 2022, 20:20
breslauer
Привет. Не уничтожит ли это данные на моих дисках?
А Raidator нормально работает после смены линукса?

извините мой русский ;)
nick
ВНИМАНИЕ! все данные будут уничтожены! происходит полное перераспределение пространства, создаются новые таблицы разделов и форматирование.
все фишки от Netgear перестанут работать. Там будет просто голый чистый Debian без всяких Raidator
adm503
Комментарий отредактирован: 21 декабря 2022, 16:33
Optit

Здравствуйте!


Скажите пожалуйста — с одним установленным диском будет работать? А то, как я понимаю, сразу формируется RAID и нужно именно два винта. Дошел до конца перепрошивки — начал мигать нижний светодиод, как при изъятии второго винта «нагорячую».
Спасибо.

adm503

Моргают бэкап + HDD2. atop и blkid не показывает sdb. 
У меня не собирается рейд на винтах если есть переназначение секторов. Я правильно понимаю что винты (веники) должны быть в идеальном состоянии чтобы зеркало было обсалютно точным потому что «FDisk без зависимостей»? Если появиться малейшее повреждение поверхности диска, рейд развалиться?


У меня 5 одинаковых WD 2Tb HDD (веника), на 4 есть переназначение. В данном устройстве я так и не собрал рейд. При этом эти винты отлично работают в рейде на любых других устройствах.
Или я не правильно понимаю ситуацию?

Dvdrw85An
Добрый вечер. Подскажите пожалуйста, у меня такое дело: прошивка установилась без проблем, только есть одно но, после apt update или apt upgrade, также установки samba — любое из этих действий, устройство больше не подключается по ssh  если завершить соединение! Но если не выходить из соединение остается активным! Заранее благодарен! Буду рад любому совету, так как я новичку в этом деле ! 
yrv22483

Чтоб вам ответить, пришлось регистрировать учетку на 10ти минутную почту, почему-то на обычную активация не приходит. (Админ, почини...)
Тоже столкнулась с проблемой установки пакетов, решила сразу «забить» и вернуться на стоковую версию, так как диски по 3 Тб и нужна именно GPT разметка. Откатилась при помощи dd, просто восстановила разделы на nand, кроме mtdblock0 — он ридонли.


На сегодняшний день железка очень слабая, нет смысла ставить новую версию, так как процессор просто не потянет наши хотелки.
Основная проблема использования старого ядра — нет нормального апача, с поддержкой хотя бы TLS 1.2 (который еще признается браузерами).
За две недели попыток скомпилировать апач, пхп, опенссл и бд… я поняла, что не могу нормально запустить эти модули. Они собирались, но нормально не работали.


Однако, мне удалось из двух репозиториев наставить пакеты и получить рабочие Apache/2.2.22, PHP 5.4.45 и mysql (от которой в итоге отказалась из-за потребления лишних ресурсов). Дальше на все это дело можно спокойно распаковать некстклауд версии 9 или 10. Работает КРАЙНЕ медленно, смысла в этом нет, проще сделать страничку для загрузки файлов через php и на этом всё.
Так как в репозитории нет php 5.6, мы ограничены размером загружаемого файла в 2 Гб, и ни байтом больше...

Результаты «трудов» удалось запихнуть в раздел mtdblock4, теперь после сброса достаточно выполнить пару строчек команд и разворачивается веб сервер! Подключение к интернету во время настройки обязательно, так как используются архивные репозитории дебиан. Образ основан на трудах автора этого сайта и его root.tlz, он уже внутри mtdblock4.bin. После «прошивки» его через ДД делаем следующее:


1. Подключаемся к NAS по ком порту и логинимся root и password
Если нет желания доставать ком порт, просто подключаемся по SSH 192.168.100.55:22222 (нет, я не понимаю зачем там такой порт, вряд ли домашний NAS подключают сразу к белому IP и так прячут SSH)

2. Копируем строчку и вставляем в консоль
mkdir /mnt/4 && mount -t jffs2 /dev/mtdblock4 /mnt/4 && /mnt/4/setup.sh
Будет предложено ввести новый пароль и добавить rsa сертификат для автологина (с моей версией путти не заработало, но удалять не стала)


3. Ждем перезагрузки. При следующей загрузке NAS будет искать DHCP сервер и получит адрес в вашей локальной сети. Порт на SSH изменится на стандартный - 22, подключаемся, логинимся под root и выполняем
/setup.sh
Ждем… соглашаемся с перезапуском пакетов, ждем...
В конце система попросит ввести адрес NAS в вашей локальной сети вместо 192.168.1.1 (это изменение файла конфигурации nextcloud, искать в папке /httpd)
Команду /setup.sh можно выполнять повторно — будет переустановлено всё и сразу, а также удалены все данные из /c


 


В случае успеха NAS будет отвечать по 80 и 443 порту (с самоподписанным сертификатом и TLS 1.2), а так же будет работать самба сервер /c.
Бонус: посмотреть состояние рейда: /watch.sh

Для обновления до nextcloud 10 нужно скачать соответствующую версию вручную, так как она не влезла на флешку и пришлось упаковывать только девятку. Вариант команд для обновления, если файл latest-10.zip положить в корень сетевой папки:


mv /c/latest-10.zip /latest-10.zip && cd / && unzip latest-10.zip && mkdir /httpd/nextcloud/10 && mv -f /nextcloud/* /httpd/nextcloud/10/ && rm -R /nextcloud && cd /httpd/nextcloud/10 && chown -R www-data /httpd/nextcloud/10 && chgrp -R www-data /httpd/nextcloud/10 && chmod -R 777 /httpd/nextcloud/10

Для проверки — открываем http://192.168.1.100/10 (адрес меняйте на свой), если все ок — можно просто переместить содержимое из /httpd/nextcloud/10 в /httpd/nextcloud/

По умолчанию в качестве БД используется SQLite, если нужен mysql — устанавливаем через apt install php5-mysql mysql-server (но тогда не знаю, будет ли работать скрипт переустановки /setup.sh без фактори дефолт)
Смысла в MySQl, вроде, нет — скорости не добавляет, а ОЗУ кушает.

Файлик mtdblock4.bin можно взять тут: https://drive.google.com/file/d/1OsXU2jHmCvymJFyYHb63hub_Q0DjIwZF/view?usp=sharing

yrv22483
Ах да, стандартный логин и пароль на развернутый по setup.sh nextcloud 9 — admin admin.
Десятку придется настраивать самостоятельно (там только задать путь для файлов — /c и ввести желаемые логин и пароль администратора)