Aterm WR8700Nの不満点

この記事は2年以上前に書いたものです。
そのため情報が古い可能性があります。ご了承ください。m(_ _)m

LAN側にDHCPサーバが既にあるような場合、WR8700NのDHCPサーバ機能を無効にするけど、
そんな場合に、ネットワーク分離機能をONにすると、IPアドレスを手動で設定しないとダメ。(っぽい。)

まぁ、ネットワーク分離機能のおかげで、無線LAN側から、LAN側へ、DHCPオファーが飛んでかないってだけだろうけど。
そもそも、LAN側と無線LAN側のサブネットは分けた方が良い気がするんだけどなぁ。。
で、分けた上でLAN側のDHCPサーバ機能と、無線LAN側のDHCPサーバ機能は、
それぞれ有効・無効を設定できるようにして欲しい。

FONはちゃんと分かれてるんだけどね。。

# WR8700NのDHCPサーバを使わずLAN側のDHCPサーバを使う理由は、
# DHCPサーバがリースしたIPアドレスと、リース先のホスト名を関連づけたいから。
# 「各VMのホスト名でIPアドレスを引っ張ってくる(dhcp+bind)」で設定した環境を使い続けたいから。

カテゴリー: ハードウェア | タグ: , , | コメントする

Aterm WR8700N購入

この記事は2年以上前に書いたものです。
そのため情報が古い可能性があります。ご了承ください。m(_ _)m

WR8700N(HPモデル)を、Sofmapにて\10,800くらいで。

BUFFALO Air Station(WHR-G54S)を使ってたけど、ネットワーク接続が不安定になったり奇妙な動作をし始めたので買い換え。

aterm_wr8700n_01 aterm_wr8700n_02 aterm_wr8700n_03 aterm_wr8700n_04 aterm_wr8700n_05  aterm_wr8700n_09 aterm_wr8700n_10

WHR-G54Sからの移行は、

1. スイッチングHUBの空いてるポートにWR8700Nを接続
2. ブラウザで、IPアドレスを指定して設定画面へアクセス
3. WR8700Nの無線設定をひとまずOFF
4. WR8700Nの無線設定をWHR-G54Sの設定と同じにする
5. WHR-G54Sの無線機能をOFF
6. WR8700Nの設定を保存
7. 適当な機器から無線LANで繋がるか確認。繋がらなかったら6の設定を見直し
8. ポートマッピング設定をWHR-G54S相当の設定にする
9. WHR-G54SのIPアドレスを適当に替える
10. WR8700NのIPアドレスを9で替える前のIPアドレスに変更する
11. WHR-G54Sに刺さってるケーブルをWR8700Nへ差し替える

こんな感じの手順を見込んでたけど、2で少し躓く。
ルータモードだと、WR8700NのLAN側のIPアドレスが固定で192.168.0.1になるらしい。
1で繋いだHUBのサブネットに192.168.0.1が既にいたので、重複して接続画面に繋がらなかった。
仕方ないので、元々192.168.0.1を使ってた奴を別のに変更して事なきを得る。
ちなみに、APモードだとDHCPサーバからIPアドレスを取得してくれた。
ルータモードでも最初はDHCPサーバからIPアドレスの取得を試みてくれれば良いのに。。
そのネットワークにDHCPサーバが居なければ、固定IPでLinkUpするとか。

↑で少し躓いた以外はすんなりと入れ替え完了。

 

試しにWR8700Nへアクセスしてみる。

% telnet 192.168.0.200                                  [~]
Trying 192.168.0.200...
Connected to 192.168.0.200.
Escape character is '^]'.

NetBSD/messimips () (ttyp0)

login: ^]
telnet> quit
Connection closed.

telnetのポートが開いてるけどユーザ名とパスワード知らない。
他にもいくつか空いてる。何のために?

% nmap 192.168.0.200                                    [~]

