世界初!NAS4Free 9.3.0.2 on ODROID-C1

2015年の世界初シリーズ!?
まともに起動できるようになりました。
ベースイメージおよびパッチはまだ非公開です。
最終フィックスとクリーンナップが終わるまではパッチ作成しない予定です。

主なハード仕様はこんな感じ:

http://www.hardkernel.com/main/products/prdt_info.php?g_code=G141578608433


Amlogic S805 (Cortex-A5 1.5GHz 4コア/L1 32KB/L2 512KB)
1GB メモリ (初期フレームバッファ 24MB+1MB)
ギガビットイーサネット (USB接続ではないBUS直結のはず)
eMMC HS200/SDR50 MicroSD (SDHCもしくはSDIOを使用)
DWC OTG USB 2.0 (HW rev 3.10a/DOTG_GSNPSID=0x4f54310a)

SMPカーネルの基本性能はこんな感じ:

eMMC 8GB -> R:35.6MB/s W:10.6MB/s (8bit 52MHz/実質 850/17=50MHz)
MicroSD 16GB -> R:34.6MB/s W:9.4MB/s (4bit 100MHz/実質 850/9=94MHz)
iperf3 onboard LAN -> 396Mbps (32k window / E-350 amd64 server)

NAS4Freeによる共有性能はこんな感じ:

SMB share on USB HDD -> R:35MB/s W:3MB/s (USB書き込み遅い・・・)
SMB share on /dev/md0 -> R:37MB/s W:35MB/s (オンメモリ処理はとっても早い)

USBの書込み処理がありえない程遅くてダメだけどそれ以外はRaspberryPiの4~5倍は出ますね。
USB性能については今後調査します。

ダウンロードはこちらから:

http://www.peach.ne.jp/archives/nas4free/test/NAS4Free-oc1-SD-9.3.0.2.1349-20150222.img.gz


2015/2/24更新:

さっそく問題が出たので修正しました(いつもの事だけど…)
前回つかったHDDがNTFSフォーマットだった事を忘れていたので、UFSで再度計測し直しました。
ネットワークは400Mbpsを越える値をたたき出すようになったようです。

ダウンロードはこちらから:

http://www.peach.ne.jp/archives/nas4free/test/NAS4Free-oc1-SD-9.3.0.2.1349-20150224.img.gz

主な変更点:
g_eli_key.c.patchを適用
eMMCから起動して再起動するとMicroSDがタイムアウトする問題を修正
CPUアフィニティーとGICアフィニティーを最適化
EtherとSDHCの割り込み処理をちょっとだけ改良

現在のGIC優先度とCPU割り当て状況:
GIC優先度 / GICアフィニティー / 利用IRQ,割り込みスレッド
0x10 CPU0 TimerF
0x10 CPU1 TimerG (reserved)
0x10 CPU2 TimerH (reserved)
0x10 CPU3 TimerI (reserved)
0x30 CPU0 Other IRQ
0x30 CPU1 SDHC, SDIO
0x30 CPU2 Ether
0x50 CPU3 USB0, USB1

明示的にCPUアフィニティー設定したスレッド(またはタスクキュー):
CPU2 Ether RX/TX (いらないかもしれない・・・)
2015/02/24更新ここまで:

ダウンロードしたらGZIP圧縮されているので解凍して2GB以上のeMMCモジュールかMicroSDカードに書き込みしてください。
あとは起動すればいつものNAS4Freeコンソールメニューが表示されます。
シリアルコンソールでもHDMI出力+USBキーボードのどちらでも操作可能です。

ダミーパーティションの使い方:
2GB以上のモジュール/カードに書き込むと後方が余りますので、ここをデータ領域として使えます。
ただし、起動中のeMMCモジュールやSDカードを変更すると問題が発生することがわかっていますので、必ずUSBカードリーダーに新版を挿して、それを変更します。
作業用の起動は旧版NAS4FreeでもFreeBSDでもかまいません。

da0として認識してる場合は以下のようにします。

# gpart resize -i4 da0
# gpart resize -a4m -i1 da0s4
# newfs -U -j /dev/da0s4a

これで起動したら、「ディスク|マネージメント」から「ディスクインポート」を行い、「ディスク|マウントポイント|マネージメント」から「パーティションタイプ → MBR」「パーティション番号 → 4」でマウントできます。

↓USB接続のHDDとメモリディスクでベンチマーク
20150221A
(クリックで拡大)
20150221B
(クリックで拡大)
↓4コアの性能は結構すごい!?
20150222B
(クリックで拡大)

現時点のドライバによる制限:
eMMCとMicroSDが同一のコントローラを利用してGPIOピンを共有するので双方にまたがるアクセスをすると、ピンアサインとバス幅・周波数等レジスタ設定を各MMCコマンド毎に切り替えるためと排他制御のため速度が著しく低下します。
本来別のコントローラと別ドライバを割り当てるべき。<Linuxはもちろんそうなってます…
↓速度低下するコマンドの例:

# dd if=NAS4Free-oc1-SD-9.3.0.2.1349.img of=/dev/mmcsd1 bs=16k
92160+0 records in
92160+0 records out
1509949440 bytes transferred in 665.589181 secs (2268591 bytes/sec)

2015/2/24更新:
↓UFSフォーマットのUSB接続HDDでベンチマーク
20150224A

詳細結果はここ:

# iperf3 -c 172.18.0.135 -w32k
Connecting to host 172.18.0.135, port 5201
[  4] local 172.18.0.136 port 27797 connected to 172.18.0.135 port 5201
[ ID] Interval           Transfer     Bandwidth
[  4]   0.00-1.00   sec  47.6 MBytes   400 Mbits/sec
[  4]   1.00-2.00   sec  47.7 MBytes   400 Mbits/sec
[  4]   2.00-3.00   sec  47.9 MBytes   402 Mbits/sec
[  4]   3.00-4.00   sec  47.7 MBytes   401 Mbits/sec
[  4]   4.00-5.00   sec  48.2 MBytes   404 Mbits/sec
[  4]   5.00-6.00   sec  48.0 MBytes   403 Mbits/sec
[  4]   6.00-7.00   sec  48.1 MBytes   403 Mbits/sec
[  4]   7.00-8.00   sec  48.0 MBytes   403 Mbits/sec
[  4]   8.00-9.00   sec  48.0 MBytes   403 Mbits/sec
[  4]   9.00-10.00  sec  48.0 MBytes   402 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth
[  4]   0.00-10.00  sec   479 MBytes   402 Mbits/sec                  sender
[  4]   0.00-10.00  sec   479 MBytes   402 Mbits/sec                  receiver

-----------------------------------------------------------------------
CrystalDiskMark 3.0.2 Shizuku Edition x64 (C) 2007-2012 hiyohiyo
                           Crystal Dew World : http://crystalmark.info/
-----------------------------------------------------------------------
* MB/s = 1,000,000 byte/s [SATA/300 = 300,000,000 byte/s]

           Sequential Read :    22.709 MB/s
          Sequential Write :     5.817 MB/s
         Random Read 512KB :    21.654 MB/s
        Random Write 512KB :     5.287 MB/s
    Random Read 4KB (QD=1) :     2.852 MB/s [   696.3 IOPS]
   Random Write 4KB (QD=1) :     1.085 MB/s [   264.9 IOPS]
   Random Read 4KB (QD=32) :     2.674 MB/s [   652.7 IOPS]
  Random Write 4KB (QD=32) :     0.924 MB/s [   225.6 IOPS]

  Test : 100 MB [Z: 9.2% (41.4/451.1 GB)] (x5)
  Date : 2015/02/24 9:03:38
    OS : Windows 7 Ultimate Edition SP1 [6.1 Build 7601] (x64)
    NAS4Free/OC1 1512MHz w/TOSHIBA MK5065GSX

2015/02/24更新ここまで:

詳細結果はここ:

# dd if=/dev/mmcsd0 of=/dev/null bs=1m count=16
16+0 records in
16+0 records out
16777216 bytes transferred in 0.483878 secs (34672409 bytes/sec)

# dd if=/dev/zero of=/dev/mmcsd0s2b bs=1m count=16
16+0 records in
16+0 records out
16777216 bytes transferred in 1.769085 secs (9483556 bytes/sec)

# dd if=/dev/mmcsd1 of=/dev/null bs=1m count=16
16+0 records in
16+0 records out
16777216 bytes transferred in 0.470816 secs (35634337 bytes/sec)

# dd if=/dev/zero of=/dev/mmcsd1s2b bs=1m count=16
16+0 records in
16+0 records out
16777216 bytes transferred in 1.579612 secs (10621099 bytes/sec)

# iperf3 -c 172.18.0.135 -w 32k
Connecting to host 172.18.0.135, port 5201
[  4] local 172.18.0.136 port 11405 connected to 172.18.0.135 port 5201
[ ID] Interval           Transfer     Bandwidth
[  4]   0.00-1.00   sec  47.4 MBytes   397 Mbits/sec
[  4]   1.00-2.00   sec  47.6 MBytes   399 Mbits/sec
[  4]   2.00-3.00   sec  47.7 MBytes   400 Mbits/sec
[  4]   3.00-4.00   sec  47.6 MBytes   399 Mbits/sec
[  4]   4.00-5.00   sec  45.2 MBytes   379 Mbits/sec
[  4]   5.00-6.00   sec  46.6 MBytes   391 Mbits/sec
[  4]   6.00-7.00   sec  47.3 MBytes   397 Mbits/sec
[  4]   7.00-8.00   sec  47.4 MBytes   398 Mbits/sec
[  4]   8.00-9.00   sec  48.2 MBytes   404 Mbits/sec
[  4]   9.00-10.00  sec  47.5 MBytes   398 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth
[  4]   0.00-10.00  sec   472 MBytes   396 Mbits/sec                  sender
[  4]   0.00-10.00  sec   472 MBytes   396 Mbits/sec                  receiver

