人気ブログランキング | 話題のタグを見る

Linkstation LS-GL Debianへの道(その2)

【重要】
***
下記の操作をすることで発生するいかなる事象についても、筆者は責任を負いません。あくまでも自己責任でお願いします。
***


#写真はすべてF31Fdで撮影。

Linkstation LS-GL Debianへの道(その2)_c0025498_2285388.jpg

後期型LS-GLの「シリアルコンソール接続用ソケット」を挿すところ。(赤枠)


Linkstation LS-GL Debianへの道(その2)_c0025498_229108.jpg

同上。


Linkstation LS-GL Debianへの道(その2)_c0025498_2292934.jpg

同上。


Linkstation LS-GL Debianへの道(その2)_c0025498_2294964.jpg

前期型LS-GLの「シリアルコンソール接続用ソケット」を挿すところ。(赤枠)
さすがに後期型と違い、メンテナンスのし易さは落ちる。


Linkstation LS-GL Debianへの道(その2)_c0025498_22101219.jpg

玄人志向発売のシリアルコンソール。チープなつくりだが、ヨドバシカメラで2980円もした。本体の3分の1近い値段て・・・



(前回からの続き)
直接参考にしたのは、
・FreeLinkでも有名な、Buffalo NAS-Centralでの投稿
・突然消失するかもしれないブログの「玄箱Proセットアップその3
U-BOOTリファレンスマニュアル
である。

殆どは「突然消失するかもしれないブログ」の手順に従っている。
(ブログオーナーさんに感謝!)
・・・で、上記サイトや、他のサイトを調べてまず覚悟させられたのは
「こりゃ、シリアルコンソール接続キットかわにゃならんわ。」
というのは、キーボードなし、画面出力なしのLS-GLでのDebian化は、ブート時情報の表示、およびブートローダU-BOOTへのコマンド入力が必要だからである。
本当は、シリアルコンソールなしで、Netcat(パケットの流れを監視するフリーソフト)を使って代替できる「らしい」のだが、いまいちよくわからんかったので、素直にヨドバシカメラで購入することに。(在庫あり表示がネットであったのはここだけだった。)

※余談だが、AVG AntiVirusはNetcatがあるフォルダを開いただけで、不審なソフトとして警告する。

具体的手順は以下の通り。
1.Knoppix(1CD Linux)を用意。
2.パソコンに、インストールしたいS-ATAディスクを接続
3.Knoppixからブート
4.時刻が日本時間になっていないので、日本時間に変える
(Knoppixの時間が、対象HDDでの作業時間として記録されるので、「未来」の時間にやったとなると、後々警告が出たりする。ただし、私が使ったKnoppixは5.1.1の64ビット版という少々古いエディションなので、最新エディションでは時刻がどうなっているか不明)
5.「突然消失するかもしれないブログ」のように、fdiskを使用してパーティションをきる。
6.同じように、各パーティションをフォーマット。
7.「突然消失するかもしれないブログ」のように、/dev/sda6上で配布ファイルをダウンロード、展開。
8./boot領域のみ、/dev/sda1にコピー
9.当該PCの電源断をして、S-ATAのHDDをはずす。
10.シリアルコンソール用のドライバを、事前にターミナルソフト操作PC(今回はWindowsXP)にインストール
11.上記HDDをLS-GLに接続、かつ、シリアルコンソールも接続して、Windows上のターミナルソフトとWindowsのデバイスマネージャ→シリアルポートの速度を設定
私はUTF-8 Tera Term Proを使用。
10.LS-GLを起動
11.うまくいけば、ターミナルソフト上で文字が表示される。
Orion1 CPU = Low

=== BUFFALO LS-GL U-Boot. ===
** LOADER **
** BUFFALO BOARD: BUFFALO_BOARD_LS_GL LE (CFG_ENV_ADDR=fffff000)


U-Boot 1.1.1 (Apr 18 2007 - 18:35:44) Marvell version: 1.12.1 - TINY

DRAM CS[0] base 0x00000000 size 128MB
DRAM Total size 128MB
[256kB@fffc0000] [0kB@f8000000] ## Unknown FLASH at f8000000: Size = 0x00000000 = 0 MB
Flash: 256 kB
Addresses 20M - 0M are saved for the U-Boot usage.
Mem malloc Initialization (20M - 16M): Done

