玄箱

1 / 512345

玄箱HG - DebianをLenny化!

にほんブログ村 IT技術ブログ 自宅サーバー構築へ 人気ブログランキング・投票お願い! BlogPeople・投票お願い! ブログ王・投票お願い!

こんばんは。

前回うちの玄箱HGU-Boot化したので、今日は玄箱HGにインストール済みのDebian4.0(Etch)5.0(Lenny)アップグレードしてみました。
続きを読む »


 

玄箱HG - U-Boot化!

にほんブログ村 IT技術ブログ 自宅サーバー構築へ 人気ブログランキング・投票お願い! BlogPeople・投票お願い! ブログ王・投票お願い!

こんばんは。

今日は、とうとううちの玄箱HG(Debian4.0(Etch))を「U-Boot」化しました。
(玄箱HG・Debian5.0(Lenny)化の前準備として)

通常、「U-Boot」化するにはシリアルコンソールが必要のようですが、玄箱にそのような細工をするのは怖いし面倒なので、シリアルコンソールを使用しない方法、また「U-Boot」の起動確認は「netcat」を使用する方法をとりました。

作業記録

※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※
失敗すると、玄 箱が単なるゴミになります。
個人の記録です。この記事を参考に作業される方は自己責任でお願いします。
当方も、十分に下調べした上での作業です。
当記事を参考にされてもよいですが、
実際に作業される場合は、自分で十分に調査して手順を整理してから行ってください。
※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※

■前提条件

  • 玄箱HGにはDebian4.0(Etch)がインストール済み。
  • 玄箱HGにはシリアルコンソールを取り付けていない(シリアルコンソールは使用しない)。
  • クライアント側はWindowsXPマシンで、U-Bootの起動確認は「netcat」を使用。

1.必要なファイルを準備

GenBako Kernel Collectionから、uImage のカーネルイメージ(2.6.20)U-Boot LoaderU-Boot Loaderのmd5をダウンロードする。

# cd /tmp  ← ダウンロードするファイルを置くディレクトリへ移動。(どこでもOK)
# wget http://www.genbako.com/uImage/kernelimage-2.6.20-kuroHG-uImage.tgz
# wget http://www.genbako.com/u-boot_loader/u-boot-hg.flash.bin
# wget http://www.genbako.com/u-boot_loader/u-boot-hg.flash.md5

※ちなみに、u-boot-hg.serial.flash.bin, u-boot-hg.serial.flash.md5 は標準でシリアルを使って出力するためのもののようです。(今回はシリアル出力しないので[serial]のないバージョン)

2.「mtdblock1」の確認

/dev」に「mtdblock1」があるのを確認。なければ以下のコマンドでデバイスを作っておく。
(当方は、「/dev」に「mtdblock1」があったので、この項は不実施)

# cd /dev
# ./MAKEDEV mtd

3.システムマップの退避

念のため、「/boot」のシステムマップを退避。

# cd /boot
# cp -p System.map System.map.orig

4.「uImage」を展開

uImage」のアーカイブを展開。(「/boot」に)

# tar zxvf /tmp/kernelimage-2.6.20-kuroHG-uImage.tgz

5.「U-Boot Loader」のチェックサム確認

U-Boot Loader」が壊れているとフラッシュに書き込んでも取り返しのつかないことになるので、md5ファイルで「U-Boot Loader」のチェックサムを確認する。

# cd /tmp
# md5sum -c u-boot-hg.flash.md5
u-boot-hg.flash.bin: OK  ← このように表示されればOK

6.「U-Boot Loader」の書き込み

ここで、フラッシュに「U-Boot Loader」を書き込む。
※ここで失敗すると玄箱がお亡くなりになります。

# dd if=u-boot-hg.flash.bin of=/dev/mtdblock1 bs=1k
170+1 records in
170+1 records out
174668 bytes (175 kB) copied, 3.09891 seconds, 56.4 kB/s

※上記のコマンドの代わりに以下のコマンドでもOK。
“cat u-boot-hg.flash.bin > /dev/mtdblock1″

7.書き込み確認

フラッシュに書き込んだ「U-Boot Loader」がもとのファイルが同一か(ちゃんと書き込まれたか)を確認する。