-----------------------------------------------------------------------
CrystalDiskMark 3.0.2 Shizuku Edition x64 (C) 2007-2012 hiyohiyo
                           Crystal Dew World : http://crystalmark.info/
-----------------------------------------------------------------------
* MB/s = 1,000,000 byte/s [SATA/300 = 300,000,000 byte/s]

           Sequential Read :    35.816 MB/s
          Sequential Write :     3.125 MB/s
         Random Read 512KB :    36.367 MB/s
        Random Write 512KB :     2.443 MB/s
    Random Read 4KB (QD=1) :     6.309 MB/s [  1540.2 IOPS]
   Random Write 4KB (QD=1) :     0.062 MB/s [    15.2 IOPS]
   Random Read 4KB (QD=32) :     6.622 MB/s [  1616.7 IOPS]
  Random Write 4KB (QD=32) :     0.067 MB/s [    16.4 IOPS]

  Test : 100 MB [Z: 3.8% (11.3/298.1 GB)] (x5)
  Date : 2015/02/21 16:57:25
    OS : Windows 7 Ultimate Edition SP1 [6.1 Build 7601] (x64)
    USB HDD

-----------------------------------------------------------------------
CrystalDiskMark 3.0.2 Shizuku Edition x64 (C) 2007-2012 hiyohiyo
                           Crystal Dew World : http://crystalmark.info/
-----------------------------------------------------------------------
* MB/s = 1,000,000 byte/s [SATA/300 = 300,000,000 byte/s]

           Sequential Read :    37.418 MB/s
          Sequential Write :    35.369 MB/s
         Random Read 512KB :    37.112 MB/s
        Random Write 512KB :    35.103 MB/s
    Random Read 4KB (QD=1) :     5.964 MB/s [  1456.0 IOPS]
   Random Write 4KB (QD=1) :     4.473 MB/s [  1092.1 IOPS]
   Random Read 4KB (QD=32) :     6.638 MB/s [  1620.5 IOPS]
  Random Write 4KB (QD=32) :     5.085 MB/s [  1241.4 IOPS]

  Test : 100 MB [V: 8.0% (19.8/247.5 MB)] (x5)
  Date : 2015/02/21 18:25:16
    OS : Windows 7 Ultimate Edition SP1 [6.1 Build 7601] (x64)
    /dev/md0 on ODROID-C1

参考用 /var/run/dmesg.boot:

KDB: debugger backends: ddb
KDB: current backend: ddb
Copyright (c) 1992-2015 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
	The Regents of the University of California. All rights reserved.
FreeBSD is a registered trademark of The FreeBSD Foundation.
FreeBSD 11.0-CURRENT #26 r278759M: Sat Feb 21 22:14:07 JST 2015
    aoyama@fbs11.local:/usr/local/src/crochet-freebsd/work/obj/arm.armv6/usr/src/sys/ODROIDC1-test1 arm
FreeBSD clang version 3.5.1 (tags/RELEASE_351/final 225668) 20150115
VT: init without driver.
Preloaded elf kernel "/boot/kernel/kernel" at 0xc0778000.
Preloaded elf module "/boot/kernel/if_axe.ko" at 0xc0778754.
module axe already present!
CPU: Cortex A5 rev 1 (Cortex-A core)
 Supported features: ARM_ISA THUMB2 JAZELLE THUMBEE ARMv4 Security_Ext
 WB disabled EABT branch prediction enabled
LoUU:2 LoC:2 LoUIS:2 
Cache level 1: 
 32KB/32B 4-way data cache WB Read-Alloc Write-Alloc
 32KB/32B 2-way instruction cache Read-Alloc
real memory  = 1073737728 (1023 MB)
avail memory = 1013493760 (966 MB)
Physical memory chunk(s):
  0x00001000 - 0x3fffffff,  1023 MB ( 262143 pages)
Excluded memory regions:
  0x06000000 - 0x079fffff,    26 MB (   6656 pages) NoAlloc NoDump
  0x10000000 - 0x108b2fff,     8 MB (   2227 pages) NoAlloc 
Static device mappings:
  0xc8100000 - 0xc81fffff mapped at VA 0xffe00000
  0xd0000000 - 0xd01fffff mapped at VA 0xffc00000
  0xc1300000 - 0xc13fffff mapped at VA 0xffb00000
  0xc1100000 - 0xc12fffff mapped at VA 0xff900000
  0xc4200000 - 0xc42fffff mapped at VA 0xff800000
  0xc4300000 - 0xc43fffff mapped at VA 0xff700000
  0xc8000000 - 0xc80fffff mapped at VA 0xff600000
  0xc9000000 - 0xc90fffff mapped at VA 0xff500000
  0xc9400000 - 0xc94fffff mapped at VA 0xff400000
  0xd9000000 - 0xd90fffff mapped at VA 0xff300000
  0xda000000 - 0xda0fffff mapped at VA 0xff200000
  0xcc000000 - 0xcfffffff mapped at VA 0xfb200000
  0x06000000 - 0x060fffff mapped at VA 0xfb100000
  0x06100000 - 0x078fffff mapped at VA 0xf9900000
  0x07900000 - 0x079fffff mapped at VA 0xf9800000
