meta data for this page
This is an old revision of the document!
References
OpenWRT packages: http://bartekk.pdg.pl/openwrt/
http://forum.nas-central.org/viewtopic.php?f=249&t=5145
http://eko.one.pl/?p=openwrt-nsa310
https://sites.google.com/site/realblades/misc/debian-on-zyxel-nsa310
http://linuxwiki.de/ZYXEL%20NSA-310#Debian_Installation
http://openrouter.info/forum/viewtopic.php?f=19&t=1581&start=80
Serial converter
3,3V level converter 115200 8N1
1 | 2 | 3 | 4 | 5 |
---|---|---|---|---|
Vcc | RX | TX | nc | GND |
__ __ _ _ | \/ | __ _ _ ____ _____| | | | |\/| |/ _` | '__\ \ / / _ \ | | | | | | (_| | | \ V / __/ | | |_| |_|\__,_|_| \_/ \___|_|_| _ _ ____ _ | | | | | __ ) ___ ___ | |_ | | | |___| _ \ / _ \ / _ \| __| | |_| |___| |_) | (_) | (_) | |_ \___/ |____/ \___/ \___/ \__| ** MARVELL BOARD: RD-88F6281A LE U-Boot 1.1.4 (Jun 8 2011 - 18:48:37) Marvell version: 3.4.19 U-Boot code: 00600000 -> 0067FFF0 BSS: -> 006CFEE0 Soc: 88F6281 A1 (DDR2) CPU running @ 1200Mhz L2 running @ 400Mhz SysClock = 400Mhz , TClock = 200Mhz DRAM CAS Latency = 5 tRP = 5 tRAS = 18 tRCD=6 DRAM CS[0] base 0x00000000 size 256MB DRAM Total size 256MB 16bit width Addresses 10M - 0M are saved for the U-Boot usage. Mem malloc Initialization (10M - 7M): Done NAND:128 MB Flash: 0 kB CPU : Marvell Feroceon (Rev 1) Kernel address is 0x4640000. Streaming disabled Write allocate disabled Module 0 is RGMII Module 1 is TDM USB 0: host mode PEX 0: PCI Express Root Complex Interface PEX interface detected Link X1 Net: egiga0, egiga1 [PRIME] Hit any key to stop autoboot: 0
Preparation
First install Debian 6 (squeeze). Put on FAT formatted pendrive: initrd.gz uImage-3.2 uImage-3.5.1
then boot from pendrive (one time, without saving it permanently to u-boot environment) Machine type is 4022
setenv arcNumber 4022 setenv mainlineLinux yes usb start fatload usb 0 0x800000 /uImage-3.2 fatload usb 0 0xb00000 /initrd.gz setenv bootargs 'console=ttyS0,115200 root=/dev/ram initrd=0xb00000,0x900000 ramdisk=32768' bootm 0x800000
and install Debian 6 system as usual. Installer will complain about no matching modules and no matching kernel. During installation, create small /boot ext3 partition for kernels.
To boot from HDD, copy uImage-3.2 from pendrive to HDD /boot partition and set u-boot:
From u-boot console, test partitions readability:
ide reset ide part ext2ls ide 0:1 ext2ls ide 0:3
In my example I got following partitions numbers:
Partition Map for IDE device 0 -- Partition Type: DOS Partition Start Sector Num Sectors Type 1 309248 19222528 83 2 19533822 957237250 5 Extd 3 2048 307200 83
Where 3rd partition is small /boot partition, so we need to load kernel from 'ide 0:3'
setenv arcNumber 4022 setenv mainlineLinux yes setenv bootargs 'console=ttyS0,115200 root=/dev/sda1' setenv bootcmd 'ide reset; ext2load ide 0:3 0x800000 /uImage-3.2; bootm 0x800000' saveenv reset
or 3.5.1 kernel:
setenv bootcmd 'ide reset; ext2load ide 0:3 0x800000 /uImage-3.5.1; bootm 0x800000'
Update to Debian Wheezy
Put following sources into /etc/apt/sources.list
###### Debian Main Repos deb http://ftp.pl.debian.org/debian/ wheezy main contrib non-free deb-src http://ftp.pl.debian.org/debian/ wheezy main contrib non-free ###### Debian Update Repos deb http://security.debian.org/ wheezy/updates main contrib non-free deb http://ftp.pl.debian.org/debian/ wheezy-proposed-updates main contrib non-free deb-src http://security.debian.org/ wheezy/updates main contrib non-free deb-src http://ftp.pl.debian.org/debian/ wheezy-proposed-updates main contrib non-free
apt-get update apt-get dist-upgrade apt-get install linux-base firmware-realtek apt-get clean
Fine tunning
Install missing packages:
apt-get install uboot-envtools smartmontools strace watchdog hdparm
Generate blank modules.dep
mkdir /lib/modules/3.5.1 depmod -a
LEDs
To turn ON System LED (disable blinking) please add line to /etc/rc.local:
echo 1 > /sys/class/leds/nsa310:green:System/brightness
uboot-envtools
Create /etc/fw_env.config with content:
/dev/mtd1 0x0000 0x20000 0x20000 4
MAC address
After bootup, ethernet controller has MAC address '00:00:00:00:00:30'. There are several method to restore correct MAC address which can be obtained from u-boot env: 1) add to /etc/rc.local
ifdown eth0 /sbin/ifconfig eth0 hw ether `fw_printenv -n ethaddr` ifup eth0
or
/sbin/ip link set eth0 address `/usr/bin/fw_printenv ethaddr | /bin/grep -E -o '[[:xdigit:]]{2}(:[[:xdigit:]]{2}){5}'`
2) add line to /etc/network/interfaces
hwaddress ether cc:5d:4e:c9:fc:06
3) Edit and set MAC here: /etc/udev/rules.d/70-persistent-net.rules
Wake-on-lan will work only with fake MAC '00:00:00:00:00:30'
Fix for alloc kernel panic
Add these lines in /etc/sysctl.conf:
# Set VM min memory vm.min_free_kbytes=8192
Buttons
Ref: http://masu.6f.sk/index.php?title=Nsa310_buttons Button works, but requires long pressing > 1sec.
Fan
Detect PWM devices and calibrate fan RPMs using 'pwmconfig'. After many questions an tests the config file /etc/fancontrol will be generated.
# Configuration file generated by pwmconfig, changes will be lost INTERVAL=10 DEVPATH=hwmon0=devices/platform/mv64xxx_i2c.0/i2c-0/0-002e DEVNAME=hwmon0=lm85 FCTEMPS=hwmon0/device/pwm1=hwmon0/device/temp3_input FCFANS= hwmon0/device/pwm1=hwmon0/device/fan1_input MINTEMP=hwmon0/device/pwm1=35 MAXTEMP=hwmon0/device/pwm1=60 MINSTART=hwmon0/device/pwm1=16 MINSTOP=hwmon0/device/pwm1=16 MINPWM=hwmon0/device/pwm1=0
Encrypted partition
apt-get install cryptsetup-bin
Enable HW acceleration. Which is a bit slower than software :P
modprobe mv_cesa cat /proc/crypto | grep mv_cesa -B 2 -A 7
Is providing only:
- hmac(sha1)
- sha1
- cbc(aes)
- ecb(aes)
There are also additional kernel modules optimised for ARM:
- sha1_arm
- aes_arm
cryptsetup benchmark
Algorithm | Key | Encryption | Decryption | accel |
---|---|---|---|---|
aes-cbc | 128b | 12.8 MiB/s | 13.4 MiB/s | |
13.4 MiB/s | 14.1 MiB/s | arm | ||
19.7 MiB/s | 20.2 MiB/s | mv_cesa | ||
serpent-cbc | 128b | 11.1 MiB/s | 11.6 MiB/s | |
twofish-cbc | 128b | 13.0 MiB/s | 13.4 MiB/s | |
aes-cbc | 256b | 10.1 MiB/s | 10.5 MiB/s | |
11.0 MiB/s | 11.4 MiB/s | arm | ||
18.9 MiB/s | 19.2 MiB/s | mv_cesa | ||
serpent-cbc | 256b | 11.1 MiB/s | 11.6 MiB/s | |
twofish-cbc | 256b | 13.0 MiB/s | 13.4 MiB/s | |
aes-xts | 256b | 13.1 MiB/s | 13.3 MiB/s | |
14.6 MiB/s | 14.7 MiB/s | arm | ||
serpent-xts | 256b | 11.5 MiB/s | 11.6 MiB/s | |
twofish-xts | 256b | 13.4 MiB/s | 13.2 MiB/s | |
aes-xts | 512b | 10.2 MiB/s | 10.4 MiB/s | |
11.4 MiB/s | 11.8 MiB/s | arm | ||
serpent-xts | 512b | 11.5 MiB/s | 11.6 MiB/s | |
twofish-xts | 512b | 13.4 MiB/s | 13.2 MiB/s |
Ciphers benchmark
Each cipher was tested with following steps:
- luksFormat /dev/sda5
- luksOpen /dev/sda5 sda5
- benchmarks described in table below on /dev/mapper/sda5
- create ext4fs on /dev/mapper/sda5
- the same benchmarks but on mounted ext4 (writing/reading from file).
test | command line | description |
---|---|---|
hdparm | hdparm -t /dev/… | Buffered read test |
WR | dd bs=16M count=128 | Normal buffered transfer, but with sync before exit |
WR S | ||
WR DS | ||
RD |
REMARKS:
- For XTS, only half of key is used, so for 128b cipher I need to specify -s 256.
- Ext4 by default was created with lazy_init, to speed up creation process, but it can make impact on tests.
- Before each test, flush by sync && echo 3 > …/drop_caches was issued.
128b key | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Block device | EXT4 | ||||||||||||
acc | hdparm | WR | WR S | WR DS | RD | WR | WR S | WR DS | RD | ||||
cbc-plain | HW | 8.82 | 7.0 | 6.1 | 7.3 | 9.2 | 8.0 | 5.5 | 5.8 | 9.3 | |||
SW | 11.80 | 8.2 | 7.4 | 8.7 | 12.40 | 9.5 | 6.2 | 6.4 | 12.40 | ||||
ARM | 12.76 | 8.9 | 7.2 | 9.2 | 13.60 | 10.2 | 6.4 | 6.4 | 13.60 | * | |||
cbc-plain64 | HW | 8.79 | 6.9 | 6.1 | 7.5 | 9.2 | 7.9 | 5.3 | 5.6 | 9.0 | |||
SW | 11.83 | 8.2 | 7.4 | 9.2 | 12.40 | 9.5 | 6.2 | 6.6 | 12.40 | ||||
ARM | 12.73 | 8.9 | 7.2 | 9.3 | 13.60 | 10.2 | 6.2 | 6.1 | 13.60 | * | |||
cbc-essiv :sha256 | HW | 7.7 | 6.2 | 5.5 | 6.9 | 8.1 | 7.2 | 5.2 | 5.2 | 8.1 | |||
SW | 9.7 | 7.8 | 6.9 | 8.7 | 11.40 | 9.1 | 6.2 | 6.5 | 11.40 | ||||
ARM | 12.36 | 8.7 | 7.0 | 9.1 | 13.20 | 9.9 | 6.3 | 6.2 | 13.20 | * | |||
xts-plain | SW | 11.29 | 8.2 | 7.4 | 8.7 | 11.80 | 9.5 | 6.1 | 6.5 | 11.90 | |||
ARM | 12.79 | 9.3 | 7.5 | 10.1 | 13.60 | 10.6 | 6.3 | 5.9 | 13.70 | * | |||
xts-plain64 | SW | 11.27 | 8.2 | 7.4 | 8.7 | 11.80 | 9.5 | 6.2 | 6.5 | 11.70 | |||
ARM | 12.84 | 9.3 | 7.5 | 10.2 | 13.70 | 10.6 | 6.4 | 6.1 | 13.70 | * | |||
xts-essiv :sha256 | SW | 10.30 | 7.9 | 7.2 | 8.7 | 11.10 | 9.1 | 6.1 | 6.5 | 11.10 | |||
ARM | 12.40 | 9.1 | 7.5 | 9.3 | 13.20 | 10.4 | 6.3 | 6.1 | 13.30 | * | |||
256b key | |||||||||||||
Block device | EXT4 | ||||||||||||
acc | hdparm | WR | WR S | WR DS | RD | WR | WR S | WR DS | RD | ||||
cbc-plain | HW | 8.43 | 6.7 | 6.1 | 7.5 | 8.9 | 7.7 | 5.5 | 5.7 | 8.9 | |||
SW | 9.17 | 6.7 | 6.1 | 7.4 | 9.6 | 7.7 | 5.5 | 5.8 | 9.6 | ||||
ARM | 10.32 | 7.6 | 6.3 | 7.9 | 10.80 | 8.5 | 5.5 | 6.0 | 10.80 | * | |||
cbc-plain64 | HW | 8.44 | 6.7 | 6.1 | 7.5 | 8.9 | 7.7 | 5.5 | 5.7 | 8.8 | |||
SW | 9.15 | 6.8 | 6.1 | 7.5 | 9.5 | 7.6 | 5.5 | 5.8 | 9.7 | ||||
ARM | 10.24 | 7.6 | 6.2 | 7.8 | 10.70 | 8.4 | 5.1 | 5.5 | 10.00 | * | |||
cbc-essiv :sha256 | HW | 7.47 | 6.0 | 5.5 | 6.5 | 7.8 | 6.9 | 5.0 | 5.2 | 7.8 | |||
SW | 8.59 | 6.7 | 6.1 | 7.5 | 9.0 | 7.5 | 5.3 | 5.5 | 8.9 | ||||
ARM | 9.83 | 7.5 | 6.2 | 7.9 | 10.50 | 8.3 | 5.5 | 5.7 | 10.60 | * | |||
xts-plain | SW | 8.70 | 6.8 | 6.1 | 7.5 | 9.1 | 7.6 | 5.5 | 5.6 | 9.2 | |||
ARM | 10.09 | 7.9 | 6.6 | 8.5 | 10.7 | 8.8 | 5.2 | 5.6 | 10.80 | * | |||
xts-plain64 | SW | 8.70 | 6.8 | 6.1 | 7.5 | 9.2 | 7.6 | 5.5 | 5.6 | 9.2 | |||
ARM | 10.14 | 7.9 | 6.6 | 8.4 | 10.80 | 8.8 | 5.4 | 5.7 | 10.80 | * | |||
xts-essiv :sha256 | SW | 8.37 | 6.7 | 6.1 | 7.0 | 8.8 | 7.3 | 5.1 | 5.4 | 8.4 | |||
ARM | 9.94 | 7.7 | 6.3 | 7.9 | 10.40 | 8.5 | 4.9 | 5.2 | 9.7 | ||||
without encryption | |||||||||||||
Block device | EXT4 | ||||||||||||
acc | hdparm | WR | WR S | WR DS | RD | WR | WR S | WR DS | RD | ||||
/dev/sda5 | 137 | 91 | 33.7 | 51.7 | 149 | 69 | 13 | 15 | 149 |
file copy benchmark
Copy using dd if=src_file of=dst_file conv=fsync
“It will synchronize output data and metadata just before finishing”
128b key | ||||
---|---|---|---|---|
acc | WR S | RD | ||
aes-cbc-plain64 | HW | 5.8 | 8.1 | |
SW | 6.4 | 10.60 | ||
ARM | 6.8 | 12.00 | * | |
twofish-cbc-plain64 | SW | 6.5 | 10.60 | |
aes-cbc-essiv:sha256 | HW | 5.4 | 7.1 | |
SW | 6.3 | 10.30 | ||
ARM | 6.6 | 11.10 | ||
twofish-cbc-essiv:sha256 | SW | 6.5 | 10.70 | |
aes-xts-plain64 | SW | 6.4 | 10.20 | |
ARM | 7.0 | 12.10 | * | |
twofish-xts-plain64 | SW | 6.6 | 11.00 | |
twofish-xts-essiv:sha256 | SW | 6.4 | 10.50 | |
256b key | ||||
acc | WR S | RD | ||
aes-cbc-plain64 | HW | 5.8 | 8.3 | |
SW | 5.5 | 8.4 | ||
ARM | 5.9 | 9.5 | * | |
twofish-cbc-plain64 | SW | 6.6 | 11.00 | * |
aes-cbc-essiv:sha256 | HW | 5.5 | 7.3 | |
SW | 5.4 | 8.0 | ||
ARM | 5.9 | 9.6 | * | |
twofish-cbc-essiv:sha256 | SW | 6.5 | 10.70 | * |
aes-xts-plain64 | SW | 5.5 | 8.2 | |
ARM | 6.1 | 9.4 | * | |
twofish-xts-plain64 | SW | 6.6 | 10.90 | * |
twofish-xts-essiv:sha256 | SW | 6.3 | 10.10 | * |
loaded CPU benchmark
Comparison SW & HW with loaded system
stress -v -c 1
Block device | EXT4 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
acc | hdparm | WR | WR S | WR DS | RD | WR | WR S | WR DS | RD | ||||
cbc-plain-128 | HW | 4.71 | 3.9 | 3.6 | 3.8 | 4.9 | 4.1 | 3.2 | 3.4 | 4.9 | |||
SW | 6.13 | 4.4 | 3.9 | 5.3 | 6.5 | 5.0 | 4.0 | 4.0 | 6.4 | ||||
ARM | 6.64 | 4.8 | 4.2 | 5.4 | 7.0 | 5.3 | 4.0 | 4.2 | 7.0 | * | |||
cbc-plain-256 | HW | 4.68 | 3.8 | 3.4 | 3.9 | 4.9 | 4.0 | 3.2 | 3.2 | 4.9 | |||
SW | 4.73 | 3.6 | 3.4 | 4.0 | 5.0 | 4.0 | 3.2 | 3.3 | 5.0 | ||||
ARM | 5.31 | 4.1 | 3.6 | 4.4 | 5.6 | 4.4 | 3.4 | 3.6 | 5.6 |
Twofish cipher
(SW only)
Block device | EXT4 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
key | hdparm | WR | WR S | WR DS | RD | WR | WR S | WR DS | RD | |||
cbc-plain | 128 | 11.80 | 8.4 | 7.4 | 9.5 | 12.4 | 9.6 | 6.0 | 6.1 | 11.5 | ||
cbc-essiv:sha256 | 128 | 11.35 | 8.2 | 7.4 | 8.7 | 11.9 | 9.5 | 6.2 | 6.5 | 11.9 | ||
xts-plain | 128 | 11.61 | 8.4 | 7.4 | 9.4 | 12.2 | 9.5 | 6.2 | 6.6 | 12.3 | ||
xts-essiv:sha256 | 128 | 11.06 | 8.0 | 7.4 | 8.7 | 11.6 | 9.1 | 6.2 | 6.5 | 11.7 | ||
cbc-plain | 256 | 11.82 | 8.4 | 7.4 | 9.5 | 12.4 | 9.7 | 6.5 | 6.6 | 12.4 | ||
cbc-essiv:sha256 | 256 | 11.34 | 8.2 | 7.4 | 8.7 | 11.9 | 9.5 | 6.2 | 6.6 | 12.0 | ||
xts-plain | 256 | 11.64 | 8.4 | 7.4 | 9.4 | 12.2 | 9.6 | 6.2 | 6.6 | 12.3 | ||
xts-essiv:sha256 | 256 | 11.04 | 8.0 | 7.4 | 8.7 | 11.6 | 9.3 | 6.2 | 6.5 | 11.7 |
~~COMPLEX_TABLES~~
Features
- LM-Sensors are working. You can check values using command 'sensors'
- HDD temperature: smartctl -A /dev/sda | awk '/^194/ {print $10}'
- Should be possible to wake NSA310 (powered off by 'halt' command) sending Wake-On-Lan packet to NSA310 'wakeonlan 00:00:00:00:00:30'
Own kernel
here's no need to keep pestering the poor guy over simple config changes. It's easy to build your own kernel; the instructions are right there in the first post. On a debian host you need to add the emdebian repo and install gcc-4.7-arm-linux-gnueabi (or whatever version) and u-boot-tools to build the kernel.
I just built one with device mapper and crypto target support, and threw in netfilter NAT stuff for giggles.
Here it is: http://allurgroceries.com/nsa310/uImage-3.5.7 And the .config: http://allurgroceries.com/nsa310/config-3.5.7_nsa310_allurgroceries
Kernel 3.18
Download lastest Jessie rootfs from: Linux Kernel 3.18 (FDT) and 3.16 (non-FDT) Kirkwood package and rootfs
Or locally: linux-3.18.5-kirkwood-tld-1-bodhi.tar.bz2 debian-3.18.5-kirkwood-tld-1-rootfs-bodhi.tar.bz2
Unpack rootfs to media, can be USB pendrive for now.
cd /mnt/sdd1 tar -xjf Debian-3.18.5-kirkwood-tld-1-rootfs-bodhi.tar.bz2
Inside rootfs, there is /boot directory which contains bootable kernel, initrd and deveice trees. Go to newly unpacked roots directory and create images recognizable by u-boot. If command mkimage is missing, please install u-boot-tools.
Boot without Flattened Device Tree
This method is supported by old (stock) U-BOOT. In this case FDT structure is appended at end of kernel.
cd /boot cp -a zImage-3.18.5-kirkwood-tld-1 zImage.fdt cat dts/kirkwood-nsa310.dtb>> zImage.fdt mkimage -A arm -O linux -T kernel -C none -a 0x00008000 -e 0x00008000 -n Linux-3.18.5-kirkwood-tld-1 -d ./zImage.fdt ./uImage-3.18.5 mkimage -A arm -O linux -T ramdisk -C gzip -a 0x00000000 -e 0x00000000 -n initramfs-3.18.5-kirkwood-tld-1 -d ./initrd.img-3.18.5-kirkwood-tld-1 ./uInitrd-3.18.5
Test if kernel starts correctly from pendrive:
usb start fatload usb 0 0x800000 /boot/uImage-3.18.5 fatload usb 0 0x1100000 /boot/uInitrd-3.18.5 bootm 0x800000 0x1100000
Boot from HDD (separate small /boot partition, so no /boot prefix in filenames):
ide reset ext2load ide 0:3 0x800000 /uImage-3.18.5 ext2load ide 0:3 0x1100000 /uInitrd-3.18.5 bootm 0x800000 0x1100000
Boot with Flattened Device Tree
NOT SUPPORTED BY OLD (default U-BOOT
cd boot mkimage -A arm -O linux -T kernel -C none -a 0x00008000 -e 0x00008000 -n Linux-3.18.5-kirkwood-tld-1 -d ./vmlinuz-3.18.5-kirkwood-tld-1 ./uImage-3.18.5 mkimage -A arm -O linux -T ramdisk -C gzip -a 0x00000000 -e 0x00000000 -n initramfs-3.18.5-kirkwood-tld-1 -d ./initrd.img-3.18.5-kirkwood-tld-1 ./uInitrd-3.18.5
Test if kernel starts correctly from pendrive:
usb start fatload usb 0 0x800000 /boot/uImage fatload usb 0 0x1100000 /boot/uInitrd fatload usb 0 0x1c00000 /boot/dts/kirkwood-nsa310.dtb bootm 0x800000 0x1100000 0x1c00000
Boot from HDD (separate small /boot partition, so no /boot prefix in filenames):
ide reset ext2load ide 0:3 0x800000 /uImage-3.18.5 ext2load ide 0:3 0x1100000 /uInitrd-3.18.5 ext2load ide 0:3 0x1c00000 /dts/kirkwood-nsa310.dtb bootm 0x800000 0x1100000 0x1c00000
Adapt own devie tree file
There are multiple HW versions of NSA310 on market, but only 2 device tree are defined in kernel:
- kirkwood-nsa310.dtb - all LEDs are bicolor (red and green), sensors device 'adt7476' on I2C bus
- kirkwood-nsa310a.dtb - like above but without red USB led, and sensor device 'lm85'
My NSA310 version is like nsa310 but with lm85 :), so I've created kirkwood-nsa310b.dts based on kirkwood-nsa310.dts with LM85 section from kirkwood-nsa310a.dts.
apt-get install emdebian-archive-keyring
Debian Jessie
Above rootfs contains Jessie system for NSA325. To use it with NSA310 some changes are needed.
apt source
Adapt to your country location in /etc/apt/sources.list, and add missing contrib and non-free packages
apt-get update apt-get dist-upgrade apt-get install firmware-realtek fancontrol lm-sensors
RAM disk will be regenerated, so you need to recreate uInitrd-xxx again.
Enable LEDs
Adapt /etc/rc.local to own needs:
if [ -d /sys/class/leds/nsa310:green:sys ]; then echo default-on> /sys/class/leds/nsa310:green:sys/trigger echo none > /sys/class/leds/nsa310:red:sys/trigger fi if [ -d /sys/class/leds/nsa310:green:hdd ]; then echo ide-disk1> /sys/class/leds/nsa310:green:hdd/trigger fi if [ -d /sys/class/leds/nsa310:green:esata ]; then echo ide-disk2> /sys/class/leds/nsa310:green:esata/trigger fi if [ -d /sys/class/leds/nsa310:green:usb ]; then echo usb-host> /sys/class/leds/nsa310\:green\:usb/trigger fi
turn off HDD when idle
- by default busybox-syslogd is installed, with logging to RAM
- mount working dir for samba and dhcp client as tmpfs
- switch Samba to use syslog
- tune system /etc/sysctl.conf
repair /etc/adjtime
add new line at end of /etc/adjtime
uboot-envtools
/etc/fw_env.config
/dev/mtd0 0x100000 0x20000 0x20000 4
TODO
linux-headers-3.2.0-4-kirkwood - Header files for Linux 3.2.0-4-kirkwood linux-image-3.2.0-4-kirkwood - Linux 3.2 for Marvell Kirkwood linux-headers-2.6-kirkwood - Header files for Linux kirkwood configuration (dummy package) linux-headers-kirkwood - Header files for Linux kirkwood configuration (meta-package) linux-image-2.6-kirkwood - Linux for Marvell Kirkwood (dummy package) linux-image-kirkwood - Linux for Marvell Kirkwood (meta-package)