meta data for this page
  •  

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
nsa310:debian [2015/04/01 10:51] – [file copy benchmark] niziakhw:nsa310:debian [2020/11/01 17:23] niziak
Line 1: Line 1:
 +====== Debian ======
 +
 ====== References ====== ====== References ======
 +
 OpenWRT packages: [[http://bartekk.pdg.pl/openwrt/]] OpenWRT packages: [[http://bartekk.pdg.pl/openwrt/]]
  
Line 231: Line 234:
  
 </code> </code>
- 
-====== Encrypted partition ====== 
- 
-<code> 
-apt-get install cryptsetup-bin 
-</code> 
- 
-Enable HW acceleration. Which is a bit slower than software :P 
- 
-<code> 
-modprobe mv_cesa 
-cat /proc/crypto | grep mv_cesa -B 2 -A 7 
-</code> 
- 
-Is providing only: 
-  - hmac(sha1) 
-  - sha1 
-  - cbc(aes) 
-  - ecb(aes) 
- 
-There are also additional kernel modules optimised for ARM:  
-  - sha1_arm 
-  - aes_arm 
- 
- 
-<code> 
-cryptsetup benchmark 
-</code> 
- 
-^  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    | //dd bs=16M count=128// 
-^ WR DS   | //dd bs=16M count=128// 
-^ RD      | //dd bs=16M count=128// 
- 
-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    ^ ^ 
-^cbc-plain64      | HW  |   5.8  |   8.1   | | 
-^                 | SW  |   6.4  |  10.60  | | 
-^                 | ARM |   6.8  |  12.00  |*| 
-^cbc-essiv:sha256 | HW  |   5.4  |   7.1   | | 
-^                 | SW  |   6.3  |  10.3   | | 
-^                 | ARM |   6.6  |  11.1   | | 
-^xts-plain64      | SW  |   6.4  |  10.2   | | 
-^                 | ARM |   7.0  |  12.1   |*| 
-^  256b key                              ^^^^^ 
-^                 ^ acc ^  WR S  ^   RD    ^ ^ 
-^cbc-plain64      | HW  |   5.8  |   8.3   | | 
-^                 | SW  |   5.5  |   8.4   | | 
-^                 | ARM |   5.9  |   9.5   |*| 
-^cbc-essiv:sha256 | HW  |   5.5  |   7.3   | | 
-^                 | SW  |   5.4  |   8.0   | | 
-^                 | ARM |   5.9  |   9.6   |*| 
-^xts-plain64      | SW  |   5.5  |   8.2   | | 
-^                 | ARM |   6.1  |   9.4   |*| 
- 
- 
-===== loaded CPU benchmark ===== 
-Comparison SW & HW with loaded system 
-<code>stress -v -c 1</code> 
-^                      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 ====== ====== Features ======
Line 405: Line 244:
  
 ====== Own kernel ====== ====== 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.+There'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. I just built one with device mapper and crypto target support, and threw in netfilter NAT stuff for giggles.
Line 413: Line 252:
  
  
-==== Kernel 3.18 ====+===== Kernel 3.18 =====
  
 Download lastest Jessie rootfs from: [[http://forum.doozan.com/read.php?2,12096|Linux Kernel 3.18 (FDT) and 3.16 (non-FDT) Kirkwood package and rootfs]] Download lastest Jessie rootfs from: [[http://forum.doozan.com/read.php?2,12096|Linux Kernel 3.18 (FDT) and 3.16 (non-FDT) Kirkwood package and rootfs]]
  
-Or locally: {{:nsa310:linux-3.18.5-kirkwood-tld-1-bodhi.tar.bz2|linux-3.18.5-kirkwood-tld-1-bodhi.tar.bz2}}  {{:nsa310:debian-3.18.5-kirkwood-tld-1-rootfs-bodhi.tar.bz2|debian-3.18.5-kirkwood-tld-1-rootfs-bodhi.tar.bz2}}+Or locally: {{hw:nsa310:linux-3.18.5-kirkwood-tld-1-bodhi.tar.bz2|linux-3.18.5-kirkwood-tld-1-bodhi.tar.bz2}}  {{hw:nsa310:debian-3.18.5-kirkwood-tld-1-rootfs-bodhi.tar.bz2|debian-3.18.5-kirkwood-tld-1-rootfs-bodhi.tar.bz2}}
  
 Unpack rootfs to media, can be USB pendrive for now. Unpack rootfs to media, can be USB pendrive for now.
Line 427: Line 266:
  
 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//. 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 ===+===== 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. This method is supported by old (stock) U-BOOT. In this case FDT structure is appended at end of kernel.
Line 458: Line 297:
 </code> </code>
  
-=== Boot with Flattened Device Tree ===+===== Boot with Flattened Device Tree =====
  
-**NOT SUPPORTED BY OLD (default U-BOOT**+**NOT SUPPORTED BY OLD (default U-BOOT)**
 <code> <code>
 cd boot cd boot
Line 487: Line 326:
 </code> </code>
  
-=== Adapt own devie tree file ===+===== Adapt own devie tree file =====
 There are multiple HW versions of NSA310 on market, but only 2 device tree are defined in kernel: 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-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'   - 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 {{:nsa310:kirkwood-nsa310b.dts|kirkwood-nsa310b.dts}} based on kirkwood-nsa310.dts with LM85 section from kirkwood-nsa310a.dts.+My NSA310 version is like nsa310 but with lm85 :), so I've created {{hw:nsa310:kirkwood-nsa310b.dts|kirkwood-nsa310b.dts}} based on kirkwood-nsa310.dts with LM85 section from kirkwood-nsa310a.dts.
  
 <code> <code>