Instalace debian na Zyxel NSA310 jako DVB-T stream – File server

Chci vyždímat co možná nejvíc z tohoto cenově velmi dostupného kusu hardware, platforma ARM, takt procesoru 1.2GHz, paměť 256MB DDR2.

První krůčky s NSA310

Už první den instalace mi začly vadit maličkosti, nefunkční tisk, nemožnost připojit jiné usb zařízení a jiné…

Při experimentování s FFP a kompilací modulů pro jádro použité výrobcem (2.6.31.8), bylo hned jasné, že tudy cesta nevede.
Sice nebyl problém s kompilací, stabilita byla věc druhá. Nejspíš verze GCC anebo ne plně kompatibilní .config jádra.

Pátral jsem tedy po možnostech instalace vlastního os. Narazil jsem na vlákno http://forum.nas-central.org/viewtopic.php?f=249&t=5145 a bylo rozhodnuto. Na straně 8 tohoto vlákna naleznete postup instalace s použitím flash disku.

Co dál?

Doporučuji přednastavit si disk, který chcete s NAS provozovat, někde bokem v pohodlíčku, teplíčku. Partici 1 nastavte ext2 200MB, Partici 2 ext4 a zbytek dle libosti.
Instalační skript toto sice řeší sám, ale disk formátuje, což může být pro někoho problém. Stačí zakomentovat příslušné řádky v nsa310.sh.
P.S. partice 1 je pro /boot a partice 2 pro /. Swap můžete mít v partici n anebo v souboru na disku.

Pokud je vše ok, máte k dispozici minimalistickou verzi Sqeezy. Zaktualizujte si apt na české zdroje a upgradujte na Wheezy.

Eliminace nedostatků

Pro své další experimenty jsem potřeboval nové jádro. Nejdřív jsem zkusil verzi 3.5.1 a pak 3.6.2. vše kompilované přímo na NASce, doba asi 2h.
Pokud by se vám stalo, že by byl uImage vadný a došlo ke kernel panic, stačí disk vyjmout připojit na pc v linuxu a použít funkční uImage, buďto ze zálohy anebo z vlákna.

doporučuji instalaci midnight commandera, ncurses, ncurses-dev, build-essentials, … dle uvážení

Kompilace kernelu

příklad pro vanilla 3.6.2, stažení zdrojů, opatchování pro podporu nsa310, stažení základního configu, kompilace a instalace

cd /usr/src
mkdir linux
cd linux
wget ftp.kernel.org/pub/linux/kernel/v3.x/linux-3.6.2.tar.xz
tar -xf linux-3.6.2.tar.xz
cd linux-3.6.2
wget http://www.scintilla.utwente.nl/~petero/nsa310/patch-3.5.1-nsa310
patch -Np1 -i patch-3.5.1-nsa310
wget http://www.scintilla.utwente.nl/~petero/nsa310/config-good-3.5.1-nsa310
cp config-good-3.5.1-nsa310 .config
make menuconfig
make uImage modules modules_install
cp arch/arm/boot/uImage /boot

pokud máte /boot readonly

umount /boot && mount /boot -o rw

Otáčky ventilátoru

Ve fóru je zmíňka o nefunkční regulaci ventilátoru, mě se naopak povedlo ventilátor sprovoznit docela rychle s automatickou regulací otáček pomocí fancontrol.

apt-get install fancontrol

Stačí spustit jejich konfigurační wizard a zodpovědět na pár dotazů a vše se zkonfiguruje samo. Je ale nutné mít načten modul kernelu lm85. Nástrojem pwmconfig z balíku fancontrol si vše přednastavíte.

pwmconfig

MAC Adresa

Další věc, která vás zarazí je „invalidní“ MAC adresa síťovky.
Doporučuji v /etc/network/interfaces přidat řádek:

hwaddress ether CC:5D:4E:CA:03:A0

adresu zjistíte z konzole příkazem

fw_printenv ethaddr

Instalace služeb

pro ty, kteří rádi konfiguraci z webu, doporučuji webmin, nebudu se dopodrobna zabývat konfigurací služeb, návodů je na netu mnoho, bylo by to nošení dříví do lesa.

apt-get install webmin

[edit] po bližším zkoumání zvažuju deinstalaci, čas od času vidím proces s velkou zátěží, který patří webminu

Samba

nainstalujte si sambu, nakonfigurujte z webminu, anebo růčo, já raději růčo. Nastavte si rezoluci pomocí netbios, anebo kdo chce, ať si zřídí domácí dns.

apt-get install samba

Apache

nainstalujte si apache, bude se hodit k telce. Neměl jsem ještě možnost zkoušet lighthttpd, tak nekamenujte.

apt-get install apache

Nginx

zjistil jsem, že apache není moc vhodný, pátral jsem po něčem méně paměťově náročném, nejdřív jsem zkusil Lighttpd, ale z nějkého důvodu zlobil.

apt-get install nginx

DVB-T streaming

Budete potřebovat ovladače k vaší kartě, či kartám, takže na to myslete při nastavování configu kernelu. Dále si nainstalujte mumudvb, dvbutils které je schopné streamovat multicastem anebo unicastem celý multiplex/transpondér. Také myslete na to, že jedna instance mumudvb sežere asi 10-15% výkonu cpu.

apt-get install mumudvb dvb-apps

zjištění dostupných freqvencí provedete pomocí scan

scan -a 0 /usr/share/dvb/dvb-t/cz-All > channels.conf

Konfigurace mumudvb

v prvním kroku doporučuji vyzkoušet si automatickou konfiguraci a multicast, vytvořte si v /etc/mumudvb.conf, freqvenci vyberte z channels.conf, pozor ale na wifi, pokud máte ap, může se vám zahltit a nebude dostupné.

autoconfiguration=full
freq=634000

spusťte mumudvb s nodaemon parametrem a zkontrolujte si, že freqvence multiplexu je dostupná

mumudvb -d -c /etc/mumudvb.conf