# cmp u-boot-hg.flash.bin /dev/mtdblock1
cmp: EOF on u-boot-hg.flash.bin ← これでOK(最後までエラーが無かったということ

8.「netcat」インストール(玄箱HG側)

当方の玄箱HGにはシリアルコンソールをつけていないので、シリアルコンソールの代わりに「netcat」を使います。

# apt-get install netcat

9.「netcat」インストール(WindowsXP側)

http://www.genbako.com/u-boot_loader/」に 「nc111nt.zip」が置かれているので、ダウンロード・展開し、WindowsマシンのIPアドレスを「192.168.11.149」に設定する。
※U-Boot起動時、IPアドレスが以下のように固定されているようです。

  • 玄箱側のIPアドレス
    192.168.11.150
  • クライアント側
    192.168.11.149

10.「netcat」監視開始

Windowsマシンのコマンドプロンプトで「netcat」のフォルダへ移動後、以下のコマンドを実行すると監視が開始されます。

> nc -v -v -n -u -s 192.168.11.149 -p 6666 192.168.11.150 6666
(UNKNOWN) [192.168.11.150] 6666 (?) open

11.玄箱リブート

ここで、玄箱を再起動する。

# reboot

12.確認

玄箱起動時に、Windows側の「netcat」(コマンドプロンプト)で以下のような出力がされれば、大成功!

U-Boot 1.1.4 LiSt 2.1.0 (Sep 21 2006 - 00:14:53) LinkStation HG / KuroBox HG
stdin :   nc
stdout:   nc
stderr:   nc
IDE:   Bus 0: OK
Device 0: Model: WDC WD3200JB-22KFA0 Firm: 08.05J08 Ser#: WD-WCAMR1323445
Type: Hard Disk
Supports 48-bit addressing
Capacity: 305245.3 MB = 298.0 GB (625142448 x 512)
Boot in 01 seconds ('s' to stop)...
Loading 0:1:boot/vmlinux.UBoot

1319184 bytes read
## Booting image at 00800000 ...
Image Name:   Linux-2.6.20-kuroboxHG
Image Type:   PowerPC Linux Kernel Image (gzip compressed)
Data Size:    1319120 Bytes =  1.3 MB
Load Address: 00000000
Entry Point:  00000000
Verifying Checksum ... OK
Uncompressing Kernel Image ... OK

U-Boot」化の作業は以上です。

もしも、このようにならなければ、「U-Boot」化失敗です。
玄箱はゴミになってしまったことになります。
※でも、ハードハックできれば再起可能のようですが。。。(よくわかりませんが、超超玄人でないとできないと思います)

あと、「U-Boot」化したら、玄箱は今までどおりの方法でのEMモードでの起動はできません。

以下のようにするようです。

  • EM モードでの起動したい場合
    1. Boot 待ちの時に s でストップ
    2. run writeng
    3. run emboot
  • EMモードの状態から通常モードで起動したい場合
    1. Boot 待ちの時に s でストップ
    2. run writeok
    3. boot

※fl3(mtdblock2) に echo -n “NGNG” しただけで再起動すると HDD にある 「/boot/vmlinux.UBoot」 で起動してしまうのでカーネルパニックになるようです。

玄箱HGが「U-Boot」化できたので、次回はいよいよ「Debian5.0(Lenny)」化ですかね~。

では、また。


 

玄箱HG - フラッシュのバックアップ!

にほんブログ村 IT技術ブログ 自宅サーバー構築へ 人気ブログランキング・投票お願い! BlogPeople・投票お願い! ブログ王・投票お願い!

こんばんは。

今度、うちのDebian4.0(Etch)化済みの玄箱HGDebian5.0(Lenny)化しようと考えているところです。

そこで、いろいろ調べていると、

通常玄箱は、本体のフラッシュ上のkernel2.4でブートした後、loader.oによりHDDのkernel2.6に切り替えて動作しているようです。
しかしLennykernel2.6でブートしなければいけないとのこと。

つまりは、
事前にEtchの環境で「U-Boot」化し、kernel2.6でブートできるようにしておく必要があるようです。
※「U-Boot」とは何かについては、ここでは説明しません。

ちなみに、「U-Boot」化しなくても、DebianLenny化する方法もあるようです。

今日は、万が一「U-Boot」化後に、元に戻したくなるといけないので、フラッシュをバックアップしておくとにします。

忘れるといけないので以下に記録しておきます。

作業記録

■前提条件

  • 玄箱HGにはDebian4.0(Etch)がインストール済みである。
  • EMモードではなく、Debian側での作業である。
  • 作業するDebianのカーネルバージョンは「2.6.20」である。
  • これは個人的な記録ですので、この記事を参考に作業をされるのであれば、※自己責任※でお願いします。

以下は当方の場合の例です。

# mkdir /mnt/share/BACKUP_mtd       ← バックアップ用ディレクトリの作成

# cd /mnt/share/BACKUP_mtd          ← バックアップ用ディレクトリへ移動

# cat/dev/mtdblock0 > bak_mtdblock0 ← 設定保存用:アドレスOxOO380000~OxOO400000(512KB)

# cat/dev/mtdblock1 > bak_mtdblock1 ← ファームウェア:アドレスOxOOOOOOOO~OxOO300000(3MB)

# cat/dev/mtdblock2 > bak_mtdblock2 ← ブートコード(起動先の設定):アドレスOxOO300000~OxOO370000(448KB)

# cat/dev/mtdblock3 > bak_mtdblock3 ← 起動ステータス:アドレスOxOO370000~OxOO380000(64KB)

# cat/dev/mtdblock4 > bak_mtdblock4 ← Ftash全体;アドレスOxOOOOOOOO-OxOO400000(4MB)

※mtdblock4はFtash全体のバックアップなのでやってもやらなくても良いみたいです。
※カーネルのバージョンによって、「mtdblock」の部分が違います。こちらを参照。


今日の作業は以上です。

ではまた。


 

玄箱HG - ファン自動制御!

にほんブログ村 IT技術ブログ 自宅サーバー構築へ 人気ブログランキング・投票お願い! BlogPeople・投票お願い! ブログ王・投票お願い!

こんばんは。

今日はうちの玄箱HGファン回転スピード
ハードディスクの温度にあわせて
高速回転低速回転させることをしてみました。

続きを読む »


 

玄箱HG - Debianにファイルサーバ!

にほんブログ村 IT技術ブログ 自宅サーバー構築へ 人気ブログランキング・投票お願い! BlogPeople・投票お願い! ブログ王・投票お願い!

こんばんは。

今日は玄箱HGDebian(etch)に、
ファイルサーバ(samba)を導入しました。

以下が作業手順です。
あくまでも自分の記録用です。
理解できないような点があれば、ネット等で調べてみてください。

作業記録

続きを読む »


 

1 / 512345