Прошивка DNS-325 (OpenWRT/Alt+F)
Ранее я писал как поставить на D-Link DNS-325 Debian и настроить чтоб он работал, отдавал шары и качал торренты. В целом это весьма неплохой вариант для такого старого устройства, тем более что за все время он смог обновиться до 10 версии. Однако есть в этом всем одна проблема, во время всех манипуляций я затер оригинальный u-boot и не сделал бэкап. Как результат родная система не стартовала, даже если руками запускать родные uImage и uKernel. После распаковки ядра ничего не происходило. Так что получилось так что NAS работал только на линуксе с флешки и если с флешкой что то произойдет то устройство просто не запустится и это не очень хорошо. Первая идея была в том чтоб найти дамп оригинального загрузчика и прошить его, тем самым вернуть оригинальную систему от D-Link и это мне не удалось. Немного погуглив я нашел 2 варианта сделать коробку более самостоятельным устройством: OpenWRT и Alt+F.
OpenWRT
На форумах 4pda наткнулся на пост, где человек собрал openwrt для dns325. План достаточно прост: загружаемся в u-boot для openwrt > записываем его в память > загружаем ядро и initramfs > устанавливаем систему уже от туда.
Грузим u-boot и стартуем NAS:
kwboot -p -b u-boot.kwb -B115200 -t /dev/ttyUSB0
Записываем в память
=> mw 0x0800000 0xffff 0x100000
=> nand erase 0x0 100000
=> usb start
=> fatload usb 0 0x0800000 u-boot.kwb
=> nand write 0x0800000 0x0 0x100000
=> reset
Далее закидываем на флешку openwrt-kirkwood-dlink_dns-325-a1-initramfs-uImage и openwrt-kirkwood-dlink_dns-325-a1-squashfs-sysupgrade.bin
Загружаемся с флешки
А далее ожидалось что меня будет поджидать web интерфейс openwrt, однако этого не произошло, в консоли меня приветствовал busybox:
BusyBox v1.35.0 (2023-04-27 20:28:15 UTC) built-in shell (ash)
_______ ________ __
| |.-----.-----.-----.| | | |.----.| |_
| - || _ | -__| || | | || _|| _|
|_______|| __|_____|__|__||________||__| |____|
|__| W I R E L E S S F R E E D O M
-----------------------------------------------------
OpenWrt 22.03.5, r20134-5f15225c1e
-----------------------------------------------------
=== WARNING! =====================================
There is no root password defined on this device!
Use the "passwd" command to set up a new password
in order to prevent unauthorized SSH logins.
--------------------------------------------------
root@OpenWrt:/#
Если такое произошло то идем в /etc/config/network и настраиваем сеть:
config interface 'lan'
option ifname 'eth0'
option force_link '1'
option proto 'static'
option netmask '255.255.255.0'
option ip6assign '60'
option ipaddr '172.19.0.6'
option gateway '172.19.0.1'
option dns '8.8.8.8'
Перезагружаем сеть для применения изменений и устанавливаем luci если её нет:
service network restart
opkg update
opkg install luci-ssl
После чего можно наблюдать интерфейс OpenWRT:
Так же есть другой путь: через scp скопировать себе образ openwrt-kirkwood-dlink_dns-325-a1-squashfs-sysupgrade.bin и установить через консоль:
Я немного посмотрел что умеет OpenWRT и вот что я думаю:
+ можно настраивать режимы работы диодов, либо выключить совсем
+ сразу подцепились мои диски от nas'а WD
+ есть ipkg и можно устанавливать пакеты, например поставить торрент.
- у меня не установился nfs-server, несмотря на то что там уже есть самба мне удобней через nfs.
- устанавливаются не все пакеты т.к. ядро чуть отличается по хэшу от ожидаемого
В целом весьма приятные впечатления.
Alt-F
Alt-F еще одна aftermarket прошивка для NAS от D-Link, в отличии от openwrt её можно установить из оригинального web интерфейса от D-Link. У них есть сайт, а качаются прошивки с sourceforge. Процесс установки аналогичен, но прошивать новый u-boot я не стал т.к. вместе с openwrt мне досталась весьма свежая версия которая умеет все что мне нужно от NAS, а именно: поддержка fat/ext2/ext4 файловых систем. Собственно установка, так же на флешку скидываем ядро, initramfs и грузимся в alt-f, однако в отличии от более популярной прошивки тут web интерфейс доступен сразу, так же устанавливаем прошивку и перезагружаемся:
В целом отлично работает, все необходимое есть, так же увидела диски и смонтрировала. По началу были ошибки mtd3. но после очистки настроек и записи повторно все стало ок.
Краткое мнение:
+ доступны все виды шар, как smb так и nfs
+ можно поставить пакеты Alt-f, Entware и ffp
+ можно установиться debian, я не пробовал но говорят какой-то старый
- старый софт, хоть возможность установить сторонние пакеты и есть, но базовый софт прошивки достаточно старый и имеющиеся e2fsprogs не понимают некоторые фичи фс созданной на nas'е от WD.
Так же есть более свежий форк alt-f-next, там уже нет проблемы с e2fsprogs, но не обнаружается флешка, а так как на флешке установлена тема, то без нее пользоваться прошивкой весьма неудобно :(
На всякий случай архивы с OpenWRT, Alt-F и моим образом debian.
u-boot
Наличие своей прошивки в NAS, это круто но отказываться от возможности запускать linux с флешки я не хочу. Решается очень просто, надо настроить u-boot таким образом чтоб он при наличии флешки пытался запустить ядро оттуда, а в случае неудачи грузить alt-f из nand.
Таким образом если в момент старта в nas'е будет флешка с linux то загрузка будет оттуда, в противном случае загрузка пойдет из nand.
Немного полезных ссылок по теме:
- что делать если на openwrt нет web интерфейса - https://4pda.to/forum/index.php?showtopic=726319&view=findpost&p=130953089
- различные моды(uboot, initramfs, kernel, etc) для dns-325 - https://github.com/davidedg/NAS-DNS325-mod
- сайт с различной инфой по dns-325 - https://jamie.lentin.co.uk/devices/dlink-dns325/
- топик с аналогичной моей проблемой - https://forum.doozan.com/read.php?3,29039
- сборка openwrt - https://openwrt.org/user/ja/my-openwrt-firmware-image-build-guide
- установка openwrt на dns-320 - https://habr.com/ru/articles/244921/