玄柴のセットアップ(1)KURO-RS の認識

KURO-RS 玄柴(KURO-SHEEVA)

もう2週間を切っているというのに、 オープンソースカンファレンス 2010 Kansai @ Kyoto の展示環境ができていない。

今回は 180cm 幅のブースを2コミュニティで共有する上、 別途 ShevaPlug+ が持ち込まれるので、 机の上はほとんど使わないようにしないとPCさえも置けなくなる。
なので、今回も、 オープンソースカンファレンス 2009 Kansai @ Kobe で展示した「壁」 を基本にしようとは思う。
ただ、上記の通り別途 ShevaPlug+ が持ち込まれるので、 神戸の時のままでは ShevaPlug がかぶってしまう。

と言うわけで、今回は玄柴ベースで出展する。

環境を整えるためのステップその1。KURO-RS の認識

カーネルのアップデート

まずは、カーネルのアップデート。 SheevaPlug の時に準じてカーネルをアップデートする。

インストーラの入手

http://sheeva.with-linux.com/sheeva/ から、 README-2.6.34 をいただいてくる。
root@debian:~# wget http://sheeva.with-linux.com/sheeva/README-2.6.34
--2010-06-27 09:07:39--  http://sheeva.with-linux.com/sheeva/README-2.6.34
Resolving sheeva.with-linux.com... 216.146.103.100
Connecting to sheeva.with-linux.com|216.146.103.100|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 3764 (3.7K) [text/plain]
Saving to: `README-2.6.34'

100%[======================================>] 3,764       --.-K/s   in 0.05s

2010-06-27 09:07:39 (80.5 KB/s) - `README-2.6.34' saved [3764/3764]

root@debian:~#

インストーラの実行

root@debian:~# bash -x README-2.6.34 --nandkernel
+ set -e
+ set -u
+ KVer=2.6.34
+ [[ 1 < 1 ]]
+ [[ --nandkernel == \-\-\n\a\n\d\k\e\r\n\e\l ]]
+ Download
+ echo 'Downloading files'
Downloading files
+ local f=
+ for f in Modules.tar.gz Modules.tar.gz.md5 uImage uImage.md5 System.map
+ [[ ! -f sheeva-2.6.34-Modules.tar.gz ]]
++ which wget
+ [[ -z /usr/bin/wget ]]
+ wget -c http://sheeva.with-linux.com/sheeva/2.6.34/sheeva-2.6.34-Modules.tar.gz
--2010-06-27 09:09:10--  http://sheeva.with-linux.com/sheeva/2.6.34/sheeva-2.6.34-Modules.tar.gz
Resolving sheeva.with-linux.com... 216.146.103.100
Connecting to sheeva.with-linux.com|216.146.103.100|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 4448715 (4.2M) [application/x-tar]
Saving to: `sheeva-2.6.34-Modules.tar.gz'

100%[======================================>] 4,448,715   50.3K/s   in 83s

2010-06-27 09:10:34 (52.4 KB/s) - `sheeva-2.6.34-Modules.tar.gz' saved [4448715/4448715]

+ [[ ! -f sheeva-2.6.34-Modules.tar.gz ]]
+ for f in Modules.tar.gz Modules.tar.gz.md5 uImage uImage.md5 System.map
+ [[ ! -f sheeva-2.6.34-Modules.tar.gz.md5 ]]
++ which wget
+ [[ -z /usr/bin/wget ]]
+ wget -c http://sheeva.with-linux.com/sheeva/2.6.34/sheeva-2.6.34-Modules.tar.gz.md5
--2010-06-27 09:10:34--  http://sheeva.with-linux.com/sheeva/2.6.34/sheeva-2.6.34-Modules.tar.gz.md5
Resolving sheeva.with-linux.com... 216.146.103.100
Connecting to sheeva.with-linux.com|216.146.103.100|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 63 [text/plain]
Saving to: `sheeva-2.6.34-Modules.tar.gz.md5'

100%[======================================>] 63          --.-K/s   in 0s

2010-06-27 09:10:34 (1.48 MB/s) - `sheeva-2.6.34-Modules.tar.gz.md5' saved [63/63]

+ [[ ! -f sheeva-2.6.34-Modules.tar.gz.md5 ]]
+ for f in Modules.tar.gz Modules.tar.gz.md5 uImage uImage.md5 System.map
+ [[ ! -f sheeva-2.6.34-uImage ]]
++ which wget
+ [[ -z /usr/bin/wget ]]
+ wget -c http://sheeva.with-linux.com/sheeva/2.6.34/sheeva-2.6.34-uImage
--2010-06-27 09:10:34--  http://sheeva.with-linux.com/sheeva/2.6.34/sheeva-2.6.34-uImage
Resolving sheeva.with-linux.com... 216.146.103.100
Connecting to sheeva.with-linux.com|216.146.103.100|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 2744648 (2.6M) [application/octet-stream]
Saving to: `sheeva-2.6.34-uImage'

100%[======================================>] 2,744,648   52.7K/s   in 51s

2010-06-27 09:11:26 (52.4 KB/s) - `sheeva-2.6.34-uImage' saved [2744648/2744648]

