A D-Link DNS-320 linuxos oldala - Squeezebox Server az olcsó NAS-ra

Címkék

Korábban azt ígértem, hogy hamarosan folytatom a "hogyan készítsünk olcsó linuxos NAS-ból hangtalan, 10W alatti fogyasztású célszervert" cikket. Többen is érdeklődtek, hogy mikor érkezik a folytatás. Kicsit megcsúszott, de itt van! :) Az első részben összeállt a hardver. A második részben megnéztük, hogy mit kapunk a pénzünkért anélkül, hogy bármit is hackelnénk az eszközön. Most pedig belenézünk a mélyére, előcsaljuk belőle a rejtőző Linux-ot, illetve megnézzük, hogy minimális erőfeszítéssel hogyan tudunk belőle Squeezebox Server-t készíteni úgy, hogy közben semmit sem veszít a gyári funkcióiból.

Hogyan férjünk hozzá a belsejéhez?

Sajnos gyári állapotban semmilyen parancssori menedzselési lehetőség (telnet, ssh stb.) nem áll rendelkezésre:


Starting Nmap 5.21 ( http://nmap.org ) at 2011-01-11 13:27 CET
Nmap scan report for 10.0.0.25
Host is up (0.026s latency).
Not shown: 995 closed ports
PORT    STATE SERVICE
80/tcp  open  http
139/tcp open  netbios-ssn
443/tcp open  https
445/tcp open  microsoft-ds
515/tcp open  printer

Szerencsére a firmware rendelkezik egy felhasználók számára rendkívül hasznos funkcióval (hasonlóan más NAS eszközökhöz). Ez pedig nem más, mint hogy a bootolás után végrehajt egy "fun_plug" nevű scriptet, ha az létezik. A script a bootolás során elindításra kerül, ha létezik (/etc/rc.sh -> /usr/sbin/system_init):


[...]
#/usr/sbin/lighttpd -m /usr/local/lib/ -f /etc/lighttpd/lighttpd.conf                                
lighty start
     
chk_fun_plug& 

Ellenőrzés, hogy létezik-e (/usr/sbin/chk_fun_plug):


#!/bin/sh

sleep 30

if [ -e /mnt/HD/HD_a2/fun_plug ]; then
        echo "function plug enable"
        sh /mnt/HD/HD_a2/fun_plug
fi

Érdemes megjegyezni, hogy hol keresi a rendszer a "fun_plug" nevű scriptet (jelen esetben a "/mnt/HD/HD_a2/fun_plug" úton), mert ez rendszerenként (pl. nem ugyanott keresi a D-Link DNS-323 és a DNS-320) eltérő. A fenti "szolgáltatásra" számos funkciót kibővítő implementáció készült, ezek közülük az egyik legismertebb a berlini "Fonz" által készített "ffp" (Fonz fun_plug) csomag.

Mire jó az ffp? Az ffp-t felmásolva a NAS gyári alapértelmezett megosztására (Volume_1), a bootolás "ráfut" a "fun_plug" nevű script-re. Az pedig nem csinál mást, mint egy rakás csomaggal kibővíti a NAS tudását. Mindezt úgy teszi, hogy közben a NAS gyári rendszerét nem módosítja. Azaz a felmásolt könyvtár letörlésével az eltávolítható úgy, mintha ott sem lett volna.

A rossz hír, hogy a DNS-320-hoz nincs "ffp" terjesztés. A jó hír, hogy nem is kell, mert a DNS-323-hoz készített "ffp" kis módosítással tökéletesen használható a DNS-320-hoz.

Az ffp telepítése D-Link DNS-320 NAS-ra

A ffp telepítése borzasztó egyszerű. Letöltjük a DNS-323-hoz elérhető fun_plug és fun_plug.tgz fájlokat. Mivel - ahogy feljebb már említettem - a DNS-323 máshol keresi fun_plug script-et (a /mnt/HD/HD_a2/fun_plug helyett a /mnt/HD_a2/fun_plug helyen), a fun_plug fájlban az összes "/mnt/HD_a2/" előfordulást "/mnt/HD/HD_a2/"-ra kell cserélni. Ha ez megcsináltuk, akkor készen vagyunk a módosítással.

Ezután már csak fel kell másolnunk (SMB-n keresztül, mondjuk Nautilus-ból, Windows Explorer-ből vagy akármilyen fájlkezelőből) a két fájlt a NAS alapértelmezetten létező "Volume_1" megosztására az "Ajaxfp" könyvtár mellé és újra kell indítanunk a rendszert.

Ha jól csináltunk mindent, azt vesszük észre, hogy az újraindítás után a "Volume_1"-ről eltűnt a felmásolt "fun_plug.tgz" fájl. Helyette viszont létrejött egy "ffp" könyvtár. Ha ezt látjuk, az jó jel. Ilyenkor már be tudunk telnet-en jelentkezni a rendszerbe:


Nmap scan report for 10.0.0.25
Host is up (0.022s latency).
Not shown: 994 closed ports
PORT    STATE SERVICE
23/tcp  open  telnet
80/tcp  open  http
139/tcp open  netbios-ssn
443/tcp open  https
445/tcp open  microsoft-ds
515/tcp open  printer

és ...


root@alderaan:/tmp# telnet 10.0.0.25
Trying 10.0.0.25...
Connected to 10.0.0.25.
Escape character is '^]'.
/ # 

Ha már be tudunk jelentkezni, nézzünk egy kicsit körbe:


/ # uname -a
Linux dlink-F946BD 2.6.22.18 #22 Mon Aug 30 19:09:34 CST 2010 armv5tejl unknown
/ # id
uid=0(root) gid=0(root)
/ # cat /proc/cpuinfo 
Processor       : ARM926EJ-S rev 1 (v5l)
BogoMIPS        : 791.34
Features        : swp half thumb fastmult edsp 
CPU implementer : 0x56
CPU architecture: 5TE
CPU variant     : 0x2
CPU part        : 0x131
CPU revision    : 1
Cache type      : write-back
Cache clean     : cp15 c7 ops
Cache lockdown  : format C
Cache format    : Harvard
I size          : 16384
I assoc         : 4
I line length   : 32
I sets          : 128
D size          : 16384
D assoc         : 4
D line length   : 32
D sets          : 128

Hardware        : Feroceon-KW
Revision        : 0000
Serial          : 0000000000000000

/ # free
              total         used         free       shared      buffers
  Mem:       125632       111232        14400            0        15988
 Swap:       530040            0       530040
Total:       655672       111232       544440
/ #

dmesg


Linux version 2.6.22.18 (wyc@SWTEST3) (gcc version 4.2.1) #22 Mon Aug 30 19:09:34 CST 2010
CPU: ARM926EJ-S [56251311] revision 1 (ARMv5TE), cr=00053977
Machine: Feroceon-KW
Using UBoot passing parameters structure
Memory policy: ECC disabled, Data cache writeback
On node 0 totalpages: 32768
  DMA zone: 256 pages used for memmap
  DMA zone: 0 pages reserved
  DMA zone: 32512 pages, LIFO batch:7
  Normal zone: 0 pages used for memmap
CPU0: D VIVT write-back cache
CPU0: I cache: 16384 bytes, associativity 4, 32 byte lines, 128 sets
CPU0: D cache: 16384 bytes, associativity 4, 32 byte lines, 128 sets
Built 1 zonelists.  Total pages: 32512
Kernel command line: root=/dev/ram console=ttyS0,115200 :::DB88FXX81:egiga0:none
PID hash table entries: 512 (order: 9, 2048 bytes)
Console: colour dummy device 80x30
Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
Memory: 128MB 0MB 0MB 0MB = 128MB total
Memory: 123776KB available (4028K code, 246K data, 124K init)
Calibrating delay loop... 796.26 BogoMIPS (lpj=3981312)
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
NET: Registered protocol family 16

CPU Interface
-------------
SDRAM_CS0 ....base 00000000, size 128MB 
SDRAM_CS1 ....disable
SDRAM_CS2 ....disable
SDRAM_CS3 ....disable
PEX0_MEM ....base e8000000, size 128MB 
PEX0_IO ....base f2000000, size   1MB 
INTER_REGS ....base f1000000, size   1MB 
NFLASH_CS ....base fa000000, size   2MB 
SPI_CS ....base f4000000, size  16MB 
BOOT_ROM_CS ....no such
DEV_BOOTCS ....no such
CRYPT_ENG ....base f0000000, size   2MB 

  Marvell Development Board (LSP Version KW_LSP_4.3.4_patch30)-- DB-88F6281A-BP  Soc: 88F6281 A1 LE

 Detected Tclk 166666667 and SysClk 200000000 
MV Buttons Device Load
Marvell USB EHCI Host controller #0: c0fb3600
PEX0 interface detected no Link.
PCI: bus0: Fast back to back transfers enabled
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
NET: Registered protocol family 2
Time: kw_clocksource clocksource has been installed.
IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
TCP established hash table entries: 4096 (order: 3, 32768 bytes)
TCP bind hash table entries: 4096 (order: 2, 16384 bytes)
TCP: Hash tables configured (established 4096 bind 4096)
TCP reno registered
checking if image is initramfs...it isn't (no cpio magic); looks like an initrd
Freeing initrd memory: 1594K
cpufreq: Init kirkwood cpufreq driver
cpufreq: High frequency: 800000KHz - Low frequency: 200000KHz
cpufreq: Setting CPU Frequency to 800000 KHz
cpufreq: Setting PowerSaveState to off
XOR registered 1 NET_DMA over 4 channels
XOR 2nd invalidate WA enabled
cesadev_init(c00119d8)
mvCesaInit: sessions=640, queue=64, pSram=f0000000
Warning: TS unit is powered off.
MV Buttons Driver Load
VFS: Disk quotas dquot_6.5.1
Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
squashfs: version 3.3 (2007/10/31) Phillip Lougher
squashfs: LZMA suppport for slax.org by jro
Installing knfsd (copyright (C) 1996 okir@monad.swb.de).
JFFS2 version 2.2. (NAND) © 2001-2006 Red Hat, Inc.
SGI XFS with large block numbers, no debug enabled
io scheduler noop registered
io scheduler anticipatory registered (default)
Serial: 8250/16550 driver $Revision: 1.7 $ 4 ports, IRQ sharing disabled
serial8250.0: ttyS0 at MMIO 0xf1012000 (irq = 33) is a 16550A
serial8250.0: ttyS1 at MMIO 0xf1012100 (irq = 34) is a 16550A
RAMDISK driver initialized: 16 RAM disks of 10240K size 1024 blocksize
loop: module loaded
Loading Marvell Ethernet Driver:
  o Cached descriptors in DRAM
  o DRAM SW cache-coherency
  o Single RX Queue support - ETH_DEF_RXQ=0
  o Single TX Queue support - ETH_DEF_TXQ=0
  o TCP segmentation offload enabled
  o LRO support supported
  o Receive checksum offload enabled
  o Transmit checksum offload enabled
  o Network Fast Processing (Routing) supported
  o Driver ERROR statistics enabled
  o Driver INFO statistics enabled
  o Proc tool API enabled
  o SKB Reuse supported
  o SKB Recycle supported
  o Rx descripors: q0=128
  o Tx descripors: q0=532
  o Loading network interface(s):
    o  register under egiga0 platform
    o egiga0, ifindex = 1, GbE port = 0

Warning: Giga 1 is Powered Off

mvFpRuleDb (c7d5d000): 1024 entries, 4096 bytes
Integrated Sata device found
scsi0 : Marvell SCSI to SATA adapter
scsi1 : Marvell SCSI to SATA adapter
scsi 0:0:0:0: Direct-Access     WDC      WD5000BEVT-22A0R 01.0 PQ: 0 ANSI: 5
scsi 1:0:0:0: Direct-Access     WDC      WD5000BEVT-22A0R 01.0 PQ: 0 ANSI: 5
scsi 0:0:0:0: Attached scsi generic sg0 type 0
scsi 1:0:0:0: Attached scsi generic sg1 type 0
NFTL driver: nftlcore.c $Revision: 1.1.1.1 $, nftlmount.c $Revision: 1.1.1.1 $
NAND device: Manufacturer ID: 0xec, Chip ID: 0xf1 (Samsung NAND 128MiB 3,3V 8-bit)
Scanning device for bad blocks
Bad eraseblock 605 at 0x04ba0000
Using static partition definition
Creating 6 MTD partitions on "nand_mtd":
0x00000000-0x00100000 : "u-boot"
0x00100000-0x00600000 : "uImage"
0x00600000-0x00b00000 : "ramdisk"
0x00b00000-0x07100000 : "image"
0x07100000-0x07b00000 : "mini firmware"
0x07b00000-0x08000000 : "config"
ehci_marvell ehci_marvell.70059: Marvell Orion EHCI
ehci_marvell ehci_marvell.70059: new USB bus registered, assigned bus number 1
ehci_marvell ehci_marvell.70059: irq 19, io base 0xf1050100
ehci_marvell ehci_marvell.70059: USB 2.0 started, EHCI 1.00, driver 10 Dec 2004
usb usb1: configuration #1 chosen from 1 choice
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
ohci_hcd: 2006 August 04 USB 1.1 'Open' Host Controller (OHCI) Driver
USB Universal Host Controller Interface driver v3.0
mice: PS/2 mouse device common for all mice
i2c /dev entries driver
md: linear personality registered for level -1
md: raid0 personality registered for level 0
md: raid1 personality registered for level 1
device-mapper: ioctl: 4.11.0-ioctl (2006-10-12) initialised: dm-devel@redhat.com
dm_crypt using the OCF package.
cpufreq: Setting CPU Frequency to 800000 KHz
cpufreq: Setting PowerSaveState to off
usbcore: registered new interface driver usbhid
drivers/hid/usbhid/hid-core.c: v2.6:USB HID core driver
TCP cubic registered
NET: Registered protocol family 1
NET: Registered protocol family 17
md: Autodetecting RAID arrays.
md: autorun ...
md: ... autorun DONE.
RAMDISK: Compressed image found at block 0
EXT2-fs warning: mounting unchecked fs, running e2fsck is recommended
VFS: Mounted root (ext2 filesystem).
Freeing init memory: 124K
sd 0:0:0:0: [sda] 976773168 512-byte hardware sectors (500108 MB)
sd 0:0:0:0: [sda] Write Protect is off
sd 0:0:0:0: [sda] Mode Sense: 23 00 10 00
sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, supports DPO and FUA
sd 0:0:0:0: [sda] 976773168 512-byte hardware sectors (500108 MB)
sd 0:0:0:0: [sda] Write Protect is off
sd 0:0:0:0: [sda] Mode Sense: 23 00 10 00
sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, supports DPO and FUA
 sda: sda1 sda2 sda4
sd 0:0:0:0: [sda] Attached SCSI disk
sd 1:0:0:0: [sdb] 976773168 512-byte hardware sectors (500108 MB)
sd 1:0:0:0: [sdb] Write Protect is off
sd 1:0:0:0: [sdb] Mode Sense: 23 00 10 00
sd 1:0:0:0: [sdb] Write cache: enabled, read cache: enabled, supports DPO and FUA
sd 1:0:0:0: [sdb] 976773168 512-byte hardware sectors (500108 MB)
sd 1:0:0:0: [sdb] Write Protect is off
sd 1:0:0:0: [sdb] Mode Sense: 23 00 10 00
sd 1:0:0:0: [sdb] Write cache: enabled, read cache: enabled, supports DPO and FUA
 sdb: sdb1 sdb2 sdb4
sd 1:0:0:0: [sdb] Attached SCSI disk
usbcore: registered new interface driver usblp
drivers/usb/class/usblp.c: v0.13: USB Printer Device Class driver
egiga0: mac address changed
egiga0: link up, full duplex, speed 100 Mbps
egiga0: started
ext3: No journal on filesystem on sda4
EXT2-fs warning: mounting unchecked fs, running e2fsck is recommended
ext3: No journal on filesystem on sdb4
EXT2-fs warning: mounting unchecked fs, running e2fsck is recommended
md: md0 stopped.
md: bind<sdb1>
md: bind<sda1>
raid1: raid set md0 active with 2 out of 2 mirrors
md: md1 stopped.
md: bind<sdb2>
md: bind<sda2>
raid1: raid set md1 active with 2 out of 2 mirrors
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
kjournald starting.  Commit interval 5 seconds
EXT3 FS on md1, internal journal
EXT3-fs: recovery complete.
EXT3-fs: mounted filesystem with ordered data mode.
Adding 530040k swap on /dev/md0.  Priority:-1 extents:1 across:530040k
NTFS driver 2.1.28 [Flags: R/O MODULE].
usbcore: deregistering interface driver usb-storage

Bővebb lére eresztve az ffp telepítésének menete, az SSH aktiválása és a jelszó permanens tárolása elolvasható itt. A telepítési leírás a DNS-323 eszközhöz készült, így a feljebb említett path különbségeket figyelembe kell venni.

Csomagok telepítése


root@dlink-F946BD:/# mkdir -p /ffp/pkg
root@dlink-F946BD:/# cd ffp/pkg/
root@dlink-F946BD:/mnt/HD/HD_a2/ffp/pkg# ls
root@dlink-F946BD:/mnt/HD/HD_a2/ffp/pkg# clear

root@dlink-F946BD:/mnt/HD/HD_a2/ffp/pkg# wget http://wolf-u.li/u/173/ -O /ffp/pkg/updater.sh
Connecting to wolf-u.li (83.169.42.106:80)
updater.sh           100% |*******************************************************************************************************|   876  --:--:-- ETA
root@dlink-F946BD:/mnt/HD/HD_a2/ffp/pkg# chmod a+x updater.sh 
root@dlink-F946BD:/mnt/HD/HD_a2/ffp/pkg# ./updater.sh 
################################################################################
# Syncing Fonz packages Folder                                               #
################################################################################
receiving file list ... done
packages/
packages/MANIFEST.txt
packages/apr-1.2.12-2.tgz
packages/apr-util-1.2.12-1.tgz
packages/autoconf-2.61-2.tgz
packages/automake-1.10.1-2.tgz
packages/bash-3.2-3.tgz
packages/binutils-2.18.50.0.1-4.tgz
packages/bison-2.3-3.tgz
packages/btpd-0.15-1.tgz
packages/busybox-1.12.1-1.tgz
packages/bzip2-1.0.5-2.tgz
packages/convmv-1.12-2.tgz
packages/coreutils-6.12-1.tgz
packages/cpio-2.9-1.tgz
packages/cvs-1.11.22-2.tgz
packages/db42-4.2.52-1.tgz
packages/dejagnu-1.4.4-2.tgz
packages/dialog-1.1-3.tgz
packages/diffutils-2.8.7-3.tgz
packages/distcc-3.0-1.tgz
packages/dns323-utils-0.7.176-2.tgz
packages/dnsmasq-2.45-2.tgz
packages/e2fsprogs-1.41.0-1.tgz
packages/esmtp-0.6.0-2.tgz
packages/expat-2.0.1-3.tgz
packages/expect-5.43.0-2.tgz
packages/ffp-base-0.5-1.tgz
packages/ffp-scripts-0.5-18.tgz
packages/file-4.23-3.tgz
packages/findutils-4.4.0-1.tgz
packages/flex-2.5.33-5.tgz
packages/funpkg-0.5-4.tgz
packages/gawk-3.1.6-3.tgz
packages/gcc-4.1-2.tgz
packages/gd-2.0.35-1.tgz
packages/gdb-6.6-3.tgz
packages/gettext-0.17-2.tgz
packages/glusterfs-1.3.10-2.tgz
packages/grep-2.5.3-2.tgz
packages/groff-1.19.2-3.tgz
packages/gzip-1.3.12-3.tgz
packages/id3lib-3.8.3-3.tgz
packages/imagemagick-6.4.1_6-1.tgz
packages/joe-3.5-1.tgz
packages/kernel-headers-2.6.9.1-2.tgz
packages/less-418-3.tgz
packages/libarchive-2.7.1-1.tgz
packages/libesmtp-1.0.4-1.tgz
packages/libiconv-1.12-3.tgz
packages/libjpeg-6b-1.tgz
packages/libnbcompat-cvs-2.tgz
packages/libpng-1.2.29-1.tgz
packages/libtool-1.5.24-1.tgz
packages/libusb-0.1.12-1.tgz
packages/libxml2-2.6.31-2.tgz
packages/lighttpd-1.4.25-1.tgz
packages/lsof-4.80-1.tgz
packages/m4-1.4.10-2.tgz
packages/mailx-12.3-1.tgz
packages/make-3.81-3.tgz
packages/man-1.6e-3.tgz
packages/man-pages-3.07-1.tgz
packages/mdadm-2.6.7-1.tgz
packages/mediatomb-0.11.0-5.tgz
packages/mysql-5.0.67-2.tgz
packages/ncurses-5.6-4.tgz
packages/neon-0.25.5-1.tgz
packages/nfs-utils-1.1.0-4.tgz
packages/ntp-4.2.4p6-1.tgz
packages/openssh-5.2p1-2.tgz
packages/openssl-0.9.8k-1.tgz
packages/parted-1.8.8-1.tgz
packages/patch-2.5.9-3.tgz
packages/pciutils-3.0.0-1.tgz
packages/pcre-7.7-1.tgz
packages/pkg-config-0.23-1.tgz
packages/portmap-6.0-4.tgz
packages/procmail-3.22-1.tgz
packages/rcorder-cvs-4.tgz
packages/readline-5.2-3.tgz
packages/rsync-3.0.7-1.tgz
packages/screen-4.0.3-2.tgz
packages/sed-4.1.5-3.tgz
packages/shadow-4.1.2.1-1.tgz
packages/smartmontools-5.39.1-1.tgz
packages/sqlite-3.5.6-3.tgz
packages/strace-4.5.18-1.tgz
packages/subversion-1.5.2-1.tgz
packages/sudo-1.6.9p17-2.tgz
packages/tar-1.19-2.tgz
packages/tcl-8.4.16-3.tgz
packages/tcp_wrappers-7.6-3.tgz
packages/texinfo-4.11-3.tgz
packages/tree-1.5.1.1-2.tgz
packages/uclibc-0.9.29-7.tgz
packages/unfs3-0.9.22-1.tgz
packages/usbutils-0.73-1.tgz
packages/vim-7.1-2.tgz
packages/zlib-1.2.3-3.tgz

sent 2281 bytes  received 102231104 bytes  617724.38 bytes/sec
total size is 102211298  speedup is 1.00
################################################################################
# Syncing Ulis additional Folder                                             #
################################################################################
=================================================================
= This system is monitored by the sysop, any violation will be  =
= investigated and monitored. Unauthorized access is prohibited =
= and will be punishable to the full extent of the law.         =
=================================================================
= This repository over HTTP:         http://ffp.wolf-u.li/      =
= For english Tutorials see:         http://nas-tweaks.net/     =
= For german  Tutorials see:         http://wolf-u.li/ch3snas/  =
=================================================================

receiving incremental file list
additional/
additional/app-arch/
additional/app-arch/cksfv-1.3.14-1.tgz
additional/app-arch/par2cmdline-0.4-ffp0.5.tgz
additional/app-arch/unrar-3.9.10-1.tgz
additional/app-arch/xz-4.999.9beta-1.tgz
additional/app-backup/
additional/app-backup/backup2l-1.4-1.tgz
additional/app-dicts/
additional/app-dicts/aspell-fr-0.50-3-1.tgz
additional/app-dicts/aspell6-de-20030222-1-1.tgz
additional/app-dicts/aspell6-en-6.0-0-1.tgz
additional/app-dicts/aspell6-it-2.2_20050523-0-1.tgz
additional/app-editors/
additional/app-editors/nano-2.0.9-2.tgz
additional/app-misc/
additional/app-misc/fdupes-1.40-1.tgz
additional/app-misc/mc-4.1.40-pre9-1.tgz
additional/app-text/
additional/app-text/aspell-0.60.6-1.tgz
additional/dev-db/
additional/dev-db/mysql-5.1.54-2.tgz
additional/dev-db/sqlite-3.7.3-1.tgz
additional/dev-lang/
additional/dev-lang/Python-2.5.4-2.tgz
additional/dev-lang/php-5.2.17-2.tgz
additional/dev-lang/tcl-8.6b1-3.tgz
additional/dev-libs/
additional/dev-libs/apr-1.3.12-1.tgz
additional/dev-libs/apr-util-1.3.9-1.tgz
additional/dev-libs/libebml-0.7.8-1.tgz
additional/dev-libs/libgcrypt-1.4.4-1.tgz
additional/dev-libs/libgpg-error-1.10-1.tgz
additional/dev-libs/libpst-0.6.37-1.tgz
additional/dev-libs/lzo-2.03-1.tgz
additional/dev-libs/tre-0.8.0-1.tgz
additional/dev-util/
additional/dev-util/subversion-1.6.13-1.tgz
additional/ffp-misc/
additional/ffp-misc/fanctl-2-1.tgz
additional/ffp-misc/uwfancontrol-1.1-4.tgz
additional/mail-client/
additional/mail-client/mailx-12.4-1.tgz
additional/media-libs/
additional/media-libs/faad2-2.7-1.tgz
additional/media-libs/flac-1.2.1-1.tgz
additional/media-libs/libid3tag-0.15.1b-1.tgz
additional/media-libs/libmad-0.15.1b-1.tgz
additional/media-libs/libogg-1.2.0-1.tgz
additional/media-libs/libsamplerate-0.1.7-1.tgz
additional/media-libs/libvorbis-1.3.1-1.tgz
additional/media-libs/twolame-0.3.12-1.tgz
additional/net-analyzer/
additional/net-analyzer/nmap-5.21-1.tgz
additional/net-analyzer/vnstat-1.10-2.tgz
additional/net-dns/
additional/net-dns/dnsmasq-2.52-1.tgz
additional/net-ftp/
additional/net-ftp/atftpd-0.7.tgz
additional/net-ftp/lftp-4.0.7-1.tgz
additional/net-ftp/proftpd-1.3.3d-1.tgz
additional/net-ftp/tftp-hpa-5.0-2.tgz
additional/net-libs/
additional/net-libs/gnutls-2.10.1-1.tgz
additional/net-misc/
additional/net-misc/curl-7.21.3-1.tgz
additional/net-misc/ether-wake-1.09-1.tgz
additional/net-misc/iperf-2.0.4-1.tgz
additional/net-misc/netperf-2.4.5-1.tgz
additional/net-misc/openvpn-2.1.3-2.tgz
additional/net-misc/streamripper-1.64.6-1.tgz
additional/net-misc/wget-1.12-2.tgz
additional/net-p2p/
additional/net-p2p/Transmission-1.22-ffp0.5.tgz
additional/sci-visualization/
additional/sci-visualization/gnuplot-4.4.2-1.tgz
additional/sys-apps/
additional/sys-apps/texinfo-4.13a-1.tgz
additional/sys-devel/
additional/sys-devel/gettext-0.17-4.tgz
additional/sys-devel/glib-2.18.1-1.tgz
additional/www-servers/
additional/www-servers/lighttpd-1.4.28-1.tgz

sent 1242 bytes  received 84672791 bytes  674693.49 bytes/sec
total size is 84656999  speedup is 1.00
root@dlink-F946BD:/mnt/HD/HD_a2/ffp/pkg#

További tudnivalók itt.

Az ffp eltávolítása

Ha kiderül, hogy mégsincs szükségünk az ffp-re, akkor azt könnyedén eltávolíthatjuk. Az eltávolítás menete megtalálható itt.

Squeezebox Server

Ha a rendszerrel idáig eljutottunk, akkor nekiállhatunk a fentiekben előkészített ffp-re Squeezebox Server-t telepíteni. Ez a nehezebb út. Előnye, hogy a Squeezebox Server mellett más csomagokat is telepíthetünk szükség szerint a rendszerünkre. Segítség itt.

Viszont ha valakinek csak Squeezebox Server kell, akkor ha rám hallgat, nem ezt az utat követi. Sokkal egyszerűbb, ha csak a kimondottan Squeezebox Server-re kihegyezett célcsomagot, a squeezecenter-funplug megoldást telepíti.

A squeezecenter-funplug telepítése

Gyári rendszerrel indulunk. Még nincs semmi sem telepítve a NAS-ra. A squeezecenter-funplug letölthető innen. Mivel ez is a DNS-323 eszközhöz készült, itt is módosítani kell a fun_plug scriptet. Lásd feljebb a "Az ffp telepítése D-Link DNS-320 NAS-ra" részt.

Ha sikeresen telepítettük, akkor egy rövid idő után be tudunk jelentkezni az admin felületre:

squeezecenter-funplug admin felület a DNS-320-on
Itt indíthatjuk el, illetve állíthatjuk le a telnet szolgáltatást és/vagy a Squeezebox Server-t

Squeezebox Server a DNS-320-on
A Squeezebox Server webes felülete a 9000-es porton érhető el

Squeezebox Server a DNS-320-on
Statisztika, platform stb.

Finomhangolás

A Squeezebox szerverünk órája nem fog jól járni egészen addig, amíg a megfelelő időzónát a rendszeren (nem a NAS webes felületén) be nem állítjuk. Akkor sem ha a NAS admin felülete egyébként jó időt mutat. Illetve bizonyos merevlemezeknél érdemes hdparm-mal az Advanced Power Management level-t "off"-ra állítani. Ehhez szerkesszük meg a /mnt/HD/HD_a2/ffp/etc/fun_plug.local fájlt és egészítsük ki az alábbiakkal:


[...]
# set timezone
echo 'CET-1CEST-2,M3.5.0/02:00:00,M10.5.0/03:00:00' >/etc/TZ

# HDD Advanced Power Management level 

/ffp/sbin/hdparm -B 255 /dev/sda
/ffp/sbin/hdparm -B 255 /dev/sdb

Gyakorlatilag ezzel el is készültünk. Ha mindent jól csináltunk, akkor a NAS a következő helyeken érhető el:

A NAS gyári admin felülete:
http://<nas_ip>/

A squeezecenter-funplug admin felülete:
http://<nas_ip>:90/

A Squeezebox Server admin felülete:
http://<nas_ip>:9000/

Illetve ha a telnet engedélyezve van, akkor a

telnet <nas_ip>

Jó szórakozást!

Hozzászólások

Van rajta USB? mert akkor _ha_ nem szabályozza le az USB port sebességét (és nem használjuk pendrivehoz), akkor lehetne pl.:

- SLIP-elni egy RS232-USB adapterrel (régi masinák esetén, pl. AIX/PS2 fut bármilyen pécén, de nem támogat szinte semmilyen NIC-et)
- soros terminálon ránézni getty+RS232-USB adapter
- ha rádugok egy pendrive-ot, azt automatikusan megosztaná pl. NFS-en (Wisconsin Unix/VAX mást nem nagyon kezel), vagy VAX/VMS alá
- root-on-NFS bootszervernek diskless Sun/SGI/DEC stb. hardverekhez
- MOP szervernek DEC/VAX gépekhez. Létezik-e mopd linugz alá? linugy/arm alá? Ha igen, hogyan működik(-e(gyáltalán))?

ha nincs rajta RJ45 dugó, akkor usb hub-on rátehetünk RJ45 ethernet adaptert.

A fenti ötletek bármelyikét ki óhajtja megvalósítani?

http://hup.hu/taxonomy/term/209
http://www.youtube.com/watch?v=QXz7-BNC6jw
http://nocirc.org/

örvendetesen szaporodnak az ilyen kis fogyasztású eszközök és köszi a használatukat megkönnyítő kényelmes leírást!

--
xterm

Bocs, most láttam, hogy egy korábbi cikkben már megválaszoltad a kérdésem...

Üdv.
EnRoX

arról esetleg van-e infód, hogy elérhető-e hozzá valamilyen módon saját módon összeállított disztró? Szeretnék egy NASt otthonra, de inkább én konfigurálnám, én telepíteném etc... elvégre akár szenzitív adat is mehet rá.

Az összes fontosabb adatom titkosítva került rá. Tehát ez nem probléma.

Viszont ha mindenképpen saját disztrót akarsz rá, akkor szerintem a Debian rámegy. Legalábbis a DNS-323-ra rámegy. Ez meg azt hiszem, hogy ugyanaz a vas, csak több memória és gyorsabb processzor.

http://www.cyrius.com/debian/orion/d-link/dns-323/

Másik út (nem próbáltam), a D-Link kiadott egy Debian Squeeze csomagokot rá:

DNS-320&325_linuxDebian_revA_Squeeze_all_en_20110111.zip

Meg kell nézni mi van benne...

Szerk: letöltöttem, megnéztem. Ez egy fun-plug Debian, azaz, ahogy a cikkben le van írva, csak fel kell másolni a két fájt a Volume_1-re és egy Debian-t kapsz.

--
trey @ gépház

A fenti cikkben le van írva. A fun_plug egy script, amit a NAS boot-kor ellenőriz és ha van, akkor lefuttatja. A Squeeze esetében van mellette egy tgz batyu. Ezt kicsomagolja, majd feltétlezem a kicsomagolt Squeeze-be chroot-ol a boot végén.

Soros ha jól emlékszem van, hátul ki lehet vezetni. Ha ezt megoldod szemmel nem látható módon, akkor a garancia nem ugrik.

--
trey @ gépház

Szervusztok,

Én egy DNS-323-ra raktam Squeezecentert ez alapján: http://forums.slimdevices.com/showthread.php?t=83038

Majdnem jó lett, csak nem megy az új adatbázis lértrehozása. Viszont ha egy másik gépen létrehozott, üres adatbázist odaadok neki, a frissítő szken már jól lefut (a fenti fórumra beírtam a hibaüzeneteket).

Így használható végül is, úgyhogy abbahagytam a nyomozást a jelenség oka után.

Ed

Tehát, ha készítek egy fun_plug nevű fájlt a driveon az alábbi tartalommal, akkor
a 2.5" noti hdd-s kernel probléma megoldásra kerül?

fun_plug tartalma:

/ffp/sbin/hdparm -B 255 /dev/sda
/ffp/sbin/hdparm -B 255 /dev/sdb

A driveok értelem szerűen a példából.

Szerk:

"Egy megjegyzés a 2.5"-os HD-k Linux-os használatához.

A Linux kernel néhány verzióval ezelőtt még erőteljesen strapálta a laptop HD-kat, lerövidítve ezzel azok élettartamát. A 2.5"-os (laptop) HD-kban ugyanis van power management (a 3.5"-os normál HD-kal ellentétben), amit a kernel kicsit vadul kezel.