FreeBSD/SMP: Multiprocessor System Detected: 4 CPUs
ULE: setup cpu 0
ULE: setup cpu 1
ULE: setup cpu 2
ULE: setup cpu 3
random: entropy device infrastructure driver
random: selecting highest priority adaptor <Dummy>
null: <full device, null device, zero device>
openfirm: <Open Firmware control device>
kbd0 at kbdmux0
random: SOFT: yarrow init()
random: selecting highest priority adaptor <Yarrow>
nfslock: pseudo-device
mem: <memory>
ofwbus0: <Open Firmware Device Tree>
simplebus0: <Flattened device tree simple bus> on ofwbus0
l2cache0: <PL310 L2 cache controller> mem 0xc4200000-0xc4200fff on simplebus0
simplebus0: no default resources for rid = 0, type = 1
l2cache0: Part number: 0x3, release: 0x9
l2cache0: L2 Cache enabled: 512KB/32B 8 ways
l2cache0: Early BRESP response: enabled
l2cache0: Instruction prefetch: enabled
l2cache0: Data prefetch: enabled
l2cache0: Non-secure interrupt control: enabled
l2cache0: Non-secure lockdown: enabled
l2cache0: Share override: enabled
l2cache0: Double linefill: enabled
l2cache0: Instruction prefetch: enabled
l2cache0: Data prefetch: enabled
l2cache0: Double linefill on WRAP request: disabled
l2cache0: Prefetch drop: enabled
l2cache0: Incr double Linefill: disabled
l2cache0: Not same ID on exclusive sequence: disabled
l2cache0: Prefetch offset: 7
gic0: <ARM Generic Interrupt Controller> mem 0xc4301000-0xc4301fff,0xc4300100-0xc43001ff on simplebus0
gic0: pn 0x390, arch 0x1, rev 0x1, implementer 0x43b irqs 256
m8b_timer0: <Meson8B Timer> irq 92,93,94,95 on simplebus0
Timecounter "Meson8B Timer E" frequency 1000000 Hz quality 1000
Event timer "Meson8B Event Timer" frequency 100000 Hz quality 900
cpulist0: <Open Firmware CPU Group> on ofwbus0
cpu0: <Open Firmware CPU> on cpulist0
m8b_cpufreq0: <CPU Frequency Control> on cpu0
cpu1: <Open Firmware CPU> on cpulist0
m8b_cpufreq1: <CPU Frequency Control> on cpu1
device_attach: m8b_cpufreq1 attach returned 6
cpu2: <Open Firmware CPU> on cpulist0
m8b_cpufreq2: <CPU Frequency Control> on cpu2
device_attach: m8b_cpufreq2 attach returned 6
cpu3: <Open Firmware CPU> on cpulist0
m8b_cpufreq3: <CPU Frequency Control> on cpu3
device_attach: m8b_cpufreq3 attach returned 6
fb0: <Meson8B Framebuffer> on ofwbus0
fbd0 on fb0
VT: initialize with new VT driver "fb".
gpio0: <Meson8B GPIO controller> on simplebus0
gpioc0: <GPIO controller> on gpio0
gpiobus0: <GPIO bus> on gpio0
uart0: <Meson8B UART> mem 0xc81004c0-0xc81004d3 irq 122 on simplebus0
uart0: console (115200,n,8,1)
uart0: fast interrupt
m8b_wdog0: <Meson8B Watchdog Timer> on simplebus0
simplebus0: <sdio> mem 0xc1108c20-0xc1108c3f irq 60 compat amlogic,aml_sdio (no driver attached)
m8b_sdhc0: <Meson8B SDHC> mem 0xc1108e00-0xc1108e3b irq 110 on simplebus0
m8b_sdhc0-port4: 100MHz 4bits SDR50 1.8V HS 3.3V DMA
m8b_sdhc0-port4: ============== REGISTER DUMP ==============
m8b_sdhc0-port4: Argument: 0x00000000 | Send:     0x00000000
m8b_sdhc0-port4: Control:  0x00880000 | Status:   0x00000000
m8b_sdhc0-port4: Clock ctl:0x00000000 | Address:  0x00000000
m8b_sdhc0-port4: PDMA:     0x04081ce0 | Misc:     0x80000150
m8b_sdhc0-port4: Data:     0x6d4102c9 | Int ctl:  0x00000000
m8b_sdhc0-port4: Int stat: 0x00004000 | SW reset: 0x00000000
m8b_sdhc0-port4: Esta:     0x00000000 | Enhc:     0x00f10c0c
m8b_sdhc0-port4: Clock2:   0x00000000 |
m8b_sdhc0-port4: ===========================================
m8b_sdhc0-port5: 150MHz 8bits 4bits HS 3.3V DMA
m8b_sdhc0-port5: ============== REGISTER DUMP ==============
m8b_sdhc0-port5: Argument: 0x00000000 | Send:     0x00000000
m8b_sdhc0-port5: Control:  0xe7ffe000 | Status:   0x00000000
m8b_sdhc0-port5: Clock ctl:0x00000000 | Address:  0x00000000
m8b_sdhc0-port5: PDMA:     0x0c43bcf0 | Misc:     0xe0000150
m8b_sdhc0-port5: Data:     0xf4e210aa | Int ctl:  0x00000000
m8b_sdhc0-port5: Int stat: 0x00004000 | SW reset: 0x00000000
m8b_sdhc0-port5: Esta:     0x00000000 | Enhc:     0x00fe0cff
m8b_sdhc0-port5: Clock2:   0x00000000 |
m8b_sdhc0-port5: ===========================================
amle0: <Meson8B Ether> mem 0xc9410000-0xc941ffff irq 40 on simplebus0
amle0: bpf attached
amle0: Ethernet address: 00:1e:06:a3:7e:b8
amle0: Link is up 1000 Mbps Full duplex
dwcotg0: <DWC OTG 2.0 integrated USB controller> mem 0xc90c0000-0xc90fffff irq 63 on simplebus0
usbus0 on dwcotg0
dwcotg0: usbpf: Attached
simplebus0: <usb_a> mem 0xc9040000-0xc907ffff irq 62 disabled compat synopsys,designware-hs-otg2 (no driver attached)
procfs registered
Timecounters tick every 10.000 msec
tcp_init: net.inet.tcp.tcbhashsize auto tuned to 8192
lo0: bpf attached
m8b_cpufreq0: current ARM 1512MHz
m8b_cpufreq0: max/min ARM 1512/700MHz
usbus0: 480Mbps High Speed USB v2.0
ugen0.1: <DWCOTG> at usbus0
uhub0: <DWCOTG OTG Root HUB, class 9/0, rev 2.00/1.00, addr 1> on usbus0
uhub0: 1 port with 1 removable, self powered
mmc0: <MMC/SD bus> on m8b_sdhc0
mmc1: <MMC/SD bus> on m8b_sdhc0
mmc0: Probing bus
mmc0: SD 2.0 interface conditions: OK
mmc0: SD probe: OK (OCR: 0x00ff8000)
mmc0: Current OCR: 0x00ff8000
mmc0: OCR: 0xc1ff8000
mmc0: start UHS-I voltage switching
m8b_sdhc0-port4: switched to 1.8V signaling
mmc0: Probing cards
mmc0: New card detected (CID 02544d534431364789d436994a00d841)
mmc0: New card detected (CSD 400e00325b59000075bf7f800a400093)
mmc0: Card at relative address 0xef20 added:
mmc0:  card: SDHC SD16G 8.9 SN D436994A MFG 08/2013 by 2 TM
mmc0:  bus: 4bit, 100MHz
mmc0:  memory: 30867456 blocks, erase sector 128 blocks
mmc0: setting transfer rate to 100.000MHz (SDR50 timing)
mmcsd0: 16GB <SDHC SD16G 8.9 SN D436994A MFG 08/2013 by 2 TM> at mmc0 100.0MHz/4bit/255-block
GEOM: new disk mmcsd0
mmc1: MMC probe: OK (OCR: 0x00ff8080)
mmc1: Current OCR: 0x00ff8080
mmc1: OCR: 0xc0ff8080
mmc1: Probing cards
mmc1: New card detected (CID 11010030303847393251618ba394b143)
mmc1: New card detected (CSD d00e00320f5903ffffffffef92400045)
mmc1: Card at relative address 0x0002 added:
mmc1:  card: MMCHC 008G92 5.1 SN 618BA394 MFG 11/1998 by 17 0x0000
mmc1:  bus: 8bit, 52MHz, high speed timing
mmc1:  memory: 15269888 blocks, erase sector 8192 blocks
mmc1: setting transfer rate to 52.000MHz (high speed timing)
mmcsd1: 8GB <MMCHC 008G92 5.1 SN 618BA394 MFG 11/1998 by 17 0x0000> at mmc1 52.0MHz/8bit/255-block
random: unblocking device.
Release APs
mmc0: setting bus width to 4 bits
GEOM: new disk mmcsd1
mmc1: setting bus width to 8 bits
GEOM_PART: partition 1 is not aligned on 4194304 bytes
GEOM_PART: partition 2 is not aligned on 4194304 bytes
GEOM_PART: partition 3 is not aligned on 4194304 bytes
GEOM_PART: partition 4 is not aligned on 4194304 bytes
GEOM_PART: partition 1 is not aligned on 4194304 bytes
GEOM_PART: partition 2 is not aligned on 4194304 bytes
GEOM_PART: partition 3 is not aligned on 4194304 bytes
GEOM_PART: partition 4 is not aligned on 4194304 bytes
Trying to mount root from ufs:/dev/mmcsd0s3a [rw,noatime]...
warning: no time-of-day clock registered, system time will not be set accurately
start_init: trying /sbin/init
ugen0.2: <vendor 0x05e3> at usbus0
uhub1: <vendor 0x05e3 USB2.0 Hub, class 9/0, rev 2.00/32.98, addr 2> on usbus0
uhub1: MTT enabled
uhub1: 4 ports with 4 removable, self powered
umass0: <vendor 0x13fe USB Carder, class 0/0, rev 2.00/1.10, addr 3> on usbus0
umass0:  SCSI over Bulk-Only; quirks = 0x4000
umass0:0:0: Attached to scbus0
.
(probe0:umass-sim0:0:0:0): Down reving Protocol Version from 2 to 0?
GEOM: new disk pdaas0s0
 at umass-sim0 bus 0 scbus0 target 0 lun 0
pass0: < USB Reader 0001> Removable Direct Access SCSI-0 device 
pass0: Serial Number 123456789ABC
pass0: 40.000MB/s transfers
da0 at umass-sim0 bus 0 scbus0 target 0 lun 0
da0: < USB Reader 0001> Removable Direct Access SCSI-0 device 
da0: Serial Number 123456789ABC
da0: 40.000MB/s transfers
da0: 1882MB (3854336 512 byte sectors: 255H 63S/T 239C)
da0: quirks=0x2<NO_6_BYTE>
da0: Delete methods: <NONE(*)>
(da0:umass-sim0:0:0:0): PREVENT ALLOW MEDIUM REMOVAL not supported.

世界初!NAS4Free 9.3.0.2 on Raspberry Pi

やっと起動できるようになりました。
ベースイメージとして先日公開した

http://www.peach.ne.jp/archives/rpi/FreeBSD-armv6-11.0-RPI-B-test21-r275967-20141223.img.gz


2015/1/24更新:
最新イメージはこちらをベースにしています。

http://www.peach.ne.jp/archives/rpi/FreeBSD-armv6-11.0-RPI-B-test22-r277169-20150114.img.gz


2015/1/24更新ここまで:

およびpkgを使っています。NAS4FreeはSVN r1214をベースにカスタマイズしたバージョンです。
修正が落ち着いたら本家ツリーにコミットする予定です。

現在は起動時の速度的な問題からLZ4HCではなくLZ4をデフォルトで/usr/localに使うようになっています。

ダウンロードはこちらから:

http://www.peach.ne.jp/archives/nas4free/test/NAS4Free-rpi-SD-9.3.0.2.1214-20141226.img.gz


2014/12/30更新:
ports/firefly (iTunes/DAAP)の作成に成功しました。
調査中ですが ports/fuppes (DLNA/UPnP) はちょっと難しそうなので現時点のバイナリをアップします。
今回からファームウェア更新は既存パーティションを壊さない方法に変更してみました<rpiのみ
また最後尾に64MBのダミーパーティションを作成するようになりました。

ダウンロードはこちらから:
http://www.peach.ne.jp/archives/nas4free/test/NAS4Free-rpi-SD-9.3.0.2.1254-20141230.img.gz

変更点:
iTunes/DAAPサービスを追加
ファームウェア更新方法を変更
パーティションレイアウトの変更
USBデバイスの認識がされない問題を修正
2014/12/30更新ここまで:

2015/01/08更新:
ports/fuppes (DLNA/UPnP)の作成に成功しました。
前回つけたダミーパーティションですが64MBも割り当てる必要がなかったので、システム領域を256MB->320MBに変更してダミーを10MBとしました。
これが最終レイアウトになるはず?次回からアップデート用のイメージも配布する予定です。

今回は以下のclang3.5をベースとして利用しています。

http://www.peach.ne.jp/archives/rpi/FreeBSD-armv6-11.0-RPI-B-test22-r276645-20150104.img.gz

次回はさらにベースを更新する予定(まだ未作成だけど・・・)

ダウンロードはこちらから:

http://www.peach.ne.jp/archives/nas4free/test/NAS4Free-rpi-SD-9.3.0.2.1291-20150108.img.gz

変更点:
DLNA/UPnPサービスを追加
ダミーパーティションを64MB->10MBに変更
システム領域を256MB->320MBに変更
smartctl などがクラッシュする問題の修正

2015/01/11更新:
HSモードで起動しない問題の回避パッチを作りました。
これによりデフォルトをHSモード有効に変更しました。
手持ちのカードではすべて50MHzで起動できました。
50MHzなら良カードで22MB/s、ダメカードなClass10でも18MB/sぐらいの読み込みが期待できます。

ダウンロードはこちらから:

http://www.peach.ne.jp/archives/nas4free/test/NAS4Free-rpi-SD-9.3.0.2.1295-20150111.img.gz

1291からのアップグレード用:

http://www.peach.ne.jp/archives/nas4free/test/NAS4Free-rpi-embedded-9.3.0.2.1295-20150111.img.xz


アップグレード用はダウンロード後、展開せずにファームウェアイメージファイルで選択してください。
メモリの使用状況にもよりますが10分程度待っていれば更新して再起動してくると思います。

特に指定はしていませんが NAS4Free on RPi は Model A と Model B どちらもで動きます。
ファームウェアアップグレードもどちらでも動くように作ってあります。
ただし、256MBだとスワップが不足してアップロード自体が失敗するかもしれません。
その場合は一度再起動してスワップ領域をあけて再度アップグレードしてください。
(いわゆる仕様です…)