+ [[ ! -f sheeva-2.6.34-uImage ]]
+ for f in Modules.tar.gz Modules.tar.gz.md5 uImage uImage.md5 System.map
+ [[ ! -f sheeva-2.6.34-uImage.md5 ]]
++ which wget
+ [[ -z /usr/bin/wget ]]
+ wget -c http://sheeva.with-linux.com/sheeva/2.6.34/sheeva-2.6.34-uImage.md5
--2010-06-27 09:11:26--  http://sheeva.with-linux.com/sheeva/2.6.34/sheeva-2.6.34-uImage.md5
Resolving sheeva.with-linux.com... 216.146.103.100
Connecting to sheeva.with-linux.com|216.146.103.100|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 55 [text/plain]
Saving to: `sheeva-2.6.34-uImage.md5'

100%[======================================>] 55          --.-K/s   in 0s

2010-06-27 09:11:26 (1.27 MB/s) - `sheeva-2.6.34-uImage.md5' saved [55/55]

+ [[ ! -f sheeva-2.6.34-uImage.md5 ]]
+ for f in Modules.tar.gz Modules.tar.gz.md5 uImage uImage.md5 System.map
+ [[ ! -f sheeva-2.6.34-System.map ]]
++ which wget
+ [[ -z /usr/bin/wget ]]
+ wget -c http://sheeva.with-linux.com/sheeva/2.6.34/sheeva-2.6.34-System.map
--2010-06-27 09:11:26--  http://sheeva.with-linux.com/sheeva/2.6.34/sheeva-2.6.34-System.map
Resolving sheeva.with-linux.com... 216.146.103.100
Connecting to sheeva.with-linux.com|216.146.103.100|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1058970 (1.0M) [text/plain]
Saving to: `sheeva-2.6.34-System.map'

100%[======================================>] 1,058,970   52.7K/s   in 20s

2010-06-27 09:11:47 (52.1 KB/s) - `sheeva-2.6.34-System.map' saved [1058970/1058970]

+ [[ ! -f sheeva-2.6.34-System.map ]]
+ Md5Compare sheeva-2.6.34-Modules.tar.gz sheeva-2.6.34-Modules.tar.gz.md5
++ cut '-d ' -f1
++ cat sheeva-2.6.34-Modules.tar.gz.md5
++ cut '-d ' -f1
++ md5sum sheeva-2.6.34-Modules.tar.gz
+ [[ 3ce128145d9d663dfb07ec72fa600a77 != 3ce128145d9d663dfb07ec72fa600a77 ]]
+ Md5Compare sheeva-2.6.34-uImage sheeva-2.6.34-uImage.md5
++ cut '-d ' -f1
++ cat sheeva-2.6.34-uImage.md5
++ cut '-d ' -f1
++ md5sum sheeva-2.6.34-uImage
+ [[ 532e8e97487d6be10d2bc3f52a181a71 != 532e8e97487d6be10d2bc3f52a181a71 ]]
+ CheckSize
+ local uImageFile=sheeva-2.6.34-uImage
++ cut '-d ' -f1
++ sed s#:##
++ grep uImage /proc/mtd
+ local mtd=mtd0
++ cut '-d ' -f2
++ grep uImage /proc/mtd
+ local mtdHexSize=00400000
+ local mtdSize=
+ let mtdSize=0x00400000
++ stat -c%s sheeva-2.6.34-uImage
+ local uImageSize=2744648
+ ((  uImageSize > mtdSize  ))
+ ExtractModules
+ echo 'Extracting modules'
Extracting modules
+ tar x -C / --overwrite -zf sheeva-2.6.34-Modules.tar.gz
+ [[ -d /boot ]]
+ cp sheeva-2.6.34-System.map /boot/
+ depmod -eF /boot/sheeva-2.6.34-System.map 2.6.34
+ NandKernel
+ echo 'Flashing kernel to NAND'
Flashing kernel to NAND
++ cut '-d ' -f1
++ sed s#:##
++ grep uImage /proc/mtd
+ local Mtd=mtd0
+ flash_eraseall -j /dev/mtd0
Erasing 128 Kibyte @ 3e0000 -- 96 % complete. Cleanmarker written at 3e0000.
+ nandwrite -pm /dev/mtd0 sheeva-2.6.34-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
root@debian:~#

リブート

リブートして U-Boot のコマンドプロンプトにはいる
root@debian:~# shutdown -r now
	:
	:
	:
USB 0: host mode
PEX 0: interface detected no Link.
Net:   egiga0 [PRIME], egiga1
Hit any key to stop autoboot:  0

環境変数の設定

README-2.6.34 に従い U-Boot の環境変数を設定する
Marvell>> setenv mainlineLinux yes
Marvell>> setenv arcNumber 2097
Marvell>> setenv bootargs rootfstype=jffs2 console=ttyS0,115200 mtdparts=orion_nand:0x400000@0x100000(uImage),0x1fb00000@0x500000(rootfs) rw root=/dev/mtdblock1 rw ip=192.168.2.86:192.168.2.39:192.168.2.1:255.255.255.0:DB88FXX81:eth0:none
Marvell>> saveenv
Saving Environment to NAND...
Erasing Nand...Writing to Nand... done
Marvell>>