Lásd:
- Laptop harddrive Load_Cycle_Count issue
- High frequency of load/unload cycles on some hard disks may shorten lifetime

A gyártók a "load cycle count"-ra maximum 150000-600000-ig adnak garanciát (gyártótól függően). A Linux kernel percenként jó néhányat léptet ezen a számlálón (saját tapasztalatom szerint)."

/ ( blah-blah | 2011. január 16., vasárnap - 23:09 ) /

"Tehát, ha készítek egy fun_plug nevű fájlt a driveon az alábbi tartalommal, akkor
a 2.5" noti hdd-s kernel probléma megoldásra kerül?"

Nem, mert ez így nem fog lefutni. Ugyanis ha nem teszed fel az ffp-t, akkor a /ffp/ nem fog létezni. Leírtam a cikkben, hogy hova kell beírni. Az ffp telepítése _után_.

A Szerk: utáni részre: ezért kell kikapcsolni az Advanced Power Management-et...

--
trey @ gépház

Most ismerkedem a DNS-320-asommal.
Ezzel kapcsolatban lenne kérdésem, amit önálló fórum topikban fogalmaztam meg: DNS-320
--
Tertilla; Tisztelem a botladozó embert és nem rokonszenvezem a tökéletessel! Hagyd már abba!; Dropbox

Nekem is lett egy hasonló szerkezet, kicsit lassú de nem gáz.
Az ffp scriptből van új 0.7 itt már nem kell editálni (vagy itt, csak az előzőnél van egy kis leírás is)

Én a 320L-t vettem, viszont ott vannak problémák: transmission rendszeresen lefagy, gondolom az egész chrootolt környezettel együtt megy av entilátor folyamatosan. Ha újra venni kéne biztos nem venném meg, inkább házilag összerakni egy nas-t valami atom prociból, vagy arm procis kis kütyüt ami bootlható mindenféle hókuszpókuszok nélkül. (Ezen is menne a debien ha forrasztgatnék az alaplapon meg debian telepítőt raknék össze stb.) Nem ajánlom senkinek aki nem csak fájltárolásra használná hanem transmissionra ssh-ra rsync-re