ラベル SheevaPlug の投稿を表示しています。 すべての投稿を表示
ラベル SheevaPlug の投稿を表示しています。 すべての投稿を表示

2016年2月13日土曜日

Debianを入れたSheevaPlugでBOINCを稼働する

あなたの押し入れにDebianを入れたSheevaPlugが寝ていませんか?(´・ω・`)
SheevaPlugでもboinc-clientパッケージを入れれば以下のBOINCプロジェクトに参加することができます。
  1. Collatz Conjecture
  2. Enigma@Home
  3. yoyo@Home
  4. Radioactive@Home
稼働しても静かですし試してみてはいかがでしょう( ´∀`)

以下はメモ。

  1. boinccmd --project_attach [プロジェクトURL] [アカウントキー]
  2. boinccmd --project [プロジェクトURL] update
  3. boinccmd --get_state

2012年11月20日火曜日

もう一台買ってしまった

アメリカからはるばるSheevaPlugが届きましたよ。

2011年5月11日水曜日

SheevaPlug+でeth0が停止してしまう。

なんかeth0が止まってしまう症状が起きたので熱暴走を疑って古いCeleron(Tualatin-256K)用ヒートシンクを乗っけてみました。

しかし・・・ネットワークが落ちる症状に改善はなく・・。
[   47.959730] NET: Registered protocol family 10
[   47.969583] ADDRCONF(NETDEV_UP): eth0: link is not ready
[   49.283424] eth0: link up, 100 Mb/s, full duplex, flow control disabled
[   49.290323] ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[   59.421159] eth0: no IPv6 routers present
[ 4260.520856] eth0: link down
[ 4262.519465] eth0: link up, 100 Mb/s, full duplex, flow control disabled
[ 4268.228333] eth0: link down
[ 4271.424875] eth0: link up, 100 Mb/s, full duplex, flow control disabled
[ 4348.709780] eth0: link down
[ 4355.411859] eth0: link up, 100 Mb/s, full duplex, flow control disabled
[ 4403.010727] eth0: link down
[ 4409.575543] eth0: link up, 100 Mb/s, full duplex, flow control disabled
[ 4480.270302] eth0: link down
[ 4481.913441] eth0: link up, 100 Mb/s, full duplex, flow control disabled
[ 4513.806031] eth0: link down
[ 4515.530551] eth0: link up, 100 Mb/s, full duplex, flow control disabled
[ 4525.506815] eth0: link down
[ 4527.170060] eth0: link up, 100 Mb/s, full duplex, flow control disabled
[ 4531.185913] eth0: link down
[ 4534.500133] eth0: link up, 100 Mb/s, full duplex, flow control disabled
[ 4543.307972] eth0: link down
[ 4546.123540] eth0: link up, 100 Mb/s, full duplex, flow control disabled
[ 4569.219517] eth0: link down
[ 4574.593019] eth0: link up, 100 Mb/s, full duplex, flow control disabled
[ 4586.860174] eth0: link down
[ 4588.772006] eth0: link up, 100 Mb/s, full duplex, flow control disabled
[ 4593.028698] eth0: link down
[ 4595.650253] eth0: link up, 100 Mb/s, full duplex, flow control disabled
[ 4596.012602] eth0: link down
[ 4597.680894] eth0: link up, 100 Mb/s, full duplex, flow control disabled
[ 4620.362738] eth0: link down
[ 4622.261425] eth0: link up, 100 Mb/s, full duplex, flow control disabled
[ 4623.008751] eth0: link down
[ 4624.659810] eth0: link up, 100 Mb/s, full duplex, flow control disabled
[ 4639.163810] eth0: link down
[ 4643.146932] eth0: link up, 100 Mb/s, full duplex, flow control disabled
[ 4649.246697] eth0: link down
[ 4651.271418] eth0: link up, 100 Mb/s, full duplex, flow control disabled
[ 4663.699164] eth0: link down
[ 4667.608218] eth0: link up, 100 Mb/s, full duplex, flow control disabled
[ 4668.623191] eth0: link down
[ 4670.208361] eth0: link up, 100 Mb/s, full duplex, flow control disabled
[ 4671.425614] eth0: link down
[ 4673.696835] eth0: link up, 100 Mb/s, full duplex, flow control disabled
[ 4687.640992] eth0: link down
[ 4689.287438] eth0: link up, 100 Mb/s, full duplex, flow control disabled
[ 4699.014074] eth0: link down
[ 4700.964550] eth0: link up, 100 Mb/s, full duplex, flow control disabled
[ 4705.290091] eth0: link down
[ 4709.664544] eth0: link up, 100 Mb/s, full duplex, flow control disabled
[ 4727.183176] eth0: link down
[ 4730.908048] eth0: link up, 100 Mb/s, full duplex, flow control disabled
[ 4740.694827] eth0: link down
[ 4744.005652] eth0: link up, 100 Mb/s, full duplex, flow control disabled
[ 4753.517558] eth0: link down
[ 4757.184202] eth0: link up, 100 Mb/s, full duplex, flow control disabled
[ 4768.034958] eth0: link down
[ 4769.818667] eth0: link up, 100 Mb/s, full duplex, flow control disabled
[ 4777.933930] eth0: link down
[ 4781.590913] eth0: link up, 100 Mb/s, full duplex, flow control disabled
[ 4782.829144] eth0: link down
[ 4784.825667] eth0: link up, 100 Mb/s, full duplex, flow control disabled
[ 4795.692526] eth0: link down
[ 4798.418875] eth0: link up, 100 Mb/s, full duplex, flow control disabled
[ 4798.995691] eth0: link down
[ 4801.526551] eth0: link up, 100 Mb/s, full duplex, flow control disabled
[ 4833.553528] eth0: link down
[ 4839.839730] eth0: link up, 100 Mb/s, full duplex, flow control disabled
[ 4869.362741] eth0: link down
[ 4871.539088] eth0: link up, 100 Mb/s, full duplex, flow control disabled
[ 4871.571028] eth0: link down
[ 4874.291203] eth0: link up, 100 Mb/s, full duplex, flow control disabled
[ 4886.700759] eth0: link down
[ 4890.252423] eth0: link up, 100 Mb/s, full duplex, flow control disabled
[ 4905.586088] eth0: link down
[ 4907.691147] eth0: link up, 100 Mb/s, full duplex, flow control disabled
[ 4918.370348] eth0: link down
[ 4923.438337] eth0: link up, 100 Mb/s, full duplex, flow control disabled
[ 4925.496745] eth0: link down
[ 4927.496577] eth0: link up, 10 Mb/s, half duplex, flow control disabled
[ 4928.761873] eth0: link down
うーむ。どうすればいいのだろうか。
単に壊れているだけなのかDebianに載せ替えたのが悪いのか?