再起動

Marvell>> reset
	:
	:

ログイン

KURO-RS の認識

modprobe の実行

root@debian:~# modprobe ftdi_sio vendor=0x0411 product=0x00b3
root@debian:~#

KURO-RS を刺す

/var/log/messages を監視しながら、KURO-RS を刺す。
root@debian:~# tail -f /var/log/messages
Jun 27 09:22:27 debian kernel: Freeing init memory: 140K
Jun 27 09:22:27 debian kernel: NET: Registered protocol family 10
Jun 27 09:22:27 debian kernel: device-mapper: ioctl: 4.17.0-ioctl (2010-03-05) initialised: dm-devel@redhat.com
Jun 27 09:23:22 debian kernel: usbcore: registered new interface driver usbserial
Jun 27 09:23:22 debian kernel: USB Serial support registered for generic
Jun 27 09:23:22 debian kernel: usbcore: registered new interface driver usbserial_generic
Jun 27 09:23:22 debian kernel: usbserial: USB Serial Driver core
Jun 27 09:23:22 debian kernel: USB Serial support registered for FTDI USB Serial Device
Jun 27 09:23:22 debian kernel: usbcore: registered new interface driver ftdi_sio
Jun 27 09:23:22 debian kernel: ftdi_sio: v1.5.0:USB FTDI Serial Converters Driver

(ここで KURO-RS を刺す)

Jun 27 09:24:33 debian kernel: usb 1-1: new full speed USB device using orion-ehci and address 2
Jun 27 09:24:33 debian kernel: ftdi_sio 1-1:1.0: FTDI USB Serial Device converter detected
Jun 27 09:24:33 debian kernel: usb 1-1: Detected FT232BM
Jun 27 09:24:33 debian kernel: usb 1-1: Number of endpoints 2
Jun 27 09:24:33 debian kernel: usb 1-1: Endpoint 1 MaxPacketSize 64
Jun 27 09:24:33 debian kernel: usb 1-1: Endpoint 2 MaxPacketSize 64
Jun 27 09:24:33 debian kernel: usb 1-1: Setting MaxPacketSize 64
Jun 27 09:24:33 debian kernel: usb 1-1: FTDI USB Serial Device converter now attached to ttyUSB0

無事認識された。

rc.local へ追記

SheevaPlug の時と同様、 /etc/rc.local に書いて起動時に実行するようにする。
root@debian:~# cat /etc/rc.local
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
#insmod /boot/fat.ko
#insmod /boot/vfat.ko
mkdir -p /var/cache/apt/archives/partial
#/root/discoverd
#cd /
#./demo.sh
#date 012618002009
#hwclock -w

/sbin/modprobe ftdi_sio vendor=0x0411 product=0x00b3

exit 0
root@debian:~#

再起動

起動時に認識されていることを確認する。
root@debian:~# less /var/log/messages
	:
	:
Jun 27 09:29:52 debian kernel: usbcore: registered new interface driver usbserial
Jun 27 09:29:52 debian kernel: USB Serial support registered for generic
Jun 27 09:29:52 debian kernel: usbcore: registered new interface driver usbserial_generic
Jun 27 09:29:52 debian kernel: usbserial: USB Serial Driver core
Jun 27 09:29:52 debian kernel: USB Serial support registered for FTDI USB Serial Device
Jun 27 09:29:52 debian kernel: ftdi_sio 1-1:1.0: FTDI USB Serial Device converter detected
Jun 27 09:29:52 debian kernel: usb 1-1: Detected FT232BM
Jun 27 09:29:52 debian kernel: usb 1-1: Number of endpoints 2
Jun 27 09:29:52 debian kernel: usb 1-1: Endpoint 1 MaxPacketSize 64
Jun 27 09:29:52 debian kernel: usb 1-1: Endpoint 2 MaxPacketSize 64
Jun 27 09:29:52 debian kernel: usb 1-1: Setting MaxPacketSize 64
Jun 27 09:29:52 debian kernel: usb 1-1: FTDI USB Serial Device converter now attached to ttyUSB0
Jun 27 09:29:52 debian kernel: usbcore: registered new interface driver ftdi_sio
Jun 27 09:29:52 debian kernel: ftdi_sio: v1.5.0:USB FTDI Serial Converters Driver
OK.

KURO-SHEEVA
楽天市場
KURO-RS
バッファローダイレクト
楽天市場
Amazon

←(前のページ)
玄柴第三ロット 楽天ショップでも販売
当月のハックの記録
SheevaPlug/玄柴(KURO-SHEEVA)をハックしよう トップ
(次のページ)→
玄柴のセットアップ(2)リモコンで照明制御

ツイート Tweet to @yasunari_y @yasunari_yをフォロー

Copyright (C) 2003-2012 Yasunari Yamashita. All Rights Reserved.
yasunari @ yamasita.jp 山下康成@京都府向日市