Starting Nmap 4.62 ( http://nmap.org ) at 2010-08-21 19:31 JST
Interesting ports on 192.168.0.200:
Not shown: 1709 closed ports
PORT     STATE SERVICE
23/tcp   open  telnet
60/tcp   open  unknown
80/tcp   open  http
139/tcp  open  netbios-ssn
445/tcp  open  microsoft-ds
5432/tcp open  postgresql

Nmap done: 1 IP address (1 host up) scanned in 19.503 seconds

ついでに電源タップも購入。

20100821_01 20100821_02

カテゴリー: ハードウェア | タグ: , , , | コメントする

玄芝のカーネルを2.6.35にアップグレード(4)

この記事は2年以上前に書いたものです。
そのため情報が古い可能性があります。ご了承ください。m(_ _)m

玄芝のカーネルを2.6.35にアップグレード(3)の続き

4. NANDに反映

TFTPD + NFSブートで、ちゃんと起動するカーネルであることが分かったので、
玄芝本体のNANDに反映する。
(カーネルの更新 (SheevaPlug / 玄柴(KURO-SHEEVA)をハックしよう) を参考)
玄芝本体(rootfsはNFSサーバにあるもの)で作業。

# mount -t jffs2 /dev/mtdblock1 /mnt
# cp -pr /lib/modules/2.6.35 /mnt/lib/modules/
# umount /mnt

あ、uImageが玄芝本体に無い。
NFSサーバにあるuImageを、rootfs_customへコピー。

$ sudo cp /var/lib/tftpboot/uImage ~/KuroSheeva/rootfs_custom/

また戻って、玄芝本体(rootfsはNFSサーバにあるもの)で作業。
uImageをいったん消去した後、書き込み。

root@debian:/# ls -l uImage
-rw-r--r-- 1 root root 2844560 2010-08-08 13:51 uImage
root@debian:/# cat /proc/mtd
dev:    size   erasesize  name
mtd0: 00400000 00020000 "uImage"
mtd1: 1fb00000 00020000 "rootfs"
root@debian:/# flash_eraseall /dev/mtd0
Erasing 128 Kibyte @ 3e0000 -- 96 % complete.
root@debian:/# nandwrite -p /dev/mtd0 uImage
Writing data to block 0
Writing data to block 20000
Writing data to block 40000
Writing data to block 60000
Writing data to block 80000
Writing data to block a0000
Writing data to block c0000
Writing data to block e0000
Writing data to block 100000
Writing data to block 120000
Writing data to block 140000
Writing data to block 160000
Writing data to block 180000
Writing data to block 1a0000
Writing data to block 1c0000
Writing data to block 1e0000
Writing data to block 200000
Writing data to block 220000
Writing data to block 240000
Writing data to block 260000
Writing data to block 280000
Writing data to block 2a0000

再起動。

root@debian:/# reboot
root@debian:/#
Broadcast message from root@debian
        (/dev/tt * Stopping Samba daemons                                [ OK ]
 * Saving the system clock
Stopping unfs3: unfs3.
 * Asking all remaining processes to terminate...                        [ OK ]
 * All processes ended within 2 seconds....                              [ OK ]
 * Stopping portmap daemon...                                            [ OK ]
 * not deconfiguring network interfaces: network file systems still mounted.
 * Unmounting temporary filesystems...                                   [ OK ]
 * Deactivating swap...                                                  [ OK ]
 * Unmounting local filesystems...                                       [ OK ]
 * Stopping remaining crypto disks...                                    [ OK ]
 * Stopping early crypto disks...                                        [ OK ]
 * Will now restart
Restarting system.

         __  __                      _ _
        |  \/  | __ _ _ ____   _____| | |
        | |\/| |/ _` | '__\ \ / / _ \ | |
        | |  | | (_| | |   \ V /  __/ | |
        |_|  |_|\__,_|_|    \_/ \___|_|_|
 _   _     ____              _
| | | |   | __ )  ___   ___ | |_
| | | |___|  _ \ / _ \ / _ \| __|
| |_| |___| |_) | (_) | (_) | |_
 \___/    |____/ \___/ \___/ \__|
 ** MARVELL BOARD: SHEEVA PLUG LE

U-Boot 1.1.4 (Sep  7 2009 - 20:21:09) Marvell version: 3.4.16

U-Boot code: 00600000 -> 0067FFF0  BSS: -> 006CEE60

Soc: 88F6281 A0 (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 CS[1] base 0x10000000   size 256MB
DRAM Total size 512MB  16bit width
Flash:  0 kB
Addresses 8M - 0M are saved for the U-Boot usage.
Mem malloc Initialization (8M - 7M): Done
NAND:512 MB

CPU : Marvell Feroceon (Rev 1)

Streaming disabled
Write allocate disabled


USB 0: host mode
PEX 0: interface detected no Link.
Net:   egiga0 [PRIME], egiga1
Hit any key to stop autoboot:  0

NAND read: device 0 offset 0x100000, size 0x400000

Reading data from 0x4ff800 -- 100% complete.
 4194304 bytes read: OK
## Booting image at 00800000 ...
   Image Name:   Linux-2.6.35
   Created:      2010-08-06  18:48:15 UTC
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    2844496 Bytes =  2.7 MB
   Load Address: 00008000
   Entry Point:  00008000
   Verifying Checksum ... OK
OK

Starting kernel ...

Uncompressing Linux... done, booting the kernel.
Linux version 2.6.35 (user@kurosheeva-dev) (gcc version 4.2.1) #4 PREEMPT Sat Aug 7 03:48:11 JST 2010
CPU: Feroceon 88FR131 [56251311] revision 1 (ARMv5TE), cr=00053177
CPU: VIVT data cache, VIVT instruction cache
Machine: Marvell eSATA SheevaPlug Reference Board
Memory policy: ECC disabled, Data cache writeback
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 130048
Kernel command line: rootfstype=jffs2 console=ttyS0,115200 mtdparts=orion_nand:0x400000@0x100000(uImage),0x1fb00000@0x500000(rootfs) rw root=/dev/mtdblock1 rw ip=10.4.50.4:10.4.50.5:10.4.50.5:255.255.255.0:DB88FXX81:eth0:none
PID hash table entries: 2048 (order: 1, 8192 bytes)
Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
Memory: 256MB 256MB = 512MB total
Memory: 513356k/513356k available, 10932k reserved, 0K highmem
Virtual kernel memory layout:
    vector  : 0xffff0000 - 0xffff1000   (   4 kB)
    fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
    DMA     : 0xffc00000 - 0xffe00000   (   2 MB)
    vmalloc : 0xe0800000 - 0xfe800000   ( 480 MB)
    lowmem  : 0xc0000000 - 0xe0000000   ( 512 MB)
    modules : 0xbf000000 - 0xc0000000   (  16 MB)
      .init : 0xc0008000 - 0xc002d000   ( 148 kB)
      .text : 0xc002d000 - 0xc0525000   (5088 kB)
      .data : 0xc0570000 - 0xc05a0040   ( 193 kB)
SLUB: Genslabs=11, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
Hierarchical RCU implementation.
        RCU-based detection of stalled CPUs is disabled.
        Verbose stalled-CPUs detection is disabled.
NR_IRQS:114
Console: colour dummy device 80x30
Calibrating delay loop... 1192.75 BogoMIPS (lpj=5963776)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
NET: Registered protocol family 16
Kirkwood: MV88F6281-A0, TCLK=200000000.
Feroceon L2: Enabling L2
Feroceon L2: Cache support initialised.
bio: create slab <bio-0> at 0
vgaarb: loaded
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
cfg80211: Calling CRDA to update world regulatory domain
Switching to clocksource orion_clocksource
NET: Registered protocol family 2
IP route cache hash table entries: 4096 (order: 2, 16384 bytes)
TCP established hash table entries: 16384 (order: 5, 131072 bytes)
TCP bind hash table entries: 16384 (order: 4, 65536 bytes)
TCP: Hash tables configured (established 16384 bind 16384)
TCP reno registered
UDP hash table entries: 256 (order: 0, 4096 bytes)
UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
NET: Registered protocol family 1
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
JFFS2 version 2.2. (NAND) ツゥ 2001-2006 Red Hat, Inc.
JFS: nTxBlock = 4010, nTxLock = 32084
msgmni has been set to 1002
alg: No test for stdrng (krng)
io scheduler noop registered
io scheduler deadline registered
io scheduler cfq registered (default)
Serial: 8250/16550 driver, 2 ports, IRQ sharing disabled
serial8250.0: ttyS0 at MMIO 0xf1012000 (irq = 33) is a 16550A
console [ttyS0] enabled
brd: module loaded
loop: module loaded
sata_mv sata_mv.0: version 1.28
sata_mv sata_mv.0: slots 32 ports 2
scsi0 : sata_mv
scsi1 : sata_mv
ata1: SATA max UDMA/133 irq 21
ata2: SATA max UDMA/133 irq 21
NAND device: Manufacturer ID: 0xec, Chip ID: 0xdc (Samsung NAND 512MiB 3,3V 8-bit)
Scanning device for bad blocks
Bad eraseblock 1235 at 0x000009a60000
2 cmdlinepart partitions found on MTD device orion_nand
Creating 2 MTD partitions on "orion_nand":
0x000000100000-0x000000500000 : "uImage"
0x000000500000-0x000020000000 : "rootfs"
MV-643xx 10/100/1000 ethernet driver version 1.4
mv643xx_eth smi: probed
net eth0: port 0 with MAC address 00:50:43:01:44:67
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
orion-ehci orion-ehci.0: Marvell Orion EHCI
orion-ehci orion-ehci.0: new USB bus registered, assigned bus number 1
orion-ehci orion-ehci.0: irq 19, io mem 0xf1050000
orion-ehci orion-ehci.0: USB 2.0 started, EHCI 1.00
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
usbcore: registered new interface driver ums-datafab
usbcore: registered new interface driver ums-freecom
usbcore: registered new interface driver ums-jumpshot
usbcore: registered new interface driver ums-sddr09
usbcore: registered new interface driver ums-sddr55
mice: PS/2 mouse device common for all mice
rtc-mv rtc-mv: rtc core: registered rtc-mv as rtc0
i2c /dev entries driver
cpuidle: using governor ladder
cpuidle: using governor menu
sdhci: Secure Digital Host Controller Interface driver
sdhci: Copyright(c) Pierre Ossman
mmc0: mvsdio driver initialized, using GPIO 47 for card detection
mv_xor_shared mv_xor_shared.0: Marvell shared XOR driver
mv_xor_shared mv_xor_shared.1: Marvell shared XOR driver
mv_xor mv_xor.0: Marvell XOR: ( xor cpy )
mv_xor mv_xor.1: Marvell XOR: ( xor fill cpy )
mv_xor mv_xor.2: Marvell XOR: ( xor cpy )
ata1: SATA link down (SStatus 0 SControl F300)
mv_xor mv_xor.3: Marvell XOR: ( xor fill cpy )
usbcore: registered new interface driver hiddev
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
oprofile: hardware counters not available
oprofile: using timer interrupt.
TCP cubic registered
NET: Registered protocol family 17
lib80211: common routines for IEEE802.11 drivers
rtc-mv rtc-mv: setting system clock to 2010-08-08 13:56:08 UTC (1281275768)
IP-Config: Complete:
     device=eth0, addr=10.4.50.4, mask=255.255.255.0, gw=10.4.50.5,
     host=DB88FXX81, domain=, nis-domain=(none),
     bootserver=10.4.50.5, rootserver=10.4.50.5, rootpath=
eth0: link up, 1000 Mb/s, full duplex, flow control disabled
ata2: link is slow to respond, please be patient (ready=0)
ata2: SRST failed (errno=-16)
ata2: link is slow to respond, please be patient (ready=0)
ata2: SATA link up 3.0 Gbps (SStatus 123 SControl F300)
ata2.00: ATA-8: Hitachi HDS722020ALA330, JKAOA3EA, max UDMA/133
ata2.00: 3907029168 sectors, multi 0: LBA48 NCQ (depth 31/32)
ata2.00: configured for UDMA/133
scsi 1:0:0:0: Direct-Access     ATA      Hitachi HDS72202 JKAO PQ: 0 ANSI: 5
sd 1:0:0:0: [sda] 3907029168 512-byte logical blocks: (2.00 TB/1.81 TiB)
sd 1:0:0:0: Attached scsi generic sg0 type 0
sd 1:0:0:0: [sda] Write Protect is off
sd 1:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
 sda: sda1
sd 1:0:0:0: [sda] Attached SCSI disk
VFS: Mounted root (jffs2 filesystem) on device 31:1.
Freeing init memory: 148K
 * Filesystem type 'fusectl' is not supported. Skipping mount.
 * Setting preliminary keymap...                                         [ OK ]
 * Starting kernel event manager...                                      [ OK ]
 * Loading hardware drivers...                                           [ OK ]
 * Loading kernel modules...                                                     * Loading manual drivers...                                                       [ OK ]
 * Setting kernel variables (/etc/sysctl.conf)...                        [ OK ]
 * Setting kernel variables (/etc/sysctl.d/10-console-messages.conf)...  [ OK ]
 * Setting kernel variables (/etc/sysctl.d/10-network-security.conf)...  [ OK ]
 * Activating swap...                                                    [ OK ]
 * Starting early crypto disks...                                        [ OK ]
 * Starting remaining crypto disks...                                    [ OK ]
 * Checking file systems...                                                     fsck 1.41.4 (27-Jan-2009)
                                                                         [ OK ]
 * Mounting local filesystems...                                         [fail]
 * Activating swapfile swap...                                           [ OK ]
 * Configuring network interfaces...                                     [ OK ]
 * Starting portmap daemon...                                            [ OK ]
 * Starting NFS common utilities                                         [ OK ]
 * Setting up console font and keymap...                                 [ OK ]
 * Starting system log daemon...
Ubuntu 9.04 debian ttyS0

debian login:                                                            [ OK ]
                                                                                * Starting kernel log daemon...                                                    [ OK ]
                                                                                * Starting OpenBSD Secure Shell server sshd                                        [ OK ]
                                                                                * Starting NFS common utilities                                                    [ OK ]
                                                                               Starting unfs3: unfs3.
            * Starting periodic command scheduler crond                  [ OK ]
Ubuntu 9.04 debian ttyS0

debian login:

成功!!

# あまり関係ないけど、Ubuntu 10.04 LTSにアップグレードを試みたところlibc6の更新で失敗する。

カテゴリー: KURO-SHEEVA, 未分類 | タグ: , , | コメントする

玄芝のカーネルを2.6.35にアップグレード(3)

この記事は2年以上前に書いたものです。
そのため情報が古い可能性があります。ご了承ください。m(_ _)m

玄芝のカーネルを2.6.35にアップグレード(2) の続き

3. TFTPD + NFS でブート

ビルドしたカーネルをいきなりKuroSheevaのNANDに書き込むのは、
ちょっと怖いので、ちゃんと動くことを確認してからにしたい。

ってことで、tftpd + NFSの環境を構築すれば、
NANDに手を加えずに起動できるらしいので、それをやる。

必要な物は、
・uImage
・rootfs
・tftpd-hpa
・nfs-server

手順は、
1. SheevaPlugのrootfsを展開
2. ビルドしたカーネルで起動
3. KuroSheevaのNANDをmountして、全データを固める
4. 2で固めたデータを、NFSサーバに展開(オリジナルrootfs)
5. ビルドしたカーネル+↑で展開したオリジナルrootfs で起動

$ sudo aptitude install tftpd-hpa
$ sudo aptitude install nfs-kernel-server

クロスコンパイラ環境を作るときに、SheevaPlug_Host_SWsupportPackageLinuxHost1.2.zipを取得して展開しましたが、
その中に「Linux Host Filesystem – rootfs.tar.bz2」なるファイルも含まれているので、
そいつを展開するとrootfsv1.0 というディレクトリが出来る。

$ tar jtvf  Linux\ Host\ Filesystem\ -\ rootfs.tar.bz2
$ ls -l rootfsv1.0/
合計 68
drwxr-xr-x  2 root root  4096 2008-02-27 02:25 bin
drwxr-xr-x  4 root root 36864 2008-02-27 02:27 dev
drwxr-xr-x  3 root root  4096 2008-02-27 02:19 etc
drwxr-xr-x  2 root root  4096 2008-02-27 02:19 lib
lrwxrwxrwx  1 root root    11 2010-08-06 14:49 linuxrc -> bin/busybox
drwxr-xr-x  2 root root  4096 2009-02-25 13:45 mnt
drwxr-xr-x  2 root root  4096 2008-02-27 02:26 proc
drwxr-xr-x  2 root root  4096 2008-02-27 02:19 sbin
drwxr-xr-x 10 root root  4096 2008-02-27 02:25 usr

このディレクトリをNFSで公開する。

現状の設定は↓こんな感じ。

$ cat /etc/hosts | grep kurosheeva
127.0.1.1       kurosheeva-dev
192.168.0.44 kurosheeva
$ cat /etc/exports |grep root
/home/user/KuroSheeva/rootfsv1.0 kurosheeva(rw,no_root_squash,sync,no_subtree_check)
$ ifconfig | grep inet | grep 192
          inetアドレス:192.168.0.210  ブロードキャスト:192.168.0.255  マスク:255.255.255.0
$ sudo /etc/init.d/nfs-kernel-server restart

玄芝本体のIPアドレスは、192.168.0.44とした(ブラッグスの背番号と同じ)
そのIPアドレス向けに、/home/user/KuroSheeva/rootfsv1.0 というディレクトリを公開。
ちなみに、NFSサーバのIPアドレスは、192.168.0.210

tftpd-hpaの設定は、/etc/default/tftpd-hpa を修正するらしい。
ググったらOPTION, RUN_DAEMONを修正しろって出てくるけど、
そのオプションがそもそも無かったので、追加した。

$ cat /etc/default/tftpd-hpa
# /etc/default/tftpd-hpa

TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/var/lib/tftpboot"
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="--secure"

RUN_DAEMON="yes"
OPTIONS="-c -l -s /var/lib/tftpboot"
$ sudo /etc/init.d/tftpd-hpa start

カーネルビルド時に作成したmoduleを、
rootfs内にコピーする。

$ sudo cp -pr /home/user/tftpboot/lib/modules /home/user/KuroSheeva/rootfsv1.0/lib/

これで、起動する準備が整ったので、
玄芝とPCをUSB-Serialケーブルで繋げて、玄芝を再起動。

Ubuntu 9.04 debian ttyS0

debian login: root
Password:
Linux debian 2.6.22.18 #1 Thu Mar 19 14:46:22 IST 2009 armv5tejl

The programs included with the Ubuntu system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
applicable law.

To access official Ubuntu documentation, please visit:
http://help.ubuntu.com/
root@debian:~# reboot
root@debian:~#
Broadcast message from root@debian
        (/dev/ttyS0) at 1:51 ...

The system is going down for reboot NOW!
 * Stopping Samba daemons                                                [ OK ]
 * Saving the system clock
Stopping unfs3: unfs3.
 * Asking all remaining processes to terminate...                        [ OK ]
 * All processes ended within 2 seconds....                              [ OK ]
 * Stopping portmap daemon...                                            [ OK ]
 * not deconfiguring network interfaces: network file systems still mounted.
 * Unmounting temporary filesystems...                                   [ OK ]
 * Deactivating swap...                                                  [ OK ]
 * Stopping remaining crypto disks...                                    [ OK ]
 * Stopping early crypto disks...                                        [ OK ]
 * Will now restart
Restarting system.

         __  __                      _ _
        |  \/  | __ _ _ ____   _____| | |
        | |\/| |/ _` | '__\ \ / / _ \ | |
        | |  | | (_| | |   \ V /  __/ | |
        |_|  |_|\__,_|_|    \_/ \___|_|_|
 _   _     ____              _
| | | |   | __ )  ___   ___ | |_
| | | |___|  _ \ / _ \ / _ \| __|
| |_| |___| |_) | (_) | (_) | |_
 \___/    |____/ \___/ \___/ \__|
 ** MARVELL BOARD: SHEEVA PLUG LE

U-Boot 1.1.4 (Sep  7 2009 - 20:21:09) Marvell version: 3.4.16

U-Boot code: 00600000 -> 0067FFF0  BSS: -> 006CEE60

Soc: 88F6281 A0 (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 CS[1] base 0x10000000   size 256MB
DRAM Total size 512MB  16bit width
Flash:  0 kB
Addresses 8M - 0M are saved for the U-Boot usage.
Mem malloc Initialization (8M - 7M): Done
NAND:512 MB

CPU : Marvell Feroceon (Rev 1)

Streaming disabled
Write allocate disabled


USB 0: host mode
PEX 0: interface detected no Link.
Net:   egiga0 [PRIME], egiga1
Hit any key to stop autoboot:  0
Marvell>>

SheevaPlug/NFSroot – PukiWiki
の通りに設定して、起動。

Marvell>> setenv ipaddr 192.168.0.44
Marvell>> setenv serverip 192.168.0.210
Marvell>> setenv rootpath '/home/user/KuroSheeva/rootfsv1.0'
Marvell>> setenv console_base console='ttyS0,115200 mtdparts=orion_nand:0x400000@0x100000(uImage),0x1fb00000@0x500000(rootfs) rw'
Marvell>> setenv bootargs_nfs 'root=/dev/nfs rw'
Marvell>> setenv bootnfs 'tftpboot $(loadaddr) $(image_name)'
Marvell>> setenv bootcmd_nfs 'setenv bootargs $(console_base) $(bootargs_nfs) nfsroot=$(serverip):$(rootpath) ip=$(ipaddr):$(serverip)$(bootargs_end); run bootnfs; bootm $(loadaddr)'
Marvell>> saveenv

「run bootcmd_nfs」を叩くと起動する。

Marvell>> run bootcmd_nfs
Using egiga0 device
TFTP from server 192.168.0.210; our IP address is 192.168.0.44
Filename 'uImage'.
Load address: 0x2000000
Loading: #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         ####################################
done
Bytes transferred = 2844560 (2b6790 hex)
## Booting image at 02000000 ...
   Image Name:   Linux-2.6.35
   Created:      2010-08-06  18:48:15 UTC
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    2844496 Bytes =  2.7 MB
   Load Address: 00008000
   Entry Point:  00008000
   Verifying Checksum ... OK
OK

Starting kernel ...

Uncompressing Linux... done, booting the kernel.
Linux version 2.6.35 (user@kurosheeva-dev) (gcc version 4.2.1) #4 PREEMPT Sat Aug 7 03:48:11 JST 2010
CPU: Feroceon 88FR131 [56251311] revision 1 (ARMv5TE), cr=00053177
CPU: VIVT data cache, VIVT instruction cache
Machine: Marvell eSATA SheevaPlug Reference Board
Memory policy: ECC disabled, Data cache writeback
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 130048
Kernel command line: console=ttyS0,115200 mtdparts=orion_nand:0x400000@0x100000(uImage),0x1fb00000@0x500000(rootfs) rw root=/dev/nfs rw nfsroot=192.168.0.210:/home/user/KuroSheeva/rootfsv1.0 ip=192.168.0.44:192.168.0.210:::DB88FXX81:eth0:none
PID hash table entries: 2048 (order: 1, 8192 bytes)
Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
Memory: 256MB 256MB = 512MB total
Memory: 513356k/513356k available, 10932k reserved, 0K highmem
Virtual kernel memory layout:
    vector  : 0xffff0000 - 0xffff1000   (   4 kB)
    fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
    DMA     : 0xffc00000 - 0xffe00000   (   2 MB)
    vmalloc : 0xe0800000 - 0xfe800000   ( 480 MB)
    lowmem  : 0xc0000000 - 0xe0000000   ( 512 MB)
    modules : 0xbf000000 - 0xc0000000   (  16 MB)
      .init : 0xc0008000 - 0xc002d000   ( 148 kB)
      .text : 0xc002d000 - 0xc0525000   (5088 kB)
      .data : 0xc0570000 - 0xc05a0040   ( 193 kB)
SLUB: Genslabs=11, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
Hierarchical RCU implementation.
        RCU-based detection of stalled CPUs is disabled.
        Verbose stalled-CPUs detection is disabled.
NR_IRQS:114
Console: colour dummy device 80x30
Calibrating delay loop... 1192.75 BogoMIPS (lpj=5963776)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
NET: Registered protocol family 16
Kirkwood: MV88F6281-A0, TCLK=200000000.
Feroceon L2: Enabling L2
Feroceon L2: Cache support initialised.
bio: create slab <bio-0> at 0
vgaarb: loaded
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
cfg80211: Calling CRDA to update world regulatory domain
Switching to clocksource orion_clocksource
NET: Registered protocol family 2
IP route cache hash table entries: 4096 (order: 2, 16384 bytes)
TCP established hash table entries: 16384 (order: 5, 131072 bytes)
TCP bind hash table entries: 16384 (order: 4, 65536 bytes)
TCP: Hash tables configured (established 16384 bind 16384)
TCP reno registered
UDP hash table entries: 256 (order: 0, 4096 bytes)
UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
NET: Registered protocol family 1
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
JFFS2 version 2.2. (NAND) ツゥ 2001-2006 Red Hat, Inc.
JFS: nTxBlock = 4010, nTxLock = 32084
msgmni has been set to 1002
alg: No test for stdrng (krng)
io scheduler noop registered
io scheduler deadline registered
io scheduler cfq registered (default)
Serial: 8250/16550 driver, 2 ports, IRQ sharing disabled
serial8250.0: ttyS0 at MMIO 0xf1012000 (irq = 33) is a 16550A
console [ttyS0] enabled
brd: module loaded
loop: module loaded
sata_mv sata_mv.0: version 1.28
sata_mv sata_mv.0: slots 32 ports 2
scsi0 : sata_mv
scsi1 : sata_mv
ata1: SATA max UDMA/133 irq 21
ata2: SATA max UDMA/133 irq 21
NAND device: Manufacturer ID: 0xec, Chip ID: 0xdc (Samsung NAND 512MiB 3,3V 8-bit)
Scanning device for bad blocks
Bad eraseblock 1235 at 0x000009a60000
2 cmdlinepart partitions found on MTD device orion_nand
Creating 2 MTD partitions on "orion_nand":
0x000000100000-0x000000500000 : "uImage"
0x000000500000-0x000020000000 : "rootfs"
MV-643xx 10/100/1000 ethernet driver version 1.4
mv643xx_eth smi: probed
net eth0: port 0 with MAC address 00:50:43:01:44:67
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
orion-ehci orion-ehci.0: Marvell Orion EHCI
orion-ehci orion-ehci.0: new USB bus registered, assigned bus number 1
orion-ehci orion-ehci.0: irq 19, io mem 0xf1050000
orion-ehci orion-ehci.0: USB 2.0 started, EHCI 1.00
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
usbcore: registered new interface driver ums-datafab
usbcore: registered new interface driver ums-freecom
usbcore: registered new interface driver ums-jumpshot
usbcore: registered new interface driver ums-sddr09
usbcore: registered new interface driver ums-sddr55
mice: PS/2 mouse device common for all mice
rtc-mv rtc-mv: rtc core: registered rtc-mv as rtc0
i2c /dev entries driver
cpuidle: using governor ladder
cpuidle: using governor menu
sdhci: Secure Digital Host Controller Interface driver
sdhci: Copyright(c) Pierre Ossman
mmc0: mvsdio driver initialized, using GPIO 47 for card detection
mv_xor_shared mv_xor_shared.0: Marvell shared XOR driver
mv_xor_shared mv_xor_shared.1: Marvell shared XOR driver
mv_xor mv_xor.0: Marvell XOR: ( xor cpy )
mv_xor mv_xor.1: Marvell XOR: ( xor fill cpy )
mv_xor mv_xor.2: Marvell XOR: ( xor cpy )
ata1: SATA link down (SStatus 0 SControl F300)
mv_xor mv_xor.3: Marvell XOR: ( xor fill cpy )
usbcore: registered new interface driver hiddev
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
oprofile: hardware counters not available
oprofile: using timer interrupt.
TCP cubic registered
NET: Registered protocol family 17
lib80211: common routines for IEEE802.11 drivers
rtc-mv rtc-mv: setting system clock to 2010-08-08 10:03:14 UTC (1281261794)
IP-Config: Guessing netmask 255.255.255.0
IP-Config: Complete:
     device=eth0, addr=192.168.0.44, mask=255.255.255.0, gw=255.255.255.255,
     host=DB88FXX81, domain=, nis-domain=(none),
     bootserver=192.168.0.210, rootserver=192.168.0.210, rootpath=
eth0: link up, 1000 Mb/s, full duplex, flow control disabled
ata2: link is slow to respond, please be patient (ready=0)
ata2: SRST failed (errno=-16)
ata2: link is slow to respond, please be patient (ready=0)
ata2: SATA link up 3.0 Gbps (SStatus 123 SControl F300)
ata2.00: ATA-8: Hitachi HDS722020ALA330, JKAOA3EA, max UDMA/133
ata2.00: 3907029168 sectors, multi 0: LBA48 NCQ (depth 31/32)
ata2.00: configured for UDMA/133
scsi 1:0:0:0: Direct-Access     ATA      Hitachi HDS72202 JKAO PQ: 0 ANSI: 5
sd 1:0:0:0: [sda] 3907029168 512-byte logical blocks: (2.00 TB/1.81 TiB)
sd 1:0:0:0: Attached scsi generic sg0 type 0
sd 1:0:0:0: [sda] Write Protect is off
sd 1:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
 sda: sda1
sd 1:0:0:0: [sda] Attached SCSI disk
Looking up port of RPC 100003/2 on 192.168.0.210
Looking up port of RPC 100005/1 on 192.168.0.210
VFS: Mounted root (nfs filesystem) on device 0:13.
Freeing init memory: 148K
init started: BusyBox v1.7.0 (2008-02-26 19:25:17 IST)
starting pid 574, tty '': '/etc/init.d/rcS'
starting pid 576, tty '': '/bin/sh'
-sh-3.2#

起動できたので、kuro-sheevaのNANDをmount

-sh-3.2# cat /dev/mtdblock
cat: can't open '/dev/mtdblock': No such file or directory
-sh-3.2# cat /proc/mtd
dev:    size   erasesize  name
mtd0: 00400000 00020000 "uImage"
mtd1: 1fb00000 00020000 "rootfs"
-sh-3.2# mount /dev/mtdblock1 /mnt
mount: mounting /dev/mtdblock1 on /mnt failed: Invalid argument
-sh-3.2# mount -t jffs2 /dev/mtdblock1 /mnt
-sh-3.2# cd /
-sh-3.2# ls
bin      etc      linuxrc  proc     usr
dev      lib      mnt      sbin
-sh-3.2# cd mnt
-sh-3.2# tar zcf /rootfs_custom.tar.gz .
-sh-3.2#

これで玄芝本体から、オリジナルなrootfsが取得できたので、
NFSサーバ側からrootfs_custom.tar.gzを参照し、展開。

$ cd /home/user/KuroSheeva
$ ls
rootfsv1.0
$ mkdir rootfs_custom
$ cd rootfs_custom
$ sudo tar zxvfp ../rootfsv1.0/rootfs_custom.tar.gz
$ sudo cp -pr /var/lib/tftpboot/lib/modules/2.6.35 lib/modules/

rootfsv1.0と同じようにexport。

$ grep rootfs /etc/exports
/home/user/KuroSheeva/rootfsv1.0 kurosheeva(rw,no_root_squash,sync,no_subtree_check)
/home/user/KuroSheeva/rootfs_custom kurosheeva(rw,no_root_squash,sync,no_subtree_check)

玄芝がIPアドレスをDHCPで取得するような設定になっている場合、
起動時に失敗するので、staticに変更。

vi rootfs_custom/etc/network/interfaces
---
auto eth0
#iface eth0 inet dhcp
iface eth0 inet static
# /usr/share/doc/ifupdown/examples for more information.
address 192.168.0.44
netmask 255.255.255.0
gateway 192.168.0.20
---

玄芝本体を再起動

-sh-3.2# reboot
The system is going down NOW!
Sending SIGTERM to all processes
Requesting system reboot
sd 1:0:0:0: [sda] Synchronizing SCSI cache
Restarting system.

         __  __                      _ _
        |  \/  | __ _ _ ____   _____| | |
        | |\/| |/ _` | '__\ \ / / _ \ | |
        | |  | | (_| | |   \ V /  __/ | |
        |_|  |_|\__,_|_|    \_/ \___|_|_|
 _   _     ____              _
| | | |   | __ )  ___   ___ | |_
| | | |___|  _ \ / _ \ / _ \| __|
| |_| |___| |_) | (_) | (_) | |_
 \___/    |____/ \___/ \___/ \__|
 ** MARVELL BOARD: SHEEVA PLUG LE

U-Boot 1.1.4 (Sep  7 2009 - 20:21:09) Marvell version: 3.4.16

U-Boot code: 00600000 -> 0067FFF0  BSS: -> 006CEE60

Soc: 88F6281 A0 (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 CS[1] base 0x10000000   size 256MB
DRAM Total size 512MB  16bit width
Flash:  0 kB
Addresses 8M - 0M are saved for the U-Boot usage.
Mem malloc Initialization (8M - 7M): Done
NAND:512 MB

CPU : Marvell Feroceon (Rev 1)

Streaming disabled
Write allocate disabled


USB 0: host mode
PEX 0: interface detected no Link.
Net:   egiga0 [PRIME], egiga1
Hit any key to stop autoboot:  0
Marvell>>

rootfs_customから起動するため、環境変数を変更。

Marvell>> setenv rootpath '/home/user/KuroSheeva/rootfs_custom'
Marvell>> saveenv
Marvell>> run bootcmd_nfs
Using egiga0 device
TFTP from server 192.168.0.210; our IP address is 192.168.0.44
Filename 'uImage'.
Load address: 0x2000000
Loading: #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         ####################################
done
Bytes transferred = 2844560 (2b6790 hex)
## Booting image at 02000000 ...
   Image Name:   Linux-2.6.35
   Created:      2010-08-06  18:48:15 UTC
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    2844496 Bytes =  2.7 MB
   Load Address: 00008000
   Entry Point:  00008000
   Verifying Checksum ... OK
OK

Starting kernel ...

Uncompressing Linux... done, booting the kernel.
Linux version 2.6.35 (user@kurosheeva-dev) (gcc version 4.2.1) #4 PREEMPT Sat Aug 7 03:48:11 JST 2010
CPU: Feroceon 88FR131 [56251311] revision 1 (ARMv5TE), cr=00053177
CPU: VIVT data cache, VIVT instruction cache
Machine: Marvell eSATA SheevaPlug Reference Board
Memory policy: ECC disabled, Data cache writeback
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 130048
Kernel command line: console=ttyS0,115200 mtdparts=orion_nand:0x400000@0x100000(uImage),0x1fb00000@0x500000(rootfs) rw root=/dev/nfs rw nfsroot=192.168.0.210:/home/user/KuroSheeva/rootfs_custom ip=192.168.0.44:192.168.0.210:::DB88FXX81:eth0:none
PID hash table entries: 2048 (order: 1, 8192 bytes)
Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
Memory: 256MB 256MB = 512MB total
Memory: 513356k/513356k available, 10932k reserved, 0K highmem
Virtual kernel memory layout:
    vector  : 0xffff0000 - 0xffff1000   (   4 kB)
    fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
    DMA     : 0xffc00000 - 0xffe00000   (   2 MB)
    vmalloc : 0xe0800000 - 0xfe800000   ( 480 MB)
    lowmem  : 0xc0000000 - 0xe0000000   ( 512 MB)
    modules : 0xbf000000 - 0xc0000000   (  16 MB)
      .init : 0xc0008000 - 0xc002d000   ( 148 kB)
      .text : 0xc002d000 - 0xc0525000   (5088 kB)
      .data : 0xc0570000 - 0xc05a0040   ( 193 kB)
SLUB: Genslabs=11, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
Hierarchical RCU implementation.
        RCU-based detection of stalled CPUs is disabled.
        Verbose stalled-CPUs detection is disabled.
NR_IRQS:114
Console: colour dummy device 80x30
Calibrating delay loop... 1192.75 BogoMIPS (lpj=5963776)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
NET: Registered protocol family 16
Kirkwood: MV88F6281-A0, TCLK=200000000.
Feroceon L2: Enabling L2
Feroceon L2: Cache support initialised.
bio: create slab <bio-0> at 0
vgaarb: loaded
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
cfg80211: Calling CRDA to update world regulatory domain
Switching to clocksource orion_clocksource
NET: Registered protocol family 2
IP route cache hash table entries: 4096 (order: 2, 16384 bytes)
TCP established hash table entries: 16384 (order: 5, 131072 bytes)
TCP bind hash table entries: 16384 (order: 4, 65536 bytes)
TCP: Hash tables configured (established 16384 bind 16384)
TCP reno registered
UDP hash table entries: 256 (order: 0, 4096 bytes)
UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
NET: Registered protocol family 1
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
JFFS2 version 2.2. (NAND) ツゥ 2001-2006 Red Hat, Inc.
JFS: nTxBlock = 4010, nTxLock = 32084
msgmni has been set to 1002
alg: No test for stdrng (krng)
io scheduler noop registered
io scheduler deadline registered
io scheduler cfq registered (default)
Serial: 8250/16550 driver, 2 ports, IRQ sharing disabled
serial8250.0: ttyS0 at MMIO 0xf1012000 (irq = 33) is a 16550A
console [ttyS0] enabled
brd: module loaded
loop: module loaded
sata_mv sata_mv.0: version 1.28
sata_mv sata_mv.0: slots 32 ports 2
scsi0 : sata_mv
scsi1 : sata_mv
ata1: SATA max UDMA/133 irq 21
ata2: SATA max UDMA/133 irq 21
NAND device: Manufacturer ID: 0xec, Chip ID: 0xdc (Samsung NAND 512MiB 3,3V 8-bit)
Scanning device for bad blocks
Bad eraseblock 1235 at 0x000009a60000
2 cmdlinepart partitions found on MTD device orion_nand
Creating 2 MTD partitions on "orion_nand":
0x000000100000-0x000000500000 : "uImage"
0x000000500000-0x000020000000 : "rootfs"
MV-643xx 10/100/1000 ethernet driver version 1.4
mv643xx_eth smi: probed
net eth0: port 0 with MAC address 00:50:43:01:44:67
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
orion-ehci orion-ehci.0: Marvell Orion EHCI
orion-ehci orion-ehci.0: new USB bus registered, assigned bus number 1
orion-ehci orion-ehci.0: irq 19, io mem 0xf1050000
orion-ehci orion-ehci.0: USB 2.0 started, EHCI 1.00
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
usbcore: registered new interface driver ums-datafab
usbcore: registered new interface driver ums-freecom
usbcore: registered new interface driver ums-jumpshot
usbcore: registered new interface driver ums-sddr09
usbcore: registered new interface driver ums-sddr55
mice: PS/2 mouse device common for all mice
rtc-mv rtc-mv: rtc core: registered rtc-mv as rtc0
i2c /dev entries driver
cpuidle: using governor ladder
cpuidle: using governor menu
sdhci: Secure Digital Host Controller Interface driver
sdhci: Copyright(c) Pierre Ossman
mmc0: mvsdio driver initialized, using GPIO 47 for card detection
mv_xor_shared mv_xor_shared.0: Marvell shared XOR driver
mv_xor_shared mv_xor_shared.1: Marvell shared XOR driver
mv_xor mv_xor.0: Marvell XOR: ( xor cpy )
mv_xor mv_xor.1: Marvell XOR: ( xor fill cpy )
mv_xor mv_xor.2: Marvell XOR: ( xor cpy )
ata1: SATA link down (SStatus 0 SControl F300)
mv_xor mv_xor.3: Marvell XOR: ( xor fill cpy )
usbcore: registered new interface driver hiddev
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
oprofile: hardware counters not available
oprofile: using timer interrupt.
TCP cubic registered
NET: Registered protocol family 17
lib80211: common routines for IEEE802.11 drivers
rtc-mv rtc-mv: setting system clock to 2010-08-08 12:54:20 UTC (1281272060)
IP-Config: Guessing netmask 255.255.255.0
IP-Config: Complete:
     device=eth0, addr=192.168.0.44, mask=255.255.255.0, gw=255.255.255.255,
     host=DB88FXX81, domain=, nis-domain=(none),
     bootserver=192.168.0.210, rootserver=192.168.0.210, rootpath=
eth0: link up, 1000 Mb/s, full duplex, flow control disabled
ata2: link is slow to respond, please be patient (ready=0)
ata2: SRST failed (errno=-16)
ata2: link is slow to respond, please be patient (ready=0)
ata2: SATA link up 3.0 Gbps (SStatus 123 SControl F300)
ata2.00: ATA-8: Hitachi HDS722020ALA330, JKAOA3EA, max UDMA/133
ata2.00: 3907029168 sectors, multi 0: LBA48 NCQ (depth 31/32)
ata2.00: configured for UDMA/133
scsi 1:0:0:0: Direct-Access     ATA      Hitachi HDS72202 JKAO PQ: 0 ANSI: 5
sd 1:0:0:0: [sda] 3907029168 512-byte logical blocks: (2.00 TB/1.81 TiB)
sd 1:0:0:0: Attached scsi generic sg0 type 0
sd 1:0:0:0: [sda] Write Protect is off
sd 1:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
 sda: sda1
sd 1:0:0:0: [sda] Attached SCSI disk
Looking up port of RPC 100003/2 on 192.168.0.210
Looking up port of RPC 100005/1 on 192.168.0.210
VFS: Mounted root (nfs filesystem) on device 0:13.
Freeing init memory: 148K
 * Filesystem type 'fusectl' is not supported. Skipping mount.
 * Setting preliminary keymap...                                         [ OK ]
 * Starting kernel event manager...                                      [ OK ]
 * Loading hardware drivers...                                           [ OK ]
 * Loading kernel modules...                                                     * Loading manual drivers...                                                       [ OK ]
 * Setting kernel variables (/etc/sysctl.conf)...                        [ OK ]
 * Setting kernel variables (/etc/sysctl.d/10-console-messages.conf)...  [ OK ]
 * Setting kernel variables (/etc/sysctl.d/10-network-security.conf)...  [ OK ]
 * Activating swap...                                                    [ OK ]
 * Starting early crypto disks...                                        [ OK ]
 * Starting remaining crypto disks...                                    [ OK ]
 * Checking file systems...                                                     fsck 1.41.4 (27-Jan-2009)
                                                                         [ OK ]
 * Mounting local filesystems...                                         [fail]
 * Activating swapfile swap...                                           [ OK ]
 * Configuring network interfaces...                                     [ OK ]
 * Starting portmap daemon...                                            [ OK ]
 * Setting up console font and keymap...                                 [ OK ]
 * Starting system log daemon...
Ubuntu 9.04 debian ttyS0

debian login:                                                            [ OK ]
                                                                                * Starting kernel log daemon...                                                    [ OK ]
                                                                                * Starting system message bus dbus                                                 [ OK ]
                                                                                * Starting OpenBSD Secure Shell server sshd                                        [ OK ]
                                                                                * Starting Samba daemons                                                           [ OK ]
                                                                               Starting unfs3: unfs3.
            * Starting periodic command scheduler crond                  [ OK ]

Ubuntu 9.04 debian ttyS0

debian login:

起動成功!
続く?

カテゴリー: KURO-SHEEVA | タグ: , , | コメントする

blog-modeをWordPressでも使えるらしい

この記事は2年以上前に書いたものです。
そのため情報が古い可能性があります。ご了承ください。m(_ _)m

デフォルトでは使えない。。
でもググったら、拡張して使えるようにした人がいた。
ちゃんだな -nonsense- – blog-modeをWordPress対応に
また、タグも編集出来るらしい。
ちゃんだな -nonsense- – blog-mode改造

でも再編集で保存すると何故かエラーに。。
wordpressが返すpostidがintだから(?)上手くできないっぽかったので、
postidがintの場合、文字列に変換すると一応動いた。

;site-lisp/blog/cocolog.l
(xmlrpcm::metaWeblog-editPost endpoint
-                   postid
+                   (if (integerp postid)
+                       (format nil "~D" postid)
+                     (eval postid))
bloguser

ついでに、Post と Edit のバッファを表示するようにカスタマイズ。

;site-lisp/blog/defs.l
(defvar *buffer-prefix*
(format nil " *~A " *prog-name*))
+(defvar *buffer-show-prefix*
+  (format nil "*~A " *prog-name*))
(defvar *buffer-post*
-  (concat *buffer-prefix* "Post*"))
+  (concat *buffer-show-prefix* "Post*"))
(defvar *buffer-edit*
-  (concat *buffer-prefix* "Edit*"))
+  (concat *buffer-show-prefix* "Edit*"))
カテゴリー: ソフトウェア | タグ: , | コメントする

玄芝のカーネルを2.6.35にアップグレード(2)

この記事は2年以上前に書いたものです。
そのため情報が古い可能性があります。ご了承ください。m(_ _)m

玄芝のカーネルを2.6.35にアップグレードの続き。

2. カーネルビルド

メインラインのカーネルが、SheevaPlugに対応しているそうなので、www.kernel.orgからソース取得。

cross_compile_123 cross_compile_125 cross_compile_126 cross_compile_127

 

公開キー取得した後、署名チェック。 (一応)

$ gpg --keyserver wwwkeys.pgp.net --recv-keys 0x517D0F0E
$ gpg --verify linux-2.6.35.tar.bz2.sign

cross_compile_128 cross_compile_129

http://sheeva.with-linux.com/sheeva/からパッチ+configファイルを落としてくる。2.6.35用のは無いので、2.6.34.2用のを。

cross_compile_131 cross_compile_132 cross_compile_133 cross_compile_134 cross_compile_135

落としてきたパッチの内、

  • 0001-Kirkwood-Marvell-GuruPlug-support-2.6.34.patch
  • 0002-Driver-for-Marvell-Libertas-8688-SDIO-micro-AP-suppo.patch
  • 0003-Initial-defconfig.patch

は、GuruPlug用?っぽいので、ほっとく。

  • linux-2.6.29-usb-serial-evdo.patch

を当てると、2カ所NG。だったので、手パッチ。

$ patch -p0 &lt; ../linux-2.6.29-usb-serial-evdo.patch
patching file ./drivers/usb/serial/usb-serial.c
Hunk #1 succeeded at 61 (offset 2 lines).
Hunk #2 FAILED at 844.
Hunk #3 FAILED at 868.
Hunk #4 succeeded at 994 (offset 100 lines).
Hunk #5 succeeded at 1027 (offset 100 lines).
Hunk #6 succeeded at 1389 (offset 113 lines).
2 out of 6 hunks FAILED -- saving rejects to file ./drivers/usb/serial/usb-serial.c.rej

手パッチしたのをdiff取ると↓。正しいかどうかは不明。。

$ diff -c usb-serial.c.orig usb-serial.c
*** usb-serial.c.orig   2010-08-02 07:11:14.000000000 +0900
--- usb-serial.c        2010-08-06 13:57:28.130235255 +0900
***************
*** 61,66 ****
--- 61,69 ----
     drivers depend on it.
  */

+ static ushort maxRSize __read_mostly = 0;
+ static ushort maxWSize __read_mostly = 0;
+ static ushort maxISize __read_mostly = 0;
  static int debug;
  /* initially all NULL */
  static struct usb_serial *serial_table[SERIAL_TTY_MINORS];
***************
*** 913,918 ****
--- 916,923 ----
                buffer_size = serial-&gt;type-&gt;bulk_in_size;
                if (!buffer_size)
                        buffer_size = le16_to_cpu(endpoint-&gt;wMaxPacketSize);
+               if (buffer_size &lt; maxRSize)
+                       buffer_size = maxRSize;
                port-&gt;bulk_in_size = buffer_size;
                port-&gt;bulk_in_endpointAddress = endpoint-&gt;bEndpointAddress;
                port-&gt;bulk_in_buffer = kmalloc(buffer_size, GFP_KERNEL);
***************
*** 943,948 ****
--- 948,955 ----
                buffer_size = serial-&gt;type-&gt;bulk_out_size;
                if (!buffer_size)
                        buffer_size = le16_to_cpu(endpoint-&gt;wMaxPacketSize);
+               if (buffer_size &lt; maxWSize)
+                       buffer_size = maxWSize;
                port-&gt;bulk_out_size = buffer_size;
                port-&gt;bulk_out_endpointAddress = endpoint-&gt;bEndpointAddress;
                port-&gt;bulk_out_buffer = kmalloc(buffer_size, GFP_KERNEL);
***************
*** 991,996 ****
--- 998,1005 ----
                                goto probe_error;
                        }
                        buffer_size = le16_to_cpu(endpoint-&gt;wMaxPacketSize);
+                       if (buffer_size &lt; maxISize)
+                               buffer_size = maxISize;
                        port-&gt;interrupt_in_endpointAddress =
                                                endpoint-&gt;bEndpointAddress;
                        port-&gt;interrupt_in_buffer = kmalloc(buffer_size,
***************
*** 1022,1027 ****
--- 1031,1038 ----
                                goto probe_error;
                        }
                        buffer_size = le16_to_cpu(endpoint-&gt;wMaxPacketSize);
+                       if (buffer_size &lt; maxISize)
+                               buffer_size = maxISize;
                        port-&gt;interrupt_out_size = buffer_size;
                        port-&gt;interrupt_out_endpointAddress =
                                                endpoint-&gt;bEndpointAddress;
***************
*** 1382,1384 ****
--- 1393,1401 ----

  module_param(debug, bool, S_IRUGO | S_IWUSR);
  MODULE_PARM_DESC(debug, "Debug enabled or not");
+ module_param(maxRSize, ushort, 0);
+ MODULE_PARM_DESC(maxRSize, "User specified USB input buffer size");
+ module_param(maxWSize, ushort, 0);
+ MODULE_PARM_DESC(maxWSize, "User specified USB output buffer size");
+ module_param(maxISize, ushort, 0);
+ MODULE_PARM_DESC(maxISize, "User specified USB interrupt buffer size");

  • mvsdio-1-2.6.30.patch
  • mvsdio-2.patch

この2つのパッチ(udelay入れるパッチ)は普通に適用できた。

configファイルをリネーム。

$ cp sheeva-2.6.34.2.config linux-2.6.35/.config
$ cd linux-2.6.35
$ vi .config

CONFIG_SATA_MV=m
をm から yへ変更しておく。
あとで、libncurses-dev, uboot-mkimage, tftpdが必要になるので、インストールしておく。

$ LANG=C sudo aptitude install libncurses-dev uboot-mkimage tftpd-hpa
$ ln -s /var/lib/tftpboot ~/tftpboot
$ sudo chmod a+w ~/tftpboot

準備が整ったのでので、カーネルビルドを。順番は↓こんな感じで。

  1. make menuconfig
  2. make
  3. make uImage
  4. make modules
  5. make modules_install
user@kurosheeva-dev:~/src/linux-2.6.35$ make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- menuconfig

何もせず「Save an Alternate Configuration File」で保存。そのあと、

user@kurosheeva-dev:~/src/linux-2.6.35$ make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi-
user@kurosheeva-dev:~/src/linux-2.6.35$ make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- uImage<br>user@kurosheeva-dev:~/src/linux-2.6.35$ cp cp arch/arm/boot/uImage ~/tftpboot/
user@kurosheeva-dev:~/src/linux-2.6.35$ make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- modules<br>user@kurosheeva-dev:~/src/linux-2.6.35$ make ARCH=arm INSTALL_MOD_PATH=~/tftpboot CROSS_COMPILE=arm-none-linux-gnueabi- modules_install
  INSTALL crypto/ansi_cprng.ko
  INSTALL crypto/anubis.ko
  INSTALL crypto/async_tx/async_memcpy.ko
・・・
  INSTALL /home/user/tftpboot/lib/firmware/edgeport/down2.fw
  INSTALL /home/user/tftpboot/lib/firmware/edgeport/down3.bin
  INSTALL /home/user/tftpboot/lib/firmware/whiteheat_loader.fw
  INSTALL /home/user/tftpboot/lib/firmware/whiteheat.fw
  MKDIR   /home/user/tftpboot/lib/firmware/keyspan_pda
  INSTALL /home/user/tftpboot/lib/firmware/keyspan_pda/keyspan_pda.fw
  INSTALL /home/user/tftpboot/lib/firmware/keyspan_pda/xircom_pgs.fw
  DEPMOD  2.6.35

エラーがなければ成功。
~/tftpboot 配下に、uImageとlibが出来ているはず。

user@kurosheeva-dev:~$ ls -alrt tftpboot/
 2792
drwxr-xr-x 35 root root       4096 2010-08-06 15:05 ..
drwxr-xr-x  4 user user       4096 2010-08-06 16:00 lib
drwxrwxrwx  3 root nogroup    4096 2010-08-06 16:02 .
-rw-r--r--  1 user user    2844560 2010-08-06 16:02 uImage

続く?

カテゴリー: KURO-SHEEVA | タグ: , , | コメントする

玄芝のカーネルを2.6.35にアップグレード

この記事は2年以上前に書いたものです。
そのため情報が古い可能性があります。ご了承ください。m(_ _)m

↓こんな順番で実施

  1. クロスコンパイル環境構築
  2. カーネルビルド
  3. TFTPD + NFS でブート
  4. NANDに反映

 

1. クロスコンパイル環境構築

玄芝でセルフコンパイルは時間が掛かりそうだったので。玄人志向 – 商品一覧 » キワモノシリーズ » ケース関連/玄箱 » 玄箱 » KURO-SHEEVAによると、u-Boot以外はSheevaPlugと同じっぽい。ちなみに、玄芝に付いてきてたCD-ROMはどっか行った。というか部屋の中に有ると思うけど探すの面倒。
クロスコンパイル/SheevaPlug_DevKits – PukiWiki を参考にさせて頂きました。)

クロスコンパイル環境のバックアップ等々を簡単にできるように、ubuntuなVM(VirtualMachine)上に構築することにした。

Alternative downloads | Ubuntu から、ubuntu-10.04-server-i386.iso.torrentを使って、ubuntu-10.04-server-i386.isoをダウンロード。

cross_compile_001

ESXiで、VM作成。

cross_compile_002 cross_compile_003 cross_compile_004 cross_compile_005 cross_compile_006 cross_compile_007 cross_compile_008 cross_compile_009 cross_compile_010 cross_compile_011 cross_compile_012 cross_compile_013 cross_compile_014

 

ダウンロードしたISOイメージを指定。

cross_compile_015

設定したVMの仮想マシンコンソールを起動して、パワーオン。

cross_compile_016 cross_compile_019 cross_compile_020 cross_compile_021 cross_compile_022 cross_compile_023 cross_compile_024 cross_compile_026 cross_compile_030 cross_compile_033 cross_compile_035 cross_compile_036 cross_compile_038 cross_compile_039 cross_compile_049 cross_compile_051 cross_compile_056 cross_compile_057 cross_compile_059 cross_compile_063 cross_compile_065 cross_compile_066 cross_compile_067 cross_compile_069 cross_compile_070 cross_compile_080 cross_compile_083

インストール完了。

cross_compile_085 cross_compile_086

まずアップデート。と思いきや文字化け。

cross_compile_089

LANG=C付けてやりなおし。

cross_compile_090 cross_compile_097 cross_compile_098

アップデート完了したので、一度シャットダウン。

cross_compile_099

スナップショット作成。名前は適当。

cross_compile_100 cross_compile_102

以降は、sshで繋いで作業。(インストール完了後からsshで良かったんだけどつい。)

cross_compile_103 cross_compile_104 cross_compile_105

SheevaPlug_Host_SWsupportPackageLinuxHost1.2.zipを持ってくる。
plugcomputer.org(Remository) → plugcomputer → plugcomputer software & design information – revision 1.2sheevaplug_host_swsupportpackagelinuxhost1.2.zip と辿ってDownload。

cross_compile_109 cross_compile_110 cross_compile_111 cross_compile_112 cross_compile_113 cross_compile_107 cross_compile_114 cross_compile_115

解凍。

$ unzip -l SheevaPlug_Host_SWsupportPackageLinuxHost1.2.zip
$ LANG=C sudo aptitude install unzip
$ unzip -l SheevaPlug_Host_SWsupportPackageLinuxHost1.2.zip
$ unzip SheevaPlug_Host_SWsupportPackageLinuxHost1.2.zip

cross_compile_116 cross_compile_117 cross_compile_118 cross_compile_119 cross_compile_120

他のクロスコンパイラと整合性を取るため移動。(だそうです)

$ tar jxvf gcc.tar.bz2
$ sudo mkdir /usr/cross
$ sudo mv gcc /usr/cross/sheevaplug
$ export PATH=/usr/cross/sheevaplug/bin:${PATH}
$ arm-none-linux-gnueabi-gcc -v

cross_compile_121 cross_compile_122cross_compile_121 cross_compile_122

玄芝のカーネルを2.6.35にアップグレード(2)へ続く。

カテゴリー: KURO-SHEEVA | タグ: , , | コメントする

玄箱のHDDが認識しなくなっていた。

この記事は2年以上前に書いたものです。
そのため情報が古い可能性があります。ご了承ください。m(_ _)m

いつからか不明だけど、気付いたらアクセスできず。
再起動したら赤いLEDが6回ほど点滅を繰り返す始末。
玄箱のHDDがダメになったのは、これで2回目。
初代玄箱(GbEじゃない奴)だから、もう引退させるかな。。

kurobox_ng_1

 

玄箱からHDD取り外して、別のPCへ接続してみても認識しない。困った。。
室内温度が40℃越えるのがマズイのかな。

カテゴリー: ハードウェア | タグ: , , | コメントする

ワイヤレスステレオヘッドセット MW600を購入

この記事は2年以上前に書いたものです。
そのため情報が古い可能性があります。ご了承ください。m(_ _)m

http://www.sonyericsson.co.jp/product/accessories/mw600/

ヨドバシ・ドットコムにて。

MW600_001 MW600_002 MW600_003 MW600_004 MW600_005

 

“ケータイ・快適・ワイヤレス”GEAR-UPキャンペーン™」で、4,000円分の電子マネー(Edy)が還元されたので、実質10,800 – 4,000 = 6,800円でした。

MW600_006

 

ワイヤレスステレオヘッドセットなる物を今まで使ったことがないので、比較することは出来ないですが。所感でも。

  • 大変小さくて良い。胸ポケットにクリップで止めて使用。胸ポケットが無い(Tシャツとかの)場合、止める場所が無い気が。。
  • 10mくらい離れて かつ ドア越しでも音が途切れなかった。
  • タッチセンサーで音量を変更する必要があって、面倒くさい。(まだ慣れない)
  • 電源ON/OFFが少し押しづらい。
  • 複数の機器(3台まで)を登録可能。(S004とiPod touchを登録して使ってます)
  • 充電器がでかい上に、差しづらい。なんでこの形状にしたんだか。。
  • 音質は、現状特に不満無し。

概ね満足。

カテゴリー: ハードウェア | タグ: , , , | コメントする

BRAVIA Phone S004購入後

この記事は2年以上前に書いたものです。
そのため情報が古い可能性があります。ご了承ください。m(_ _)m

BRAVIA Phone S004購入した後、1週間使ってみた感想をテキトーに列挙。(取扱説明書は一応見た)

全般

  • 全般的にかなりサクサク。でもメール周りはW51Sの方がサクサクだった気がする。
    以前W51S用に作ったフラッシュ(PGの格言.swf)がサクサク過ぎて(?)チラツクようになってた。
  • マルチタスク(クイックアクセスメニュー)がかなり便利。
    W51Sだとezweb中にメール来た場合は、一度ezwebを終了した上でメール見る必要があった。
    まぁ、最近の機種なら必ず搭載されてるんでしょうけど。
    けど、もう少し工夫が欲しいなぁ。クイックキー長押しで、切り替え前のタスクに戻るとか。
  • 待ち受け画面で、↑キー長押しでカレンダーとか、↓キー長押しでデータフォルダとか行けなくなっている。
  • サブディスプレイに秒数が表示されない。W51Sでは表示された。
    このおかげで、つい最近10秒ほど間に合わず、終電に乗り遅れた。。
  • 最下行に表示されるキーの説明が、5つから3つに減っている。
    このおかげで、画面の説明とキーの対応が分かりづらい。

メール

  • W51Sで出来ていた参照返信が出来なくなっている。
  • クイック返信だと引用されない。なんで??
  • デコレーションメールと統合?してメール作成が使いづらくなっている。
    デコレーションメール使う人にとっては、使いやすいのかもしれないけど。
    メールがサクサクじゃない原因の一つかも。

EZweb /  PCSV

  • EZwebで、今表示している画像が保存できない
  • PCSVで、YouTubeが見れない。なんで??
    EZwebだと、YouTube見れることは見れるけど、2分ずつ分割しないと見れない。なんで???
  • お気に入りの並び替えが面倒。
  • rep2のサイドメニューが正常に表示されない。

ハード

  • 指紋がベタベタ。
  • サイドキーがかなり押しづらい。
    ページスクロールに使うのは難しい 。
  • 横にしたとき、キー操作し辛い。 ほとんど横にしないから気にしないけど。
  • ワンセグの感度が悪い。ほとんど見ないから気にしないけど。
  • 画面がキレイで見易い

その他

  • W51SのメールをS004へ移行できない。なんで??
  • 辞書が相当チープ。要らなくね?
  • Wi-Fi WIN使ってもAP(アクセスポイント)にはなれなそうなのが残念。
  • オープンアプリプレイヤーが無くなっていた。
  • PCドキュメントビューアも無い
  • Lismo Videoとかいう不要な機能が追加されてる。

ヘビーユーザーじゃないから、「サクサクさ」と「マルチタスク」が出来るようになっただけで、十分満足だったりするけど、W51Sより劣化している部分は何とかならないものか。スマートフォンだとアップデートで機能追加が期待できるけど、S004とかだと無理でしょうけど。
なんというか最新機種を触っている感じが全くしなかったのがアレだ。au主導だと一生docomoに勝てないような。

カテゴリー: モバイル | タグ: , | コメントする