Soc: 88F5182 A2
CPU: ARM926 (Rev 0) running @ 400Mhz
Orion 1 streaming disabled
SysClock = 200Mhz , TClock = 166Mhz


USB 0: host mode
USB 1: host mode
PCI 0: PCI Express Root Complex Interface
PCI 1: Conventional PCI, speed = 33000000
Net: egiga0 [PRIME]
Using 88E1111 phy

Marvell Serial ATA Adapter
Integrated Sata device found
Device 1: OK
Model: Hitachi HDT721010SLA360 Firm: ST6OA31B Ser#: **************
Type: Hard Disk
Supports 48-bit addressing
Capacity: 953868.6 MB = 931.5 GB (1953523055 x 512)

Using device ide0, partition 1
** Bad partition 1 **
Using device ide1, partition 1

Loading from block device ide device 1, partition 1: Name: hdb1
Type: U-Boot File:/initrd.buffalo

2322728 bytes read
Booting from Device 1
hit any key to switch tftp boot.
Hit any key to stop autoboot: 0

の最下行のところで、数字がカウントされて0になる前にキーを押す。(私はスペースキーを押した。)
次に、
switched to TFTP boot.
<<system_bootend>>
Hit any key to stop autoboot: 0
となるので、やはり数値が0になる前にキーを押す。

Marvell>>
と入力待ち状態になるので、
前期型なら
Marvell>>date **********
Marvell>>setenv bootargs_root root=/dev/sda6 rw panic=5
Marvell>>setenv kernel uImage
Marvell>>setenv bootargs 'console=ttyS0,115200 root=/dev/sda6 rw';
Marvell>>setenv bootcmd 'ide reset; ext2load ide 1:1 0x00100000 /uImage;bootm 0x00100000'

後期型なら
Marvell>>date **********
Marvell>>setenv bootargs_root root=/dev/sda6 rw panic=5
Marvell>>setenv kernel uImage
Marvell>>setenv bootargs 'console=ttyS0,115200 root=/dev/sda6 rw';
Marvell>>setenv bootcmd 'ide reset; ext2load ide 0:1 0x00100000 /uImage;bootm 0x00100000'

(注1:**********部分はUTCなので、貴殿が日本にお住まいなら、日本時間から9を引いた日時をキーインする。
例 UTCが2009/1/5 07:15なら、0105071509
Linuxはどうやら、このフラッシュメモリ時刻をUTCとするらしく、ここを日本時間にすると、後々のタイムゾーン設定で日本に設定時、9時間ずれる原因になってしまう。)

(注2:/dev/sda6は、Linuxのルートディレクトリの場所と思われる。)

(注3:前期型と後期型は、ide 1:1とide 0:1の箇所が違う。)

と入力後、
bootmで改行キーを押し、ブート・ログインできることを確認。
再起動をかけて、上記画面で
bootmの手前までやり、
Marvell>>saveenv
Marvell>>bootm
とする。

saveenvは、上述の
ピーポーピーポー
とLS-GLがうるさく警告音を鳴らしている間に入力した内容を、
LS-GLのフラッシュメモリに「保存する」コマンドである。

で、無事に起動、SSHでログインできるはずである。
パスワードはarmelなので、それでログイン後、速攻変更。

後、ひとつだけ必要なのは、
tune2fs -c 5000 -i 0
を実行することだろうか。
(5000回のマウントを超えたらfsck、時間には依存しない(-i 0))
5000回という数は勝手に決めたものだが、3年間かかっても5000回のマウントは行わないだろう。
要は、最初の設定だと、30~40回ぐらい「再マウント」=「再起動」がかかると、起動中にディスクチェックのfsckが強制的に、ルートディレクトリに対してかかり、起動途中でLS-GLが自動終了してしまうからである(エラーランプ付き・・・ならぬ点いたまま)
これを避けるため、あえて5000回というとんでもない数字を入れている
当初、60000回とか、10000回とかはエラーがでて拒否されたので。

Linkstation/玄箱をhackしようみたいに、起動スクリプトの順番を変えるがいいとは思うが、そこまではまだやっていない。

by rshingen | 2009-01-05 22:51 | コンピュータ  

<< Linkstation LS-... Linkstation LS-... >>