変更点:
HSモードでの認識不良を回避するパッチを適用
HSモードをデフォルトで有効に変更
ACT LEDの制御方法の変更

2015/1/18更新:
Netatalk 3.1.7 搭載バージョンです。
ベースイメージをu-boot2015.01搭載のFreeBSD-armv6-11.0-RPI-B-test22-r277169-20150114.img.gzに変更しました。
アップグレード用ではブート部分は更新されないので気になる人は再インストールをどうぞ。
NAS4Free的にはブート部分はあまり関係ないですが…。

ダウンロードはこちらから:

http://www.peach.ne.jp/archives/nas4free/test/NAS4Free-rpi-SD-9.3.0.2.1300-20150116.img.gz

1291以降のアップグレード用:

http://www.peach.ne.jp/archives/nas4free/test/NAS4Free-rpi-embedded-9.3.0.2.1300-20150116.img.xz


変更点:
FreeBSD-armv6-11.0-RPI-B-test22-r277169-20150114.img.gz ベースに変更
Netatalk 2.2.5 -> 3.1.7 に変更
samba の共有設定変更はリロード処理に変更

2015/1/24更新:
最終テストアップ版(予定)です。
少し前に話題になった mount_smbfs を同梱しています。
また、NAS4Freeに無線LAN関係を追加したのでそれらも使えるようになっています。
ただし、FreeBSDの無線ドライバはあまり安定していないようですが・・・。
こちらでは WPA-PSK (WPA2-PSK/AES) しかテストしていないのそれ以外はまともに動かないかもしれない。

ダウンロードはこちらから:

http://www.peach.ne.jp/archives/nas4free/test/NAS4Free-rpi-SD-9.3.0.2.1340-20150124.img.gz


1291以降のアップグレード用:

http://www.peach.ne.jp/archives/nas4free/test/NAS4Free-rpi-embedded-9.3.0.2.1340-20150124.img.xz

主な変更点:
samba 4.1.16 にアップグレード
iperf3 3.0.11 にアップグレード
mount_smbfs を同梱
無線LAN関係の処理を追加(APモード親機、子機どちらも利用可能)
2015/01/24更新ここまで:

2014/12/30更新:
ダミーパーティションの使い方:
2GB以上のカードに書き込むと後方が余りますので、ここをデータ領域として使えます。
ただし、起動中のSDカードを変更すると問題が発生することがわかっていますので、必ずUSBカードリーダーに新版を挿して、それを変更します。
作業用の起動は旧版NAS4FreeでもFreeBSDでもかまいません。

da0として認識してる場合は以下のようにします。

# gpart resize -i4 da0
# gpart resize -a4m -i1 da0s4
# newfs -U -j /dev/da0s4a

これで起動したら、「ディスク|マネージメント」から「ディスクインポート」を行い、「ディスク|マウントポイント|マネージメント」から「パーティションタイプ → MBR」「パーティション番号 → 4」でマウントできます。
2014/12/30更新ここまで:

ダウンロードしたらGZIP圧縮されているので解凍して1GB以上のSDカードに書き込みしてください。
あとは起動すればいつものNAS4Freeコンソールメニューが表示されます。
シリアルコンソールでもHDMI出力+USBキーボードのどちらでも操作可能です。

現時点でビルド不能により以下の機能がありません。
ports/firefly (iTunes/DAAP)9.3.0.2.1254 より対応
ports/fuppes (DLNA/UPnP)9.3.0.2.1291 より対応

ハード依存のため以下のportsの対応予定はありません。
arcconf
tw_cli
isboot
open-vm-tools
vbox-additions
vmxnet3

↓実際に900MHzにクロックアップしたModelBにUSB接続で2.5インチ500GBのHDDを接続してテストするとこんな感じに。
20141224
(クリックで拡大)


-----------------------------------------------------------------------
CrystalDiskMark 3.0.2 Shizuku Edition x64 (C) 2007-2012 hiyohiyo
                           Crystal Dew World : http://crystalmark.info/
-----------------------------------------------------------------------
* MB/s = 1,000,000 byte/s [SATA/300 = 300,000,000 byte/s]

           Sequential Read :     4.543 MB/s
          Sequential Write :     3.855 MB/s
         Random Read 512KB :     4.372 MB/s
        Random Write 512KB :     3.707 MB/s
    Random Read 4KB (QD=1) :     0.481 MB/s [   117.5 IOPS]
   Random Write 4KB (QD=1) :     0.603 MB/s [   147.2 IOPS]
   Random Read 4KB (QD=32) :     0.710 MB/s [   173.3 IOPS]
  Random Write 4KB (QD=32) :     0.564 MB/s [   137.8 IOPS]

  Test : 100 MB [R: 8.9% (40.1/451.1 GB)] (x5)
  Date : 2014/12/24 1:19:18
    OS : Windows 7 Ultimate Edition SP1 [6.1 Build 7601] (x64)
    NAS4Free/RPi 900MHz w/TOSHIBA MK5065GSX

↓Raspberry Pi Model Bの共有から1280×720のmp4動画を再生しているとこんな感じに
20141226B
(クリックで拡大)

↓興味本位でModel Aで起動して1GB分のファイルをWin7から書き込みした状態
以外と動くものですね・・・遅いけど!
20141226A
(クリックで拡大)

256MBのモデルAでもスワップ86MBしか使わないところを見ると、512MBのモデルBならキャッシュする余裕はありそうですね。

(少なくともFreeBSD的には)世界初になるLZ4等複数圧縮対応メモリディスク(/dev/xmd)を搭載したNAS4Free 9.3.0.2.1190がリリースされました

2014/12/21追加:
DHCPの設定によっては正しく動かない問題などがありましたので修正されたバージョン1213がリリースされました。
https://sourceforge.net/projects/nas4free/files/NAS4Free-9.3.0.2/9.3.0.2.1213/
2014/12/21追加ここまで:

ChromeでのUI系の不満を解消するべくメインブラウザをChormeにしているので他ブラウザーでは問題があるかも。
今回のアップデートでは、

インストール先に2GBを想定した各種サイズの拡張
FreeBSD 9.3系をベースに使用
Samba 4.1系および SMB3 をデフォルトに使用
LiveUSBなどにデフォルトスワップ領域を常時設置(ユーザが設定追加するまでのつなぎ)
圧縮機能付きのメモリディスク(geom_xmd.ko)を採用
メモリ512MB搭載マシンでの動作を保証(LiveCDモードを除く)

になったのが大きな変更です。

マイナー系では

メモリ2GB未満のマシンに対するLiveCDモードの廃止
(以後はインストールとアップグレードのみ対応/LiveUSBおよびインストール後は引き続き動作保証)
xzを使った高圧縮を全面的に採用
net.inet.carp.preempt使用時のHAST処理の改善
HASTボリュームのインポート処理改善
HASTボリューム上のNFSサービスのサポート
ZFSにおけるログデバイスの追加削除
HTTPSにおけるSSLv3の廃止
2048ビットキーおよびSHA256ハッシュを使った自己証明書の添付
WebGUIの許可ホストを追加
Windows Server 2012 R2での動作確認済みのistgt-20141125を搭載

などです。
ダウンロードはこちらから:

http://sourceforge.net/projects/nas4free/files/NAS4Free-9.3.0.2/9.3.0.2.1190/

今回のNAS4Freeには、実験的なメモリディスク(geom_xmd.ko)および制御コマンド(/sbin/xmdconfig)を搭載しています。
また xmdの圧縮機能使用を前提として mfsroot を /usr/local とそれ以外に分離。
もちろんxmdなんてなくても動作するけど…消費メモリは激しいです。

主な機能としては、

1. swap_pagerを使った動的な可変サイズメモリ確保/解放(ゼロフィル等の同値やTRIMにも対応)
2. リアルタイムのブロックレベル圧縮機能
3. 複数の圧縮方式や圧縮レベルに対応(無圧縮, LZ4/LZ4HC, ZLIB, LZMA2)
4. 圧縮方法はセグメント単位で独立なのでいつでも xmdconfig から変更可能
5. mkuzip(8) や mkulzma(8) による事前圧縮済みの mfsroot に対応
6. mdconfig(8) と同等のインターフェースを用意

実際に512MBの仮想マシン中で使うとこんな感じに(表示上の空きメモリは150~250MB程度)

20141213b
(クリックで拡大)

全体として1GBのメモリディスクを作成して約330MBを利用している画像です。
768MBのディスクが、157085696バイトのスワップメモリ割り当て。(805306368バイト中19%を割り当て済み)
UFSレベルでは302MB使用しているが、生データは137288660の圧縮データとして保持中。
カレントの圧縮方式はLZ4、圧縮レベルは6を指定済み。(LZ4ではレベル4以上はLZ4HCを使うので実際はLZ4HC)
圧縮方式とレベルはもちろん /sbin/xmdconfig でいつでも変更可能です。

xmdconfigによるオペレーション例:

Using -a and -d option is same as mdconfig:
    # xmdconfig -a -s 256m
    # xmdconfig -d -u 3

Change to fastest LZ4 compression
    # xmdconfig -m -u 0 -t lz4 -c 1

Change to LZMA compression with level6
    # xmdconfig -m -u 1 -t lzma -c 6

Change to ZLIB compression
    # xmdconfig -m -u 2 -t zlib

List the disks with verbose
    # xmdconfig -l -v
    xmd0    preload    128M lz4     1        12% (16528790/16608053/134217728)
    xmd1    swap       768M lzma    6         9% (62249776/74780672/805306368)
    xmd2    swap       128M zlib    1         6% (56211/266240/4128768)

なお、ソースファイルの用意が間に合っていないので、まずは9.3用のバイナリ形式のみを提供:
xmd-0.3.2.tar.gz (binary)

