Jakiś czas temu zakupiłem dysk sieciowy Lacie EDmini v2. Początkowo służył jedynie jako dysk do backupu ale z czasem zacząłem używać go jako media serwera dla PS3. Wtedy właśnie okazało się brakuje mu paru ciekawych cech, które są dostępne u konkurencji, np.: streaming video z napisami z pliku .txt lub .srt, obsługa plików RAW (.ORF). Wbudowany media serwer nie obsługuje plików AVCHD (.mts). Ciekawym pomysłem jest zainstalowanie klienta Torrent z interfejsem WWW. Poniższy artykuł przedstawia w jaki sposób można dokonać stosownych modyfikacji.
Dysk EDmini jest zbudowany na bazie procesora ARM926EJ (architektura 5TEJ). Procesor ten jest wykorzystywany m.in. w następujących urządzeniach:
- Buffalo Technology LinkStation Pro (LS-250GL)
- Synology DS-107+
- Synology DS-207+
- Western Digital ShareSpace
- Maxtor Shared Storage II
Zaczynamy od wymontowania dysku z obudowy i podłączenia go do komputera z Linuxem. Jak to zrobić pod Mac OS pisałem tutaj. Następnie robimy kopię zapasową partycji: sda6, sda7 i sda8.
Następnie pod Linuxem montujemy partycję sda8 (w moim przypadku była ona widziana jako /dev/sdb8):
sudo mkdir /media/lacie8
sudo mount /dev/sdb8 /media/lacie8
cd /media/lacie8
cd www/cgi-bin
vi webshell
Zawartość pliku przedstawia się następująco:
cat webshell
#!/bin/sh
echo "Content-type: text/plain"
echo ""
eval $QUERY_STRING
Kolejny krok to pobranie telneta:
wget http://downloads.nas-central.org/Uploads/LSPro/Binaries/utelnetd
chmod +x utelnetd
Teraz pozostaje nam zamontować dysk Lacie na swoje miejsce i zabootować NAS’a. Sprawdzamy webshella przez przeglądarkę:
http://lacie_ip/cgi-bin/webshell?whoami
Po autoryzacji powinniśmy odpowiedź: root. Następnie uruchamiamy demona telnet:
http://lacie_ip/cgi-bin/webshell?/www/cgi-bin/utelnetd -l /bin/sh
Teraz tylko wystarczy połączyć się telnetem na adres IP dysku NAS. Po zalogowaniu instalujemy managera pakietów:
test -e /opt && mv /opt /opt.bak
mkdir -p /big-disk/opt && ln -sf /big-disk/opt /opt
wget http://ipkg.nslu2-linux.org/feeds/optware/cs05q3armel/cross/unstable/ipkg-opt_0.99.163-10_arm.ipk
tar -xOvzf ipkg-opt_*_arm.ipk ./data.tar.gz | tar -C / -xzvf -
mkdir -p /opt/etc/ipkg
echo "src armel http://ipkg.nslu2-linux.org/feeds/optware/cs05q3armel/cross/stable" > /opt/etc/ipkg/armel-feed.conf
/opt/bin/ipkg update
Ostatni krok aktualizuje listę dostępnych pakietów. Teraz możemy zainstalować interesujący nas pakiet, np.:
/opt/bin/ipkg install transmission
Pełna lista pakietów:
/opt/bin/ipkg list
Przydatne linki:
- Podstawowe informacje o dysku oraz instrukcje jak zainstalować telnet, ssh
- Szczegółowe informacje dot. EDmini v2 (procesor, pamięć, partycje, dmesg)
- Konfiguracja repozytorium dla systemów ARM926EJ na przykładzie Maxtor Shared Storage II
- Demon telnet dla ARM’a