あと、cesvcidを再設定してみました。
Hisao's blog » MACアドレスが。。。を参照しました。

追記(2012/12/9)
最新のDebian GNU/Linux 6.0.6(squeeze)では問題なく動いています。ハードウェア側の問題ではなかったようで安心

2011年5月7日土曜日

SheevaPlug+でsquidを動かす(2)

squidのログフォルダをDebian標準のディレクトリから違うところに移動していたのにログローテートの設定を変更するのを忘れていたためログが異常に巨大になってしまっていました。

おかげでなんだか動きがもたついたりすることが発生し出しました。

/etc/logrotate.d/squid の以下の冒頭を変更。
#
# Logrotate fragment for squid.
#
/var/log/squid/*.log {
daily
対象のログファイル指定を変更。
#
# Logrotate fragment for squid.
#
/media/sda1/squid/*.log {
daily
これでログが肥大することもないはず・・。

2011年5月1日日曜日

SheevaPlug+で起動時に外付けUSB HDDがマウントできない場合の対処法

Debian化したSheevaPlug+で起動時に外付けUSB HDDがマウントできない症状が発生。
外付けケースは玄人志向のGW2.5AZ-U2です。

起動ログを見ているとカーネルがUSB HDDを認識する前に/etc/init.d/checkroot.shが起動しているのが問題と判明。
checkroot.shの先頭にsleepを挿入して20秒待たせることにしました。
#! /bin/sh
sleep 20
### BEGIN INIT INFO
これで20秒待っている間にUSB HDDを認識してくれるようになりました。無事マウント完了。

参考にしたページ
玄箱PROに移行その5

SheevaPlug+に入れたDebianの基本設定メモ

Debianに環境が変わったので再設定を開始。
Ubuntuの元がDebianだからやることは変わらなかったりする。

(0)SDカードへのインストール。
SheevaPlug+にDebian GNU/Linux 6.0(squeeze)をインストールする

(1)ネットワークの基本設定。/etc/network/interfacesを編集。
# The primary network interface
#allow-hotplug eth0
auto eth0
iface eth0 inet static
address 192.168.xxx.1
netmask 255.255.255.0
gateway 192.168.xxx.254
dns-nameservers 192.168.xxx.254

(2)telnetでつなげるようにする。
SheevaPlug+でtelnetが使えるようにする。
全く同じ。

(3)日本語の設定。
SheevaPlugのCLIを日本語にする。
ほぼ同じ。

(4)squidの設定。
SheevaPlug+でsquidを動かす
設定ファイルの行とかデータの保管先パスが違う以外同じ。

(5)DynamicDNSの設定。
SheevaPlug+でDynamicDNSサービスを更新する
同じ。

SheevaPlug+用のSDカードをディスクイメージにバックアップする

セットアップホヤホヤのSDカードの内容をディスクイメージにして保存しておけば環境構築に失敗した場合でもすぐに元に戻せます。それに複数の環境を簡単に作れます。

UNIX系OSにはddという極悪コマンドがありますが、Windowsには無いのでダウンロードしてきます。

DD for Windows

こちらのツールをダウンロードしてきて解凍してVista以上ならば管理者として起動します。
管理者起動しないとSDカードを認識しません。
これが起動直後の画面。
起動してディスク選択をクリック、SDカードを選択します。選択したらOKを押します。
次にファイル選択をクリックしてディスクイメージの保管場所の選択とディスクイメージファイル名設定をして開くを押します。
こんな感じに表示されるので、読込をクリックしてSDカードからディスクイメージにデータを書き込みます。間違えて書込を押すと空のディスクイメージをSDカードに書き込む悲劇が起きます。
じっくり完了するまで待ちましょう。
読み込みが完了しましたと表示されたらディスクイメージが完成です。
ディスクイメージは大切に保存しましょう。

SheevaPlug+にDebian GNU/Linux 6.0(squeeze)をインストールする

SheevaPlug+ことeSATA SheevaPlugに入っているUbuntu 9.04ってもう2010年10月にサポート終わってるじゃん!!
ということでDebian GNU/Linux 6.0(squeeze)をインストールした際のメモです。

必要なものを準備します。
  • USBシリアルを見ることのできる端末(Windowsならばシリアルドライバをインストールした上でTeraTermなどを用意)
  • FAT32でフォーマットしたUSBメモリスティック(512MBで十分足ります)
  • SheevaPlug+に挿して使うDebianインストール先のメディアSDカード(4GBのものを使用しました)
参考にしたのは以下定番サイトです。

Debian installer for SheevaPlug


とりあえず備忘録と日本語の情報が少ないので上のサイトの記述を試した記録です。

DebianのサイトからSheevaPlug用のインストーラ(uImageとuInitrdというファイル)をダウンロードしてきます。

ダウンロードしたファイルをUSBメモリスティックにコピーします。

SheevaPlug+と端末をUSBシリアルケーブルで接続した上で、インストーラの含まれているUSBメモリスティックと空のSDカードをSheevaPlugに挿します。

SheevaPlug+の電源を入れます。すぐにTeraTermで接続します。

内蔵NANDから起動する前にENTERキーを連打なりしてU-BootのMervell>>プロンプトが表示されるようにします。

最近のカーネル向けのハードウェアID設定などを行い再起動します。これをしないと起動できなくなります。

Marvell>> setenv mainlineLinux yes
Marvell>> setenv arcNumber 2678
Marvell>> saveenv
Marvell>> reset

再起動したらまたENTERキーを連打してMarvell>>プロンプトを表示させます。

以下のコマンドを入力してUSBメモリスティック上のインストーラをSheevaPlug+のメモリ上へ展開します。

Marvell>> usb start
(各種表示略)
Marvell>> fatload usb 0:1 0x00800000 /uImage
(各種表示略)
Marvell>> fatload usb 0:1 0x01100000 /uInitrd
(各種表示略)

読み込みが完了したら以下のコマンドでインストーラを起動します。

Marvell>> setenv bootargs console=ttyS0,115200n8 base-installer/initramfs-tools/driver-policy=most
Marvell>> bootm 0x00800000 0x01100000

bootmコマンドを入力後、インストーラが起動します。ほぼパソコンのものと同じでちょっと感動。


なんか言語を聞いてくるのでCにしてみました。英語と何が違うかは不明。
地域を聞いてくるのでAsiaにします。
国を聞いてくるのでJapanを選びます。
これからセットアップするSheevaPlug+のホスト名を聞いてくるので適当に入力します。とりあえず柴犬用語でurajiro(裏白)と入力。
ドメイン名を聞いてきます。そんな高級なものはないので無視します。
debパッケージのダウンロード先の質問をされるのでJapanを選びます。
ダウンロード先サーバの選択画面が出てくるので好きなものを選びます。
HTTP接続にProxyサーバの設定が必要な環境の場合は入力します。不要なら空欄。
rootユーザ(管理者)のパスワード入力画面が表示されるので設定します。忘れるとセットアップしたOSにログインできなくなるのでちゃんとやること。
パスワードの確認としてもう一度rootユーザのパスワードを入力します。前に入力したものと同じでないとエラーになります。
次に普段使う通常ユーザの作成画面が表示されるので名前(フルネーム)を入力します。
次にログインに使用するユーザ名(アカウント名)を入力します。
作成する通常ユーザのパスワードを入力します。
rootユーザ同様にパスワードをもう一度聞いてくるので入力します。
インストール先の選択画面が表示されるのでSDカードのFREE SPACEを選びます。
SDカードがすでにFAT32でフォーマットされていたりする場合はMMC/SD card #1を選択してENTERすると既存のパーティションを消すことができるのでその後でFREE SPACEを選びます。
Linuxで使用するパーティションがないので作成するかどうか聞いてきます。勝手に割り付けてくれるAutomatically partition the free spaceを選びます。
パーティションを/のみの一つにするか/homeとかを分けるかを聞いてきます。
一つにすることを推奨しているようなのでAll files in one partition(recommended for new users)を選びます。
こんな感じで自動で分割してくれました。これでいいならFinish partitioning and write changes to diskを選択します。
パーティション分割の最終確認が表示されるのでYesを選択します。
ここを選択するまでは実際にパーティションの削除・作成はされないはず。
基本システムのインストールが開始されます。じっくり待ちます。
途中でパッケージ(ソフトウェア)の利用状況を匿名で収集するプロジェクトに参加するかどうかの確認が表示されます。参加・不参加どちらでもよし。
かなりじっくり待つとどんな用途で使用するか質問が表示されます。
ここで選択するとそのジャンルのソフトをごっそりインストールしてくれます。
最小限のシステムだけインストールして後から必要に応じて追加していくつもりなのでStandard system utilitiesのみインストール。
延々と待ちます・・。
インストールが終わったようです。
Continueを押すと再起動するのでまたENTERを連打してMervell>>プロンプトを表示します。

内蔵のNANDはもう使用しないつもりなのでゴッソリと起動オプションを書き換えます。
(まぁ、NAND使うときがきたら前のU-Boot設定に戻せばいいか。)

Marvell>> setenv bootargs_console console=ttyS0,115200
Marvell>> setenv bootcmd_mmc 'mmcinit; ext2load mmc 0:1 0x00800000 /uImage; ext2load mmc 0:1 0x01100000 /uInitrd'
Marvell>> setenv bootcmd 'setenv bootargs $(bootargs_console); run bootcmd_mmc; bootm 0x00800000 0x01100000'
Marvell>> saveenv

再起動します。

Marvell>> reset

これでSDカードからDebianが起動すれば成功です。
無事Debianのプロンプトが表示されました。

後はSDカードをWindowsマシンでディスクイメージにしてバックアップします。
そして基本設定。

SheevaPlug+でDynamicDNSサービスを更新する

現在自宅のDynamicDNSサービスのIP更新を3台あるWindowsマシンからDiceという便利なソフトを使用して更新しています。

でも、SheevaPlug+を常時サーバとして稼働しているのでそれで更新すれば良い事に気づく。
たまに更新する程度の処理なら重くないでしょうし。
ということでDyndns.orgの更新をSheevaPlug+で行うようにしました。

参考にしたのはこちらのサイト。
ubuntu ServerでDDNS(DYNDNS)を自動更新

まあ、普通のUbuntu 9.04なのでSheevaPlug+だからといっても何も違わないのですけどね。

SheevaPlugのCLIを日本語にする

TeraTermで文字コードを標準のUTF-8のままログインしているのでUTF-8日本語表示に問題がないので標準の英語から設定を変更することに。
SDから起動しているのでlocale入れても容量の心配がないし。

Ubuntuで日本語ロケール設定


こちらの情報を元にlocaleを設定しました。

# apt-get install language-pack-ja
# dpkg-reconfigure locales
# update-locale LANG=ja_JP.UTF-8

便利な世の中ですのう。

2011年4月29日金曜日

SheevaPlug+の写真とかBogomipsとか

こんな感じで動かしてます。コンピュータに見えない。
右が本体。左が接続している2.5インチハードディスクケース。

ちなみにSheevaPlug+のBogoMIPSは1192.75だそうです。
単純な計算だけなら大学の時に買ったCeleron 500Mhzマシン(BogoMIPS 999)より性能が高いという話になりますね。

SheevaPlug+でsquidを動かす

何かLinkstationでpolipoを動かして遊んだ経験があったためにSheevaPlug+でもpolipoを動かしていたのですが、このスペックならば外付けHDDをキャッシュ保管先にすれば問題なくsquidが動くことに気づいたのでした。

導入が多いソフトなだけありpolipoで起きる通信に突っかかったりすることが無いので快適です。

以下のようにキャッシュとログを/media/sda1/squid以下に保管するように変更した上で、192.168.179.0/24という自宅環境からの接続を許可しました。
あと、polipoから移行したのでポート番号をpolipoデフォルトの物に変更しています。

こんな感じで/etc/squid/squid.confを編集

--- squid.conf.orig     2011-04-29 06:45:44.000000000 +0900
+++ squid.conf  2011-04-29 21:06:29.000000000 +0900
@@ -607,6 +607,7 @@
acl localnet src 10.0.0.0/8    # RFC1918 possible internal network
acl localnet src 172.16.0.0/12 # RFC1918 possible internal network
acl localnet src 192.168.0.0/16        # RFC1918 possible internal network
+acl homeuser src 192.168.xxx.0/24
#
acl SSL_ports port 443         # https
acl SSL_ports port 563         # snews
@@ -652,6 +653,7 @@
#
# Only allow cachemgr access from localhost
http_access allow manager localhost
+http_access allow homeuser
http_access deny manager
# Only allow purge requests from localhost
http_access allow purge localhost
@@ -1107,7 +1109,7 @@
#      visible on the internal address.
#
# Squid normally listens to port 3128
-http_port 3128
+http_port 8123

#  TAG: https_port
# Note: This option is only available if Squid is rebuilt with the
@@ -1950,6 +1952,7 @@
#
#Default:
# cache_dir ufs /var/spool/squid 100 16 256
+cache_dir ufs /media/sda1/squid 20480 16 256

#  TAG: store_dir_select_algorithm
#      Set this to 'round-robin' as an alternative.
@@ -2125,7 +2128,8 @@
#
#      And priority could be any of:
#      err, warning, notice, info, debug.
-access_log /var/log/squid/access.log squid
+#access_log /var/log/squid/access.log squid
+access_log /media/sda1/squid/access.log squid

#  TAG: log_access     allow|deny acl acl...
#      This options allows you to control which requests gets logged
@@ -2149,6 +2153,7 @@
#
#Default:
# cache_log /var/log/squid/cache.log
+cache_log /media/sda1/squid/cache.log

#  TAG: cache_store_log
#      Logs the activities of the storage manager.  Shows which
@@ -2159,7 +2164,7 @@
#
#Default:
# cache_store_log /var/log/squid/store.log
-
+cache_store_log /media/sda1/squid/store.log
#  TAG: cache_swap_state
#      Location for the cache "swap.state" file. This index file holds
#      the metadata of objects saved on disk.  It is used to rebuild
@@ -2212,6 +2217,7 @@
#
#Default:
# logfile_rotate 0
+logfile_rotate 4

#  TAG: emulate_httpd_log      on|off
#      The Cache can emulate the log file format which many 'httpd'


次にキャッシュの保管先作成。
# mkdir /media/sda1/squid
# chown proxy.proxy /media/sda1/squid

キャッシュ作成。
# squid -z

squidの起動。
# /etc/init.d/squid restart

何より安定稼働が一番。

追記: ログローテートの設定を忘れていたので追加しました。

参考サイト
追記
シャットダウン時にUSB HDDへのアクセスが尋常ではないのでのでとりあえずcoss形式での運用は見送り。SheevaPlug+の性能の問題かな?

coss形式の設定はこちらが参考になります。

2011年4月26日火曜日

SheevaPlug+の起動時にMounting local filesystems failed

下記のサイトの情報を元に/etc/fstabを編集。

Topic: Mounting local filesystems failed

I remove the / from the first /proc line and now my sheeva boots without this error ! (proc /proc proc rw,noexec,nosuid,nodev 0 0)

/procから始まる行の先頭にあるスラッシュを削除すればいいそうです。

2011年4月25日月曜日

SheevaPlug+でtelnetが使えるようにする。

今時telnetも無いけど大抵のOSにクライアントが入っているので楽という事で。
LAN内での使用限定ですしね。
(以下はSDカードで起動した環境で行いました。)

まずtelnetのサーバをインストール。依存関係でinted(openbsd-inetd)もインストールされます。

# apt-get install telnetd

以下の様な記述が/etc/inetd.confに追加されるはず。
telnet          stream  tcp     nowait  telnetd /usr/sbin/tcpd  /usr/sbin/in.telnetd
安全のためLANからのみアクセスを受け付けるようにアクセス制限をかける。
/etc/hosts.allowを以下の様に編集(192.168.179.0/24からのみ許可)。
ALL:127.0.0.1
in.telnetd:192.168.179.
/etc/hosts.denyを以下の様に編集。
ALL:ALL
サービスの再起動を実施。

# /etc/init.d/openbsd-inetd restart

ユーザがrootだけの場合はシリアル接続で追加すること。telnetはrootでいきなりログインできません。

あとはtelnetクライアントから接続テストを実施。

追記:hosts.allowとhosts.denyのファイル名が逆になっていたので訂正。

SheevaPlug+のSDカードからの起動メモ

2010年の4月に購入して1年以上ほったらかしにしていたSheevaPlug+をようやくいじりました。
挫折していたSDカード利用のブートに何とかうまくいきました。ようやく実用できるように。

細かい手順は全く覚えていないため記憶している作業の大枠だけ書き残しています。
ここに書いてある通りにやるだけでは設定できないので注意してください!!


まず普通に内蔵メモリ(NAND)から起動。前準備の前準備としてaptを使えるようにするため/etc/hostsファイルの以下の行をコメントアウトする。
91.189.88.36 ports.ubuntu.com
これをしておかないとaptに失敗します。
前準備としてカーネルをアップデート。

# apt-get update
# apt-get install wget
# wget http://sheeva.with-linux.com/sheeva/README-PLUG-UPDATE.sh
# chmod a+x README-PLUG-UPDATE.sh
# ./README-PLUG-UPDATE.sh 2.6.38.4 --nandkernel
# reboot

U-Bootの環境変数を変更。(eSATA対応機種なのでarcNumberは2678に。古いものは2097らしい)

Mervell>> setenv mainlineLinux yes
Mervell>> setenv arcNumber 2678
Mervell>> saveenv
Mervell>> reset

SheevaPlugに4GBのSD HCカードを接続して以下の様にパーティションを分割。

root@debian:/home/kz# fdisk /dev/mmcblk0

Command (m for help): p

Disk /dev/mmcblk0: 3963 MB, 3963617280 bytes
128 heads, 63 sectors/track, 960 cylinders
Units = cylinders of 8064 * 512 = 4128768 bytes
Disk identifier: 0x00000000

Device Boot Start End Blocks Id System
/dev/mmcblk0p1 1 131 528160+ 83 Linux
/dev/mmcblk0p2 132 262 528192 82 Linux swap / Solaris
/dev/mmcblk0p3 263 960 2814336 83 Linux

Command (m for help):
512MBのブート用パーティション1と512MBのスワップ用パーティション2。残りをルート用パーティション3に割り当てました。

次にフォーマット実施。

# mkfs.ext2 /dev/mmcblk0p1
# mkfs.ext2 /dev/mmcblk0p3
# mkswap /dev/mmcblk0p2

そしてSDカードのルート用パーティションをマウント。

# mount /dev/mmcblk0p3 /mnt

内蔵メモリ(NAND)に収録されている/以下のシステムをSDカードにコピー。

# cp -axv / /mnt

/mnt/etc/fstabを編集。
# /etc/fstab: static file system information.
#
proc /proc proc defaults 0 0
/dev/mmcblk0p1 /boot ext2 defaults 1 2
/dev/mmcblk0p3 / ext2 defaults 1 1
/dev/mmcblk0p2 swap swap defaults 0 0
作業が終わったらアンマウント。

# umount /mnt

次にブート用パーティションをマウント。

# mount /dev/mmcblk0p1 /mnt

カーネルのイメージファイルをコピー。

# cp -pv sheeva-2.6.38.4-System.map /mnt
# cp -pv sheeva-2.6.38.4-uImage /mnt
# cd /mnt
# ln -s sheeva-2.6.38.4-uImage uImage
# cd ~/
# umount /mnt

あとは再起動してU-Bootの設定を変更。かなり間違っている+無駄な設定が混じっているのですがなんか動いてます。

boot関連の設定が変なのでそのうち整理して掲載します。

Mervell>> printenv
arcNumber=2678
autoload=no
baudrate=115200
bootargs_end=:::DB88FXX81:eth0:none
bootargs_mmc=console=ttyS0,115200 root=/dev/mmcblk0p3 rw rootfstype=ext2 rootdelay=3
bootargs_nand=console=ttyS0,115200 mtdparts=nand_mtd:0x400000@0x100000(uImage),0x1fb00000@0x500000(rootfs) rw root=/dev/mtdblock2 rw rootfstype=jffs2 ip=10.4.50.4:10.4.50.5:10.4.50.5:255.255.255.0:DB88FXX81:eth0:none
bootargs_root=root=/dev/mtdblock2 ro
bootcmd_mmc=setenv bootargs $(bootargs_mmc); mmcinit; ext2load mmc 0:1 0x800000 /uImage; bootm 0x800000
bootcmd_nand=setenv bootargs $(bootargs_nand); nand read.e 0x800000 0x100000 0x400000; bootm 0x800000
bootcmd=run bootcmd_mmc; run bootcmd_nand;
bootdelay=3
CASset=min
cesvcid=ULULULULULULPPULULULULULDA
console=console=ttyS0,115200 mtdparts=orion_nand:0x400000@0x100000(uImage),0x1fb00000@0x500000(rootfs)
disaMvPnp=no
disL2Cache=no
disL2Prefetch=yes
enaAutoRecovery=yes
enaCpuStream=no
enaDCPref=yes
enaICPref=yes
enaMonExt=no
enaWrAllo=no
ethact=egiga0
ethaddr=00:50:43:01:51:FA
ethmtu=1500
ethprime=egiga0
fileaddr=17A12000
filesize=108e000
image_name=uImage
ipaddr=10.10.0.1
loadaddr=0x0800000
loads_echo=0
mainlineLinux=yes
MALLOC_len=1
mvNetConfig=mv_net_config=(00:11:88:0f:62:81,0:1:2:3),mtu=1500
mvPhoneConfig=mv_phone_config=dev0:fxs,dev1:fxs
nandEcc=1bit
nandEnvBase=a0000
netbsd_en=no
netmask=255.255.0.0
netretry=no
pcieTune=no
pexMode=RC
rcvrip=169.254.100.100
rootpath=/mnt/ARM_FS/
run_diag=no
sata_dma_mode=yes
serverip=10.10.0.2
setL2CacheWT=yes
standalone=fsload 0x2000000 $(image_name);setenv bootargs $(console) root=/dev/mtdblock0 rw ip=$(ipaddr):$(serverip)$(bootargs_end) $(mvPhoneConfig); bootm 0x2000000;
stderr=serial
stdin=serial
stdout=serial
usb0Mode=host
vxworks_en=no
yuk_ethaddr=00:00:00:EE:51:81
うまくいったら今のうちに初期状態のSDカードをイメージにして接続したUSBメモリにバックアップ。
一旦SDを抜いて内蔵メモリ(NAND)ブートしてからSDとUSBメモリを挿して以下の処理を実施。

# mount -t fat32 /dev/sda1 /mnt
# dd of=/dev/mmcblk0 if=/mnt/sdcard_image.ddi

参考にしたサイト

2010年2月24日水曜日

SheevaPlug+を注文した。

モニター販売されているSheevaPlug+を予約注文しました。
久しぶりのLinux環境・初Ubuntuです。

こんな小さくて自分が初めてLinuxを入れたPC並の性能というのが隔世の感ですなぁ。