istgt (iSCSI target) 20141125版 for openSUSE/Debian/NetBSD/FreeBSD および isboot (iSCSI boot driver) version 0.2.8 と統合デモ版のFreeBSD 9.3/10.0

Raspberry Piの作業が全然進んでないので逃避というわけではないけど・・・

NAS4Free 9.3.X.Xの改版に伴うテスト作業を実行するために、
Windows Server 2012 R2 での動作を検証して動かない部分を直しました。
主に複数イニシエータ使用が前提の修正です。
NAS4FreeのSVNにはコミット済みなので次のリリースから適用されます。

istgt (tarball): istgt-20141125.tar.gz

作成方法:

# cd /path/to/work
# tar zxf /path/to/istgt-20141125.tar.gz
# cd istgt-20141125
# ./configure
# make
# make install
# make install-doc

作成方法(仮想ディスク機能付き):

# cd /path/to/work
# tar zxf /path/to/istgt-20141125.tar.gz
# cd istgt-20141125
# ./configure --with-vbox
or
# ./configure --with-vbox=/path/to/VirtualBox-4.X.X/include
# make
# make install
# make install-doc

MD5 (istgt-20141125.tar.gz) = 95dc647d7bf69f10bb6b09ae9d63f0c5
SHA256 (istgt-20141125.tar.gz) = 8fa4120091ce9be694b5d2ff3d6d188386bec4921a3d0a837b6860ea3fdc79bf

主な修正点:
複数イニシエータから登録されたキーを正しくコピーできていなかった問題を修正。
各ターゲット毎に3接続以上(または3台以上のイニシエータ)から接続した場合にRESERVE/RELEASEが期待通り動かない問題を修正。

また、FreeBSD8/9/10に対応したブートドライバも更新しました。
0.2.7でVIMAGEカーネルが対応できなかったので0.2.8になってます・・・。
ビルドは単独のMakefileを用意しましたので、任意の場所に展開して
そのまま make すれば出来上がります。

isboot の使い方は以前のページを参考にしてください。

isboot (iSCSI boot driver) version 0.2.8 ダウンロードリンク:isboot-0.2.8

MD5 (isboot-0.2.8.tar.gz) = fd29a2537ede3cf223ac5c1f07e8128c
SHA256 (isboot-0.2.8.tar.gz) = a513c1efb42819f8fa33ad497d1253d09b86ecefa58a13f70ba36a52c2b2eb12

統合デモ版 ダウンロードリンク(for testing purpose only):

FreeBSD-10.0-RELEASE-amd64-memstick-isboot-0.2.7.img


FreeBSD-9.3-RELEASE-amd64-memstick-isboot-0.2.7.img

FreeBSD 11-CURRENT on Raspberry Pi に Apache 2.4(event MPM)/MySQL 5.6/PHP 5.6(ZTS) を導入する

ハード依存の初期設定さえ終われば中身は100%のFreeBSDですから
いろいろなネットの情報を使って自由にカスタマイズできます。
ただし、公式のパッケージが用意されていないので、
すべて ports から自力コンパイルして作成しなければいけません。

CPUは700MHzとかなり遅いので時間が結構かかります。
オーバークロックして1000MHzでもそれなりに。

そこで予めテスト環境で十分動くと判断したイメージを使い、
pkgの生成を行う専用マシンを用意して実機作成したものを公開しています。

※現在はベース 20141024 + カーネル 20141026を使用

って前振り長いですね・・・

ダウンロードページで既に書いた手順に従いパッケージリポジトリを取り込みます。

パッケージ利用方法のおさらい:

まず静的リンクしたコマンドでpkg自体をインストール
# fetch http://www.peach.ne.jp/archives/rpi/pkg-static
# chmod 755 pkg-static
# ./pkg-static add http://www.peach.ne.jp/archives/rpi/ports/pkg.txz

デフォルトのパッケージを無効化
# mkdir -p /usr/local/etc/pkg/repos
# echo "FreeBSD: { enabled: no }" > /usr/local/etc/pkg/repos/FreeBSD.conf

独自パッケージリポジトリを追加
# fetch http://www.peach.ne.jp/archives/rpi/rpi.conf
# mv rpi.conf /usr/local/etc/pkg/repos

リポジトリカタログを最新状態に更新
# pkg update

シェルやエディタは好みがあるのでどれとは言いにくいけど、
ここでは個人的な趣味で以下のようなものを入れます。

# pkg install bash emacs-nox11 mg
# pkg install ja-less+iso ja-ddskk-emacs24 ja-nkf
# pkg install portupgrade subversion git gmake m4
# pkg install iperf3 trafshow

apache24 は MPM_EVENT + MPM_SHARED(全MPMモジュール化)で作成してあります。
PHPもパッケージを使えばZTS選択済みのを用意してあるので問題ありません。

※portsと組み合わせる場合はZTSを有効にするかMPMを変更してください。
旧パッケージはMPM_PREFORKなのでもし必要であれば
http://www.peach.ne.jp/archives/rpi/old/ports/packages-20141024/All/
からどうぞ。

# pkg install apache24
# pkg install php56 mod_php56
# pkg install mysql56-server phpMyAdmin

※複数行にわける必要はまったくないけど見やすさ優先でこうしています。
MySQLの管理に便利なphpMyAdminも一緒にいれていきます。

インストールしたら簡単な設定をいれてしまいます。

シェルなどの設定ファイルはホームディレクトリの直下の . から始まります。
rootと作成したユーザの両方に同じ設定を置きます。
rootはUSBキーボードで直接コンソールから入った時用で、
作成したユーザはSSHで接続した時用です。

bashのログイン時の設定 .bash_profile:

IGNOREEOF=10
EDITOR=mg
PAGER=jless
export EDITOR PAGER

mgの設定 .mg:

meta-key-mode
global-set-key "\^H" delete-backward-char
global-set-key "\e[6~" scroll-up
global-set-key "\e[5~" scroll-down

ログインシェルの変更(ユーザ指定しないと自分=root)

# chsh -s /usr/local/bin/bash
# chsh -s /usr/local/bin/bash ユーザ名

変更したら新たにSSHの接続を開いて正しくログインできる事を確認します。
ダメな場合は設定を行った古い接続の方で設定を見直します。

MySQLの省メモリ起動の設定:

旧バージョンはサンプルがついてきたけど5.6はもう付いてこないようです。
なので最少設定を書いて後程修正します。

/usr/local/etc/my.cnf:

[mysqld]
log-bin = mysql-bin
expire_logs_days = 7

key_buffer_size = 16K
max_allowed_packet = 1M
table_open_cache = 4
sort_buffer_size = 64K
read_buffer_size = 256K
read_rnd_buffer_size = 256K
net_buffer_length = 2K
thread_stack = 128K

innodb_data_home_dir = /var/db/mysql
innodb_data_file_path = ibdata1:10M:autoextend
innodb_log_group_home_dir = /var/db/mysql
innodb_buffer_pool_size = 16M
innodb_log_file_size = 5M
innodb_log_buffer_size = 8M
#innodb_file_per_table

※InnoDBはデフォルトでは1個のファイル(ibdata1)に複数のテーブル情報をまとめて格納します。巨大になりがちなので注意。
ファイル名は my.conf ではないのでそれも注意。

/etc/rc.conf に以下の起動設定を書いて、

mysql_enable="YES"
# /usr/local/etc/rc.d/mysql-server start

で手動起動してみます。初回起動時は初期テーブルのインストールやらなんやらで
1~2分かかるのでしばらく待ちます。

起動に成功すると、/var/db/mysql/ 内にデータが作成されてログが ホスト名.err で出来ます。
特に変更していなければ raspberry-pi.err になります。

起動するとサンプル設定が /usr/local/my.cnf に出来ますが不要なので削除します。

Apache と mod_php の設定:

設定はどこに書いてもいいと思うけど、Includes 以下のファイルは最後に読み込まれるので、

/usr/local/etc/apache24/Includes/mysite.conf としてこんな感じのを書いてあります。

# override httpd.conf
<IfModule dir_module>
    DirectoryIndex index.php index.cgi index.html
</IfModule>

# debug only
<Location /server-status>
    SetHandler server-status
    Require ip 172.18.0
</Location>
LoadModule info_module libexec/apache24/mod_info.so
<Location /server-info>
    SetHandler server-info
    Require ip 172.18.0
</Location>

# php
<FilesMatch "\.php$">
    SetHandler application/x-httpd-php
</FilesMatch>
<FilesMatch "\.phps$">
    SetHandler application/x-httpd-php-source
</FilesMatch>

# phpMyAdmin
Alias /phpmyadmin/ "/usr/local/www/phpMyAdmin/"

<Directory "/usr/local/www/phpMyAdmin/">
    Options None
    AllowOverride Limit

    Require local
    Require ip 172.18.0
</Directory>

/etc/rc.conf に以下の起動設定を書いて、

apache24_enable="YES"
# /usr/local/etc/rc.d/apache24 start

で手動起動してみます。

ブラウザで Raspberry Pi のIPアドレスを入れて「It works!」が表示されればOKです。
「It works!」は /usr/local/www/apache24/data/index.html なので、
この時点で /usr/local/www/apache24/data に置いたファイルがアクセス可能です。
たとえば、info.phpとして以下のような内容を書くと、

<?php
        phpinfo();
?>

http://IPアドレス/info.phpを表示させればPHPの情報が見れます。

アクセスできるようになったら、phpMyAdminを設定します。

phpMyAdmin の設定:

http://IPアドレス/phpmyadmin/setup/ から行います。

まずは接続テストする為に、デフォルト指定のまま全部いきます。
「サーバ」→「新しいサーバ」で「このサーバの詳細な名前」の所に

Raspberry Pi FreeBSD11

などの適当な名前をつけます。初回はパスワードが入っていないので、
「サーバ設定」→「パスワードなしログインの許可」にチェックを入れます。
残りはデフォルトのまま「Apply」をクリックします。

「設定ファイル」→「デフォルト言語」を日本語にして「表示する」に行きます。

いままでの設定が表示されますので、

/usr/local/www/phpMyAdmin/config.inc.php

に内容を全部貼り付けます。できたら

http://IPアドレス/phpmyadmin/

にアクセスして、ユーザ名に root を入れてパスワード欄を空のまま実行を押します。
設定が間違っていなければMySQLにログインしてこのような画面になります。

↓ログイン成功
20141027A

ユーザの所をクリックすると、現在MySQLに登録されているユーザが表示されますので
安全の為に使う予定のないものをすべて削除します。

↓いろいろ設定されている
20141027B

localhost を使うと /tmp/mysql.sock を経由したアクセスになります。
IPアドレスを指定すると TCPポート3306を経由したアクセスになります。

WEBとDBサーバが一緒にいる場合は localhost 以外は使わないので消します。
さらに、匿名アクセスも利用しないのでまとめて全部消します。
それぞれのチェックボックスにチェックをいれて、
「選択したユーザを削除する」の右端のほうにある「実行」を押します。

↓削除後の様子
20141027C

次にパスワードの変更を行います。
rootの「特権を編集」の中にある「パスワードを変更する」を実行します。
rootのパスワードを変更すると、おそらくセッションが切れるので、
ブラウザを起動しなおします。
新しいパスワードでログインする事を確認できたら、config.inc.php の
AllowNoPassword の行を削除します。

以上で phpMyAdmin のログイン設定の完了です。

一応ここまでセットアップした後に WordPress4.0 と webmin (pkgあり) を
動かすところまでは確認したけどすごい遅い…
小型省エネだから監視系とかログ収集とかにいいかなとは思う。
次回はメール系(postfix/dovcot)をやってみようかなと思っています。

FreeBSD 11-CURRENT on Raspberry Pi の初期設定をやってみる

※以下の初期設定は

FreeBSD-armv6-11.0-RPI-B-test20-r273303-20141026.img.gz

を前提にしています。以前の初期設定がなくなってちょっと面倒なので、
以前のようにすぐに使えるようにイメージ作成時に修正をいれる予定です。

2014/11/06追記:
FreeBSD-armv6-11.0-RPI-B-test20-r274088-20141106.img.gz
からスワップをデフォルト設定済みになりました。
/etc/fstab は tmpfs を使うように変更されました。
また、/etc/rc.conf で cron/syslog が有効になっています。
2014/11/06追記:

1.一般ユーザーの追加

USBキーボードとHDMIを接続して電源を入れて、login: の所で
root でログインしてSSH接続できる一般ユーザーを作成します。

※シリアルコンソールが使える環境であればそちらから可能

adduser または bsdconfig コマンドを使って新規ユーザーの追加ができます。
ほぼデフォルトでもかまわないけど、other groups に wheel を入れるのを
忘れると管理者になれないので注意します。

adduser コマンドを使った作業例:

root@raspberry-pi:~ # adduser
Username: pi         ←ユーザー名を入れる
Full name:
Uid (Leave empty for default):
Login group [pi]:
Login group is pi. Invite pi into other groups? []: wheel ←root(管理者)になれるように指定する
Login class [default]:
Shell (sh csh tcsh bash rbash git-shell nologin) [sh]:
Home directory [/home/pi]:
Home directory permissions (Leave empty for default):
Use password-based authentication? [yes]:
Use an empty password? (yes/no) [no]:
Use a random password? (yes/no) [no]:
Enter password:        ←新しいパスワードを入力
Enter password again:     ←パスワード確認
Lock out the account after creation? [no]:
Username   : pi
Password   : *****
Full Name  :
Uid        : 1001
Class      :
Groups     : pi wheel
Home       : /home/pi
Home Mode  :
Shell      : /bin/sh
Locked     : no
OK? (yes/no): y        ←設定がよければ y で作成
adduser: INFO: Successfully added (pi) to the user database.
Add another user? (yes/no): n ←他に追加しなければ n で終了
Goodbye!

2.IPアドレスを確認してSSH接続

ネットワークに接続されていれば起動時にDHCPからIPアドレスをとってくるので、
それを確認して、上記で作成したユーザーでSSH接続します。
inet の後にIPアドレスが書いてありますのでそれを使います。

ifconfig の実行例:

# ifconfig
(中略)
ue0: flags=8843 metric 0 mtu 1500
        options=80001
        ether XX:XX:XX:XX:XX:XX
        inet 172.18.0.148 netmask 0xffffff00 broadcast 172.18.0.255
        media: Ethernet autoselect (100baseTX )
        status: active
        nd6 options=29

※ネットワークに接続するのを忘れていたらLANケーブルの接続を確認して
シャットダウン(リブート)しましょう・・・

# shutdown -r now

TeraTerm(UTF-8)の場合は「チャレンジレスポンス認証を使う」を選択すると
SSHでログインできるようになります。
以降の作業はすべてSSHで遠隔操作可能です。

3.root ユーザーのパスワードを設定

まずは上記で作成したユーザーでログインします。
ログインしたら $ というプロンプトが出るので、su コマンドを使って
root ユーザー(管理者)になり、passwd コマンドで新しいパスワードを設定します。

※管理者の場合はプロンプト(の最後)が # に変わり管理者であることを示します。

$ su
root@raspberry-pi:/usr/home/pi # passwd
Changing local password for root
New Password:      ←新しいパスワード
Retype New Password:  ←確認

4.スワップの設定(オプション)

2014/11/06追記:
r274088-20141106 以降は標準で設定されていますのでこの項目は不要です。
2014/11/06追記:

スワップはなくても動きますけど、一時的にメモリ確保が必要な時に
作業中断されると対応が面倒なので、事前に追加しておく事をお勧めします。

まずスワップに使う256MBの空ファイルを作成し、管理者のみ参照できるようにします。

# dd if=/dev/zero of=/usr/swap.dat bs=1m count=256
# chmod 600 /usr/swap.dat

確認するとこんな感じのが出来ています。

# ls -al /usr/
(中略)
-rw-------   1 root  wheel   268435456 Oct 27 16:11 swap.dat

次にこのスワップファイルをfstabに追加します。
ファイルの編集には標準で付いてくる ee コマンドを使い編集します。
後ほどportsからいろいろなテキストエディタをインストールできますが
ここでは ee で行います。ESCキーを押すとメニューが出てくるので
「a) leave editor」→「a) save changes」と選択して保存終了します。

# ee /etc/fstab

※ファイルの最後に改行が付いていないと最終行の次の行頭に移動できないので、
その場合は最終行の行末までいって改行します。

エディタで /etc/fstab の最後に次の一行を追加する。(起動時にスワップ追加の設定)

md none swap sw,late,file=/usr/swap.dat 0 0

fstab の編集が終わったら起動している今はスワップファイルを手動で追加します。

# swapon -aL
swapon: adding /dev/md2 as swap device

swapinfo や top コマンドで追加されている事を確認してみてください。

5.タイムゾーンを日本時間に変更

zoneinfo 内から /etc/localtime にコピーします。
dateコマンドで現在時間表示してJSTになっていればOKです。

# cp /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
# date
Mon Oct 27 20:19:10 JST 2014

6.デフォルトの設定をサーバー向けに変更

2014/11/06追記:
r274088-20141106 以降は標準で設定されていますのでこの項目は不要です。
2014/11/06追記:

ログファイルが永続しないメモリディスク上だと追跡が困難になりますので、
/etc/fstab の /var/log の行頭に # を入れて設定を無効化(コメント化)します。

編集後の /etc/fstab の例:

(中略)
md              /tmp            mfs rw,noatime,-s30m    0 0
#md             /var/log        mfs rw,noatime,-s15m    0 0
md              /var/tmp        mfs rw,noatime,-s5m     0 0
md none swap sw,late,file=/usr/swap.dat 0 0

同様に /etc/rc.conf のcronとsyslogの起動停止を無効化(=機能有効化)します。

編集後の /etc/rc.conf の例:

(中略)
# Turn off a lot of standard stuff
# for more free memory.
#cron_enable="NO"
#devd is necessary for proper DHCP operation;
# don't disable unless you know how to run DHCP manually.
#devd_enable="NO"
#syslogd_enable="NO"
(以下略)

7.固定のIPアドレスを設定

DHCPサーバ側で固定できる場合は ifconfig で出てくる ether の行の値を設定します。

DHCPサーバがMACアドレスベースで固定できない場合は、
IPアドレスをDHCP範囲外から選び静的に指定します。

/etc/rc.conf 静的アドレスの例:

defaultrouter="172.18.0.1"
ifconfig_ue0="inet 172.18.0.148 netmask 255.255.255.0"

/etc/hosts に自身のIPアドレスを付け加えておきます。

172.18.0.148    raspberry-pi raspberry-pi.local

※ /etc/resolv.conf (DNS設定)はDHCPで取得した時点で自動作成されるので
確認だけはしておきます。

8.ports デフォルトオプションの設定

サーバ用途でX11がいらない場合は余計なビルドを避けるため make.conf に
以下のようなものを入れておくと良いです。
パッケージ作成はこれを入れた上でビルドされています。

/etc/make.conf:

OPTIONS_UNSET=X11

9.再起動して確認

全部作業が終わったら再起動して正しく設定がされているか確認します。

# shutdown -r now

無事に起動したらパッケージの利用方法の手順に従い追加する事ができます。
続きは長くなりそうなので次回に。

2014/11/06追記:
r274088-20141106 以降のディスクレイアウトはこんな感じです。

# df -h
Filesystem        Size    Used   Avail Capacity  Mounted on
/dev/mmcsd0s2a    7.1G    1.6G    4.9G    25%    /
devfs             1.0K    1.0K      0B   100%    /dev
/dev/mmcsd0s1      17M    7.0M     10M    41%    /boot/msdos
tmpfs              64M    4.0K     64M     0%    /tmp
tmpfs             8.0M    4.0K    8.0M     0%    /var/tmp

# swapinfo
Device          1K-blocks     Used    Avail Capacity
/dev/md0           262144        0   262144     0%

2014/11/06追記:

↓ディスクレイアウトはこんな感じになります

# df -h
Filesystem        Size    Used   Avail Capacity  Mounted on
/dev/mmcsd0s2a    7.1G    1.6G    4.9G    25%    /
devfs             1.0K    1.0K      0B   100%    /dev
/dev/mmcsd0s1      17M    7.0M     10M    41%    /boot/msdos
/dev/md0           29M     24K     26M     0%    /tmp
/dev/md1          4.4M    8.0K    4.0M     0%    /var/tmp
# swapinfo
Device          1K-blocks     Used    Avail Capacity
/dev/md2           262144        0   262144     0%

※完全に終了させて電源を切る場合は -h または -p を付けて実行します。

# shutdown -h now

↓のような状態になったら電源ケーブルを抜いても大丈夫です。
(シリアルコンソールでないと最後まで見えません)

System shutdown time has arrived
Waiting (max 60 seconds) for system process `vnlru' to stop...done
Waiting (max 60 seconds) for system process `bufdaemon' to stop...done
Waiting (max 60 seconds) for system process `syncer' to stop...
Syncing disks, vnodes remaining...2 0 2 2 1 1 0 0 done
All buffers synced.
Uptime: 2m25s

The operating system has halted.
Please press any key to reboot.

FreeBSD 11.0-CURRENT/clang on Raspberry Pi 512MB (with U-Boot 2014.10 + ubldr)

生成スクリプトに crochet-freebsd を利用するようになりました。
これにより以前の初期設定がなくなりよりプレーンな状態になってしまいました。
必要であれば後々追加していく予定です。
もはやclangがデフォルトなので過去と同じく全コードclangビルドになります。
U-Bootは最新の2014.10を使っています。<過去のUSBコードは入っていない
FreeBSDのソースは SVN r273303 ベースになります。
2014/12/21更新:
FreeBSDのソースは SVN r275967 ベースになります。
2015/01/08更新:
FreeBSDのソースは SVN r276645 ベースになります。
2015/01/08更新ここまで:

※一般的なビルド方法についてはこちらの記事を参考にすると良いです。

過去にやってきったパッチはHEADにほぼ取り込まれていますので、
現時点で特にパッチが必要だと感じたのは以下の処理まわり2点です。

1.プロセスの切り替え時?などに共有ライブラリ付近の挙動がおかしい
 大抵はセグフォ、たまにカーネルごとpanicする
 副作用でファイルシステムがお亡くなりに・・・
 →過去に使っていたキャッシュクリアパッチのみを適用してみた

2.HSモード(25MB/s)でMMCにアクセスすると不安定なカードが存在する
 →DSモード(12.5MB/s)で不安定になったことはないので、HS無効モードを
  /etc/loader.conf にデフォルト設定の上パッチを当ててあります。

わかっている問題:
致命的ではないもののラベルマウントしていると挙動がおかしくなりそう?
→念のためデバイスファイルを直接 fstab に書いたままで作業しています。
→なんかclangの最適化バグの気がしなくもない・・・

FreeBSD 11.0-CURRENT/RPI-B-test20:
http://www.peach.ne.jp/archives/rpi/FreeBSD-armv6-11.0-RPI-B-test20-r273303-20141024.img.gz
SHA256 (FreeBSD-armv6-11.0-RPI-B-test20-r273303-20141024.img.gz) = fec806fd64ed35770747e200184c2eeceed2dded7beb5464c1d87b5b142ad488

2014/10/26更新:
http://www.peach.ne.jp/archives/rpi/FreeBSD-armv6-11.0-RPI-B-test20-r273303-20141026.img.gz

SHA256 (FreeBSD-armv6-11.0-RPI-B-test20-r273303-20141026.img.gz) = c4a25c4d599eeb2e32050b384c8ab6f39f931f7d1120f7c671210c22b261e689

※さっそくバグっていました・・・
min_freq を指定するとハングするのを修正

2014/11/06更新:
http://www.peach.ne.jp/archives/rpi/FreeBSD-armv6-11.0-RPI-B-test20-r274088-20141106.img.gz

SHA256 (FreeBSD-armv6-11.0-RPI-B-test20-r274088-20141106.img.gz) = e03b3a173f6d2872ffc5588b6c12d287185ef2814c03b12848f40f3e6ab7d763

変更点:
デフォルトスワップを256MBつけるようになりました。
/tmp および /var/tmp には tmpfs を用いるように変更されました。
/var/log はデフォルトでSDカードに書くように変更されました。
起動メッセージの簡略化に伴い従来の起動メッセージは /boot/loader.conf で
hw.bcm2835.cpufreq.verbose=1
を指定すると出るようになりました。また、最少クロックを
hw.bcm2835.cpufreq.lowest_freq=300
にて指定できるようになりました。

2014/12/21更新:
bcm2835_cpufreq がFreeBSDにコミットされたので記念イメージ作成です。
pkgの作成が間に合わないので出来た分を先に置いて後で追加する予定です。

http://www.peach.ne.jp/archives/rpi/FreeBSD-armv6-11.0-RPI-B-test21-r275967-20141221.img.gz

SHA256 (FreeBSD-armv6-11.0-RPI-B-test21-r275967-20141221.img.gz) = 45d0b680a06114784ae70430c122a72a97640bbb5faee782ff36115575ecd8f1

変更点:
独自機能だった bcm2835_cpufreq がFreeBSDにマージされた為パッチの再構築
デフォルトスワップを512MBに変更
スワップ専用パーティションの新設(スワップファイルの廃止)
それに伴うUFS領域移動(/dev/mmcsd0s3a)とfstab等の変更
SVNソースを展開
試験的にACT LEDをSDHCIのDMA転送開始/終了時に操作
試験的に共有ライブラリのOSが見えない問題のパッチを使用

2014/12/24更新:
pkgをアップしたので更新して試したところカーネルに問題が発生したので再度アップしました。

すでにr275967-20141221.imgをインストールしている場合はカーネルのみ差し替えてください。
(kernel-20141223.gzをgunzip解凍して /boot/kernel/kernel に上書きして再起動する)

http://www.peach.ne.jp/archives/rpi/FreeBSD-armv6-11.0-RPI-B-test21-r275967-20141223.img.gz

http://www.peach.ne.jp/archives/rpi/kernel/kernel-20141223.gz

SHA256 (FreeBSD-armv6-11.0-RPI-B-test21-r275967-20141223.img.gz) = aa728a73fe1ee4ff8da5be73c3d7f56bb7e17d6b22bc76b38fc599e9d6e8283a
変更点:
ACT LED をドライバ経由をやめて直接操作するように変更

2015/01/08更新:
clang 3.5 が 11-current に導入されたので早速作ったイメージがこれです。
pkg もこれに合わせて全部 clang 3.5 で作成しなおしました。
これ以後はすべて clang 3.5 ベースになります。

http://www.peach.ne.jp/archives/rpi/FreeBSD-armv6-11.0-RPI-B-test22-r276645-20150104.img.gz

SHA256 (FreeBSD-armv6-11.0-RPI-B-test22-r276645-20150104.img.gz) = ec5a866227573e6c9a784de45819cec3a24da38ab6ab707d61656f02c5b4aec6

変更点:
パーティションのアラインメントを4MBを基本に調整
(FreeBSDソース更新)

2015/01/18更新:
NAS4Free 用パッチもこちらにすべてマージしました。
また恒例のu-bootのアップデートも行いました。
これ以後は u-boot 2015.01 になります
とりあえず仮ベースということで。

http://www.peach.ne.jp/archives/rpi/FreeBSD-armv6-11.0-RPI-B-test22-r277169-20150114.img.gz

SHA256 (FreeBSD-armv6-11.0-RPI-B-test22-r277169-20150114.img.gz) = d8e3e8e4333e3fce756fe136a5d4014770a9a4430729168489831710ea2ee9d7

変更点:
NAS4Free用パッチをマージ
u-boot 2015.01にアップデート
2015/01/18更新ここまで:

ダウンロードしたらGZIP圧縮されているので解凍して8GB以上のSDカードに展開してください。
(8GBより大きいSDカードは /etc/rc.d/autosize でリサイズできます)
Raspberry Piではハード仕様により25MB/s以上は出しようがないのでどのクラスカードでもOKです。
とは言え長時間使う事を考えると迷ったなら東芝製をお勧めしておきます。
下記で公開しているpkgビルド環境も東芝製EXCERIAシリーズ16GBor32GBですよ。

実験用に Overclocking options を起動DOSパーティションのconfig.txtにいれてあります。
デフォルトでは最大クロック800MHzになるように設定してあります。(powerdまたは手動による)
詳細はこちらをどうぞ → http://elinux.org/RPiconfig

独自機能として、cpufreq(4) を使ったクロック自動調整および手動設定機能を作りました。
おまけで温度もモニターできるようになります。詳細は後述。
ヒートシンク付けているテスト機の違いがわかる!?

シリアルコンソールを持っていない人は緊急起動用の予備SDカードと
USBカードリーダーをRaspberry Pi専用に持っているといいかも。
(予備SDで起動してカードリーダに問題のあるカードを挿して調整する)

※シリアルUSB変換ケーブルは1000円もしないので、用意しておくと便利ですよ。
http://www.amazon.co.jp/dp/B00L8SP7U6 たとえばこんなやつでWinマシンと接続できます。

一般的な事としてRaspberry PiのUSBポートは電源ON時に抜き差しするのは避けた方が良いと思う。
どうしてもやりたいなら外部電源ありUSBハブを付けてそこで抜き差しをすること。

使用コンフィグ:
http://www.peach.ne.jp/archives/rpi/config/RPI-B-test20

新カーネルのみ:
http://www.peach.ne.jp/archives/rpi/kernel/

追加ソースとパッチ:
http://www.peach.ne.jp/archives/rpi/patch/

作成済みパッケージ:(順次追加中)
http://www.peach.ne.jp/archives/rpi/ports/packages/All/

参考用 過去の情報はこちらに:
http://shell.peach.ne.jp/aoyama/archives/2545

初期設定:
MEM 496MB/GPU 16MB/SWAP 256MB
I/O: マルチコンソール (HDMI&USBキーボードでroot利用可)
IP アドレス: DHCP
デフォルトルータ: DHCP
DNS: DHCP
sshd: 有効 (rootログイン不可)
ntpdate: 有効 (0.freebsd.pool.ntp.org)
powerd: 有効 (300MHz~800MHz オーバークロック有り)
ファイアウォール: なし
portsnap: fetch & extract済み

一般ユーザ: なし
パスワード(root): なし

初期設定のため変更されたファイル:
/boot/loader.conf
/etc/fstab
/etc/rc.conf
/etc/ttys

※ デフォルトはUTC仕様なのでJSTにしたい場合は
# cp -p /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
を実行するか bsdconfig で調整してください。

※ 初期ユーザは adduser か bsdconfig で作成できます。

当サイト特設パッケージ(X11なし実機ビルド)の利用方法:

まず静的リンクしたコマンドでpkg自体をインストール
# fetch http://www.peach.ne.jp/archives/rpi/pkg-static
# chmod 755 pkg-static
# ./pkg-static add http://www.peach.ne.jp/archives/rpi/ports/pkg.txz
または
# ./pkg-static add http://www.peach.ne.jp/archives/rpi/ports/packages/All/pkg-1.3.8_3.txz

デフォルトのパッケージを無効化
# mkdir -p /usr/local/etc/pkg/repos
# echo "FreeBSD: { enabled: no }" > /usr/local/etc/pkg/repos/FreeBSD.conf

独自パッケージリポジトリを追加
# fetch http://www.peach.ne.jp/archives/rpi/rpi.conf
# mv rpi.conf /usr/local/etc/pkg/repos

リポジトリカタログを最新状態に更新
# pkg update

リポジトリを検索(デフォルトは正規表現の検索)
# pkg search .
リポジトリを検索(依存関係も表示)
# pkg search -d .

例: bash (+その依存パッケージ全部)をインストール
# pkg install bash

例: samba 4.1 をインストール
# pkg install samba41

例: リポジトリの全パッケージをインストール(正規表現マッチ)
# pkg install -x .

クロック調整機能と温度取得について
hw.cpufreq にリアルタイムな生データが反映されます。
クロックはHz、電圧は1.2Vからの0.025V単位の差分、
温度は1/1000℃単位で取得できます。
温度以外はここに値を書き込むと即座に反映されますが、
起動時の最大値以上など拒否される事もあります。
また自動調整により上書きされることがあります。

↓はARMクロック300MHz、電圧1.2V、温度49.2℃の場合です

# sysctl hw.cpufreq
hw.cpufreq.arm_freq: 300000000
hw.cpufreq.core_freq: 250000000
hw.cpufreq.sdram_freq: 400000000
hw.cpufreq.turbo: 0
hw.cpufreq.voltage_core: 0
hw.cpufreq.voltage_sdram_c: 0
hw.cpufreq.voltage_sdram_i: 0
hw.cpufreq.voltage_sdram_p: 0
hw.cpufreq.temperature: 49230

自動調整可能なクロックの例(最大1000MHz設定時):
powerdで利用可能な設定は dev.cpu.0.freq_levels に出ます。
もちろん手動で dev.cpu.0.freq に設定することも可能です。

# sysctl dev.cpu
dev.cpu.%parent:
dev.cpu.0.%desc: Open Firmware CPU
dev.cpu.0.%driver: cpu
dev.cpu.0.%location:
dev.cpu.0.%pnpinfo: name=cpu@0 compat=arm,1176jzf-s
dev.cpu.0.%parent: cpulist0
dev.cpu.0.freq: 300
dev.cpu.0.freq_levels: 1000/-1 900/-1 800/-1 700/-1 600/-1 500/-1 400/-1 300/-1

↓起動時こんな感じのログが出ます。

bcm2835_cpufreq0: Boot settings:
bcm2835_cpufreq0: current ARM 700MHz, Core 250MHz, SDRAM 398MHz
bcm2835_cpufreq0: max/min ARM 1000/700MHz, Core 500/250MHz, SDRAM 500/400MHz, Turbo OFF
bcm2835_cpufreq0: current Core 1200mV, SDRAM_C 1200mV, SDRAM_I 1200mV, SDRAM_P 1200mV
bcm2835_cpufreq0: max/min Core 1350/1200mV, SDRAM_C 1225/1200mV, SDRAM_I 1225/1200mV, SDRAM_P 1225/1200mV
bcm2835_cpufreq0: Temperature 48.6C

/boot/loader.confの設定:

hw.bcm2835.cpufreq.verbose=1
hw.bcm2835.cpufreq.lowest_freq=300

テスト機のconfig.txt(抜粋):

force_turbo=0
arm_freq=1000
core_freq=500
sdram_freq=500
over_voltage=6
over_voltage_sdram=1

2013年の年間損益はプラスで終了したぽい

FX口座の損益計算書や特定口座の年間取引報告書が来たので見てみると、

FX年間損益 +184,933円
USDJPY+21.8万円/EURJPY+4.6万円/GBPJPY-3.6万円
AUDJPY-10.5万円/NZDJPY+8.7万円/EURUSD-0.9万円/AUDUSD-0.3万円
(主要通貨だけ記載)

特定口座の譲渡損益 -0.1万円
特定口座の配当等 +1.5万円

当初はAUDJPYをスワップ目的で保有していたけど、GW後の株暴落と利下げで
どうしようもないので、損切&相殺してNZDJPYを主軸にしていきました。

現物株式の損益は主にGW前後の1346/1570/1571の売買に伴うものです。
それぞれ日経225インデックス(1倍)とレバ(2倍)とインバ(-1倍)です。

今年も豪ドルを少な目にするものの基本戦略はかわらず、
FX利益を日本株式(主に225ETF)に再投資しつつNZDJPYでスワップを狙います。

↓2014/1/1時点の口座状況(1年前はこれ)
20140101B

↓2014/1/15時点の口座状況とポジサマリー
20140115B

20140115A
(クリックで拡大)

日本株が上昇すると見て少し強気にホールドしてみた。
これが利益確定できたら出金してETFに再投資する予定。

あけましておめでとう

あけましておめでとうございます。
Happy New Year!

昨年は後半放置状態だったので、ちゃんと記録できればいいなと思います。
GWでかなり暴落したけど、結局円安方向にブレイクしましたね。
現時点で105.3円あたりに。日経平均は16200円台に。

今年もよろしくお願いします。

ESXi5.1のドライバを作成してみる(intel I217/I218/82579LM/82574L編)

intelからダウンロードしたe1000eドライバ(2.3.2)をビルドしてみました。
もの自体は、とある筋より要望があって4月中旬ごろに作ったものですが、
Z87X-UD5Hでも動作確認が取れたので一般公開します。

このドライバは net-e1000e-2.1.4.x86_64.vib の完全置き換え用なので、
そちらで動くマシンにはすべて導入できます。
ESXi5.1のドライバを作成してみる(intel 82579LM/82574L編)

テスト環境はESXi5.1.0, 1065491 + VM(Win7)です。
GIGABYTE Z87X-UD5H + Core i7-4770 + メモリ16GB に以下のNIC計3枚挿しです。

Qlogic QLE-8152 (10GbE/FCoE SFP+ x2)
Intel ET DualPort Server (82576)
Intel Gigabit CT Desktop Adapter (82574L)

↓ドライバ適用するとこんな感じです。
Z87X-UD5H-1

Z87X-UD5H に搭載されているI217Vの方(上側ポート)のみが対象です。
また、TX100 S3 に搭載されている両方のLANポート(82579LM + 82574L)でも当然利用できます。
このドライバは既存ドライバを置き換える目的で作成しているので、
VMware純正ドライバを消したくない人はインストールしないでください。

Intel I217/I218/82579LM/82574L他用ESXi5.1ドライバ: net-e1000e-2.3.2.x86_64.vib

Z87X-UD5H はどっちも認識されないので、FAT16パーティションのUSBメモリーを作り、
そこからのインストールが一番簡単だと思います。

その他マザー固有の情報については、
Haswell Core i7-4770 と Z87X-UD5H を買ってみました。
Z87X-UD5H + Core i7-4770 で ESXi5.1U1(デバイスパススルーあり) を動かしてみる。
もあわせてどうぞ。

USBメモリー作成例(FreeBSD/NAS4Freeでda1の場合):

# gpart create -s gpt da1
# gpart add -t linux-data -s 2000m da1
# gpart show da1
=>     34  7578941  da1  GPT  (3.6G)
       34  4096000    1  linux-data  (2G)
  4096034  3482941       - free -  (1.7G)

# newfs_msdos -F 16 /dev/da1p1

完成したら、Windowsからでもいいので、そこにドライバをコピーします。

USBメモリーからのドライバインストール方法:

1.ESXiサーバのログイン機能を有効にしてログインする
  「Troubleshooting Options」の「Enable ESXi Shell」を選択して、
  ALT+F1を押してサーバにrootユーザでログインします。

2.USBパススルー機能を停止する

# /etc/init.d/usbarbitrator stop

3.ドライバUSBメモリーを挿入する(どのUSBポートでもOK)
  ※この時点で /vmfs/volumes/NO_NAME/ に自動マウントされます。

4.ドライバ受け入れ設定を変更する

# esxcli software acceptance set --level=CommunitySupported

5.必要なドライバをインストールする

# esxcli software vib install -v /vmfs/volumes/NO_NAME/net-e1000e-2.3.2.x86_64.vib

6.ESXiサーバを再起動する
  exitでShellを終了してALT+F2を押して戻ってF12で再起動します。

WordPress 4.1 on ESXi 5.1 + 10GbE + istgt