玄箱Pro、直します。

超初心者が、玄箱PROでLinuxを勉強する無謀なブログです。

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
別窓 | スポンサー広告
∧top | under∨

ひとまず解決を優先

いろいろ調べている過程で、案外簡単にtftpブートに成功しましたので、先にこの内容をお知らせしておきます。
まぁ普通は誰でも知ってるレベルなんでしょうけど(笑)。

1.シリアル・コンソールでPCと玄箱を接続
2.PCと玄箱をLAN内に接続しておく
3.PCにてターミナルソフト(Tera Term Proなど)とTFTPサーバソフト(Poor TFTPなど)を起動し、適宜設定
4.玄箱の電源を入れる
5.ターミナルソフトに表示される2回目の「Hit any key..」で何かキーを押す



そして

Marvell>>


と表示されたところで以下のように入力。

Marvell>>setenv default_kernel_addr 0x00100000
Marvell>>setenv default_initrd_addr 0x02000000
Marvell>>setenv bootargs_base console=tty0 S0,115200
Marvell>>setenv bootargs_root root=/dev/mtdblock2 rw
Marvell>>setenv bootargs $(bootargs_base) $(bootargs_root) $(buffalo_ver)
Marvell>>setenv bootcmd 'tftp $(default_kernel_addr) uImage.buffalo; tftp $(default_initrd_addr) initrd.buffalo; bootm $(default_kernel_addr) $(default_initrd_addr)'
Marvell>>boot


すると

Using egiga0 device
TFTP from server 192.168.**.**; our IP address is 192.168.**.**
Filename 'uImage.buffalo'.
Load address: 0x100000
Loading: *#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
###############
done
(以下省略。ログインを促すプロンプトまでたどり着きます)


と起動されるはずです。

フラッシュブートとTFTPブートの際の挙動の違いを設定する項目は

def_tftp=tftp $(default_kernel_addr) $(kernel); tftp $(default_initrd_addr) $(initrd); setenv bootargs $(bootargs_base) $(bootargs_root) rw initrd=0x02000040,20M panic=5 $(buffalo_ver); bootm $(default_kernel_addr) $(default_initrd_addr)



bootcmd=nboot $(default_kernel_addr) $(uImage_block) $(uImage_offset); bootm $(default_kernel_addr)


です。
てか、だと思います(笑)。

上が「TFTPブートの時はこうやりな」って命令、下が「普段のブートはこうしな」って命令。

これらが

printenv


と入力して正しく表示されなければ、ブートできない可能性大です。
そんな時は、初期値例を見ながら

setenv [イコールの左辺] [イコールの右辺]


と入力。
間違いがなければ

saveenv


として、環境を保存。
あと私の場合、初期値例ではあった

kernel=uImage.buffalo
initrd=initrd.buffalo


がprintenvで表示されませんでした。
なので、

setenv kernel uImage.buffalo
setenv initrd initrd.buffalo
saveenv


と追加。

ホント、やってみればめちゃめちゃ単純な理由でした。なぜこうなったかはわかりませんけど。
「U-bootコマンド解説」によると

boot-デフォルトのブートコマンドの実行
bootd環境変数bootcmdは、電源投入時に自動で実行すべきコマンドが保存されています。bootコマンドはこれを実行するコマンドです。


とあります。まさに今回の「フラッシュブートの設定」に関係する内容です。

def_tftpは実はよくわかりません(笑)。
先ほどの「U-bootコマンド解説」にも説明がないのですが、コマンドの文法や内容をよく見ると、

tftp $(default_kernel_addr) $(kernel)
→tftpbootの省略形。tftpでブートする際の「カーネルのアドレス」と「カーネル名」を指示しメモリ上に読み込む


tftp $(default_initrd_addr) $(initrd)
→同上。initrdのアドレスと名前を指示しメモリ上に読み込む


setenv bootargs $(bootargs_base) $(bootargs_root) rw initrd=0x02000040,20M panic=5 $(buffalo_ver)
→ここがいまだによくわかりません。このbootargsは「OSに渡す起動パラメータを設定」するコマンドらしいのですが・・ちょっと勉強します


bootm $(default_kernel_addr) $(default_initrd_addr)
→OSとアプリケーションの起動。メモリ上に読み込まれたカーネルとinitrdを起動します


ということではないでしょうか。
それぞれの命令を順番に処理させるために「;」でつなげたHush文法というものだそうです。

ひとまず、私の玄箱くんは元通りになりました!

でもせっかくなので製品仕様書の内容を全部把握できるくらい玄箱のことを知ってみようかと思います。
スポンサーサイト
別窓 | 日記のようなもの | コメント:14 | トラックバック:0
∧top | under∨
<<Debian GNU/Linux 4.0(etch) | 玄箱Pro、直します。 | U-boot研究記(2)>>

この記事のコメント

EROCATS様

はじめまして。Yukiと申します。(以下長文ですみません)
楽しく詳細なBlogをありがとうございます。
熟読させてもらい、いろいろと参考にさせてもらいながら、
Kurobox-ProのDebian化をすすめています。
(Linuxなんてほとんど触ったこともないので、
 参考書を買って読みながら進めている程度の低レベルなんですけどね。)

しかしながらやっぱり知識不足に伴うミスで、起動しなくなってしまいました。
(1台目はポカミスをしてしまい、rootの設定ファイルを
 いくつか消してしまい起動しなくなりました。
 EROCATSさんのブログをしらなかったため、あきらめて2台目のKurobox-Proを購入し、
 Debian化ができたのですが、環境設定をいじりまくった挙句ミスをしたらしく、
 こちらも起動しなくってしまいました)
ブログを参考に、flashを初期化してflashbootに戻そうといろいろと試しているのですが、
なかなかうまくいかず本当に困っています。
 もしよろしければお知恵を拝借できないでしょうか?

私の端末では、そもそも起動時点で、
Hit any key to stop autoboot: 0
となっていますので、玄人志向からダウンロードしたフラッシュ初期化の手順書どおりに
tftpブートができません。
そこでEROCATSさんのブログをまねしてsetenvしてからtftpブートには成功したのですが、
1台は、Uncompressing Linux......
で30分ぐらい待っても起動しないことが多いです。
(1台はほぼ確実にログインまでいきます)
またログイン画面までいっても、
rootでログインができません。(こちらは2台ともです)

EROCATSさんは毎回flashの初期化を適切にできているようですので、
うまく行う秘訣を教えていただけないでしょうか?

お手数をおかけしまして恐縮ですが、どうぞよろしくお願いいたします。


********以下シリアルコンソールの出力です。**********
scsi0 (0:0): rejecting ・rion1 CPU = Low

=== KURO U-Boot. ===
** LOADER **
** KUROBOX BOARD: KURO_BOX LE (CFG_ENV_ADDR=fffff000)


U-Boot 1.1.1 (Apr 10 2007 - 18:10:08) Marvell version: 1.12.1 - TINY

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

Soc: 88F5182 A2
CPU: ARM926 (Rev 0) running @ 500Mhz
Orion 1 streaming disabled
SysClock = 250Mhz , 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 88E1118 phy
hit any key to switch tftp boot.
Hit any key to stop autoboot: 0
switched to TFTP boot.
<<system_bootend>>
<<system_bootend>>
Hit any key to stop autoboot: 0
Marvell>> setenv default_kernel_addr 0x00100000 ←ブログを参考に入力。addr)と)をつけた場合と除外の両方を実施しましたが結果は同じでした。
Marvell>> setenv default_initrd_addr 0x02000000
Marvell>> setenv bootargs_base console=tty0 S0,115200
Marvell>> setenv bootargs_root root=/dev/mtdblock2 rw
Marvell>> setenv bootargs $(bootargs_base) $(bootargs_root) $(buffalo.ver)
Marvell>> setenv bootcmd 'tftp $(default_kernel_addr) uImage.buffalo; tftp $(default_initrd_addr) initrd.buffalo; bootm $(default_kernel_addr) $(default_kernel_initrd_addr)'
Marvell>> boot
Using egiga0 device
TFTP from server 192.168.11.1; our IP address is 192.168.11.150
Filename 'uImage.buffalo'.
Load address: 0x100000
Loading: #################################################################
(中略)
###############
done
Bytes transferred = 1736612 (1a7fa4 hex)
Using egiga0 device
TFTP from server 192.168.11.1; our IP address is 192.168.11.150
Filename 'initrd.buffalo'.
Load address: 0x2000000
Loading: #################################################################
(中略)
##############################################################
done
Bytes transferred = 19286756 (1264ae4 hex)
<<stop_sound>>
## Booting image at 00100000 ...
Image Name: Linux-2.6.12.6-arm1
Created: 2007-04-10 13:45:13 UTC
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 1736548 Bytes = 1.7 MB
Load Address: 00008000
Entry Point: 00008000
Verifying Checksum ... OK
OK

Starting kernel ...

arg:console=tty0 S0,115200 root=/dev/mtdblock2 rw
CONFIG_KUROBOX_PLATFORM CONFIG_KUROBOX_KUROBOX ---
Uncompressing Linux................................................................................................................. done, booting the kernel.
 ←固まったまま、ログイン画面が出ない場合もあり。

KUROUTOSHIKOU KUROBOX Series KUROBOX/PRO(KOSHO)
KUROBOX-PRO login: root
Password:      ←kuroadminで入力
Login incorrect   ←ログインできません。

2007-10-29 Mon 13:50 | URL | Yuki #07ZmZ45o[ 内容変更]
おはようございます。
お返事遅くなってすみません。

うーん、おもしろいですね(笑)。
なんでこうなったのかが興味あるところですけれど、ひとまず直すのが先決ですよねぇ。

私も初心者なので的確にはお答えできませんが、ざっとログを見て気になる&たぶんこれが原因じゃないか的な箇所を。

U-boot環境変数の入力を間違ってますね。
ひとつは

Marvell>> setenv bootargs $(bootargs_base) $(bootargs_root) $(buffalo.ver)

の$(buffalo.ver)ですが、正しくは

$(buffalo_ver)

です。ピリオドではなくアンダースコアでつなげてください。

もうひとつは

Marvell>> setenv bootcmd 'tftp $(default_kernel_addr) uImage.buffalo; tftp $(default_initrd_addr) initrd.buffalo; bootm $(default_kernel_addr) $(default_kernel_initrd_addr)'

のbootmの最後の部分ですが、
$(default_kernel_initrd_addr)と謎の変数を使われています。
なぜこのような変数を使ってるのかな、と思っていたら、buffalo.verも今回もなんと私の記事が間違えていました。
正しくはその直前にご自身で入力されている通り

$(default_initrd_addr)

ですね。大変ご迷惑をおかけいたしました。
ごめんなさい。元記事も直しておきます。
これで

## Booting image at 00100000 ...
Image Name: Linux-2.6.12.6-arm1
Created: 2007-04-10 13:45:13 UTC
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 1736548 Bytes = 1.7 MB
Load Address: 00008000
Entry Point: 00008000
Verifying Checksum ... OK
OK

のあと、

Starting kernel ...

となる前にLoading Ramdiskとなるはずです。

tftpに関してはこれでなんとかなるんじゃないでしょうか。
2007-10-30 Tue 07:25 | URL | AEROCATS #J83npej2[ 内容変更]
EROCATS様 こんばんは。Yukiです。
早速のご回答どうもありがとうございました。
本日早速試してみました。
Orion1 CPU = Low
 (中略)
Hit any key to stop autoboot: 0
Marvell>> setenv ipaddr 192.168.11.100
Marvell>> setenv serverip 192.168.11.1
Marvell>> setenv default_kernel_addr 0x00100000
Marvell>> setenv default_initrd_addr 0x02000000
Marvell>> setenv bootargs_base console=tty0 S0,115200
Marvell>> setenv bootargs_root root=/dev/mtdblock2 rw
Marvell>> setenv bootargs $(bootargs_base) $(bootargs_root) $(buffalo_ver)
Marvell>> setenv bootcmd 'tftp $(default_kernel_addr) uImage.buffalo; tftp $(default_initrd_addr) initrd.buffalo; bootm $(default_kernel_addr) $(default_initrd_addr)'
Marvell>> boot
egiga0 no link
Using egiga0 device
TFTP from server 192.168.11.1; our IP address is 192.168.11.100
Filename 'uImage.buffalo'.
Load address: 0x100000
Loading: *
Abort
Marvell>> boot
Using egiga0 device
TFTP from server 192.168.11.1; our IP address is 192.168.11.100
Filename 'uImage.buffalo'.
Load address: 0x100000
Loading: #################################################################
(中略)
###############
done
Bytes transferred = 1736612 (1a7fa4 hex)
Using egiga0 device
TFTP from server 192.168.11.1; our IP address is 192.168.11.100   ←initrd.buffaloの起動が可能となりました。
Filename 'initrd.buffalo'.
Load address: 0x2000000
Loading: #################################################################
(中略)
##############################################################
done
Bytes transferred = 19286756 (1264ae4 hex)
<<stop_sound>>
## Booting image at 00100000 ...
Image Name: Linux-2.6.12.6-arm1
Created: 2007-04-10 13:45:13 UTC
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 1736548 Bytes = 1.7 MB
Load Address: 00008000
Entry Point: 00008000
Verifying Checksum ... OK
OK
## Loading Ramdisk Image at 02000000 ...
Image Name: initrd
Created: 2007-04-10 13:46:52 UTC
Image Type: ARM Linux RAMDisk Image (gzip compressed)
Data Size: 19286692 Bytes = 18.4 MB
Load Address: 00000000
Entry Point: 00000000
Verifying Checksum ... OK

Starting kernel ...

arg:console=tty0 S0,115200 root=/dev/mtdblock2 rw BOOTVER=1.091
CONFIG_KUROBOX_PLATFORM CONFIG_KUROBOX_KUROBOX ---
Uncompressing Linux................................................................................................................. done, booting the kernel.

KUROBOX-PRO login: root  ←しかしながらログインできないのは変わらず(T。T)
Password:
Login incorrect

EROCATSさんのご指摘のおかげで、
initrd.buffaloの起動ができ、一歩前進です。
でもなぜかログインが出来ません。

この後フラッシュブートに戻すためのコマンドを参考に、setenvをいろいろと追加して試行錯誤しましたがうまくログインできませんでした。

その後、ログイン時にTelnetからだと入れるのだろうか?と思い、試してみたところTelnetからだとログインが出来ました。
そのまま
update_mtd.sh all
でNANDフラッシュメモリを書き換えしました。
(Erocastさんに教えてもらったsetenvに戻してから、telnet作業を実施しています。)

一応ログは以下の通りです。
※Telnetで、192.168.11.150にアクセス。
KUROBOX-PRO login: root
Password:


BusyBox v1.2.2 (2007.01.15-11:18+0000) Built-in shell (ash)
Enter 'help' for a list of built-in commands.

~ # update_mtd.sh all
***** Cleaning and collect badlist /dev/mtd1 *****
***** copying /boot/uImage.buffalo to /dev/mtd1 *****
***** Cleaning /dev/mtdchar2 *****
***** Writing /boot/nandrootfs.jffs2 to /dev/mtdchar2 *****
***** copying /boot/u-boot.bin to /dev/mtd0 *****
480+1 records in
480+1 records out
***** Cleaning /dev/mtdchar3 *****
Done.
~ #

これでOKか?と期待をこめて再起動!
結果は・・・orz
いつものBeep音が鳴り響き、

Orion1 CPU = Low
 (中略)
Hit any key to stop autoboot: 0
Marvell>>

となってしまい、どうすればいいのか先がまた見えなくなってきました。

とりあえず本日はこんな状態でした。
どうもありがとうございました。
2007-10-31 Wed 00:56 | URL | Yuki #07ZmZ45o[ 内容変更]
またまた返事が遅くなりましてすみません。

今更で申し訳ございませんが、ちょっとわからないのが

>私の端末では、そもそも起動時点で、
Hit any key to stop autoboot: 0
となっていますので、玄人志向からダウンロードしたフラッシュ初期化の手順書どおりに
tftpブートができません。


という所です。
これは、

シリアルコンソールをつけて玄箱PROを起動すると、キーボードには触れていないのにブートせずにコンソール画面にHit any key to stop autoboot: 0と表示され、Marvell>>というプロンプトが表示される

という意味ですよね?

update_mtd.shを実行したならたぶんフラッシュ領域の初期化は完了しているんでしょうねぇ。

telnetからrootログインできてシリアルからできない、というのはおそらく/etc/securettyの関係かなとは思うのですが、これはたぶん
update_mtd.shで解決しているかと。

よろしければ一度printenvの出力を見せていただけませんか?
私にも解決する自信はまったくありませんが・・。
2007-11-02 Fri 01:37 | URL | AEROCATS #aEmTB4nk[ 内容変更]
EROCATSさんこんばんは。Yukiです。
ご回答どうもありがとうございます。
setenvですが、いろいろと環境をいじってしまっていますが、現状は以下の通りです。

Marvell>> printenv
ethaddr=00:16:01:A4:D4:BB
baudrate=115200
MALLOC_len=4
bootargsconsole=ttyS0,115200=root=/dev/mtdblock2 rw panic=5 BOOTVER=1.091
bootargs_root=root=/dev/sda2 rw panic=5
set_boot_args=setenv bootargs initrd=0x02000040,20M BOOTVER=1.091
bootargs_base=console=tty0 S0,115200
bootargs=console=ttyS0,115200 BOOTVER=1.091
rootpath=/nfs/arm
stderr=serial
loads_echo=0
ipaddr=192.168.11.100
serverip=192.168.11.1
rootpath=/nfs/arm
cpuName=926
CASset=min
MALLOC_len=4
bootargs_end=:::DB88FXX81:eth0:none
buffalo_ver=BOOTVER=1.091
build_time=18:10:02
initrd=initrd.buffalo
kernel=uImage.buffalo
bootargs_base=console=ttyS0,115200
bootargs_root=root=/dev/mtdblock2 rw panic=5
bootargs=console=ttyS0,115200 root=/dev/mtdblock2 rw panic=5 BOOTVER=1.091
nand_uImage_offset=20000
default_kernel_addr=0x00100000
default_initrd_addr=0x02000000
nand_boot=yes
ethact=egiga0
tftp_load_kernel=tftp 0x00100000 uImage.buffalo
tftp_load_initrd=tftp 0x02000000 initrd.buffalo
set_boot_args=setenv bootargs console=ttyS0,115200 root=/dev/mtdblock2 rw panic=5 initrd=0x02000040,20M BOOTVER=1.091
def_tftp=$(tftp_load_kernel);$(tftp_load_initrd);$(set_boot_args); bootm $(default_kernel_addr) $(default_initrd_addr)
stdin=serial
stdout=serial
stderr=serial
enaMonExt=no
enaFlashBuf=yes
enaCpuStream=no
ethprime=egiga0
bootdelay=3
disaMvPnp=no
overEthAddr=no
usb0Mode=host
usb1Mode=host
force_tftp=1
bootcmd=$(tftp_load_kernel);$(tftp_load_initrd);$(set_boot_args); bootm $(default_kernel_addr) $(default_initrd_addr)

です。
なお、ブート時の状況ですが、
>シリアルコンソールをつけて玄箱PROを起動すると、キーボードには触れていないのにブートせずにコンソール画面にHit any key to stop autoboot: 0と表示され、Marvell>>というプロンプトが表示される
の通りです。
初期化直後は、/etc/securetty は存在していないようでした。
また基本的にsecurettyをいじるような行為はしていないつもりでした。


話は変わりますが、火曜日以後毎日2時ごろまで試行錯誤をしていたのですが、原因の特定ができずちょっと混乱状態です(^^) 実施した概要をご説明しますね。
tftpブートで起動後、玄人志向に記載されているtelnetからのFlashの初期化を実施しました。
再起動をすると、キーボードに触らなくてもBeep音がして起動できず。
このままDebian化をすすめると成功するのですが、その場合も再起動しても同様にBeep音です。
そのままDebianの環境設定をしつづけて繰り返し再起動をしていたら、シリアルコンソールへの表示がでなくなりました。壊れたか?と思い、もう一台の玄箱で試行錯誤をしていましたが、土曜日に試しに前の端末を起動すると正常に起動し、シリアルコンソールからもログインできました。
ラッキー。と思いそのまま再起動をすると、再度Beep音がして起動せず。何度再起動しても同じです。
この時点で、シリアルコンソールから異常なデータが送信されて、起動がストップしているのでは?と予測しました。(他にもシリアルコンソールからの入力データが文字化けする、タが/や$の後に送信されるといったことが発生していました。表示が出なくなったときも、徐々に出力される文字が減っていたりしましたので)
急遽シリアルコンソールを購入したところ、異常な文字データの送信は大幅に低減しました。
(COMポートが変わったので、ドライバがうまく入ったということかもしれませんが・・・。でも前のシリアルコンソールでもドライバは入れ替えていました。)
これで原因追求完了?と思いながら、再度フラッシュの初期化をしたところ、シリアルコンソールをはずして起動しても、beep音が鳴り響き起動できないことに。orz
その後いろいろと試していると、新しいシリアルコンソールでも入力データがただしく送信されないことも発生し、私の想定が間違っていたのかな?という状態です。
これからもう一度HDD初期化、Debian化を試みます。(もう5-6回やってますが・・・)

余談ですが、Flash更新後の再起動でとまってしまうときは、
Marvell>> nboot $(default_kernel_addr) 0 $(nand_uImage_offset)
Marvell>> setenv bootargs $(bootargs_base) $(bootargs_root) $(buffalo_ver)
Marvell>> bootm $(default_kernel_addr)
で、サングラスのアスキーアートがでるのを確認しているので、最悪シリアルコンソールから起動すればなんとかなるかな?といったところです。
(初期化後単純起動できないのは納得がいかないんですけどね)

余談その2です。ご存知かもしれませんが、setenvで間違った設定をしてしまった場合の解除方法です。
玄箱ではunsetenvがサポートされていないので、解除する場合は、
setenv [解除したい変数名] [enter]
でOKでした。シリアルコンソールからごみデータが送られて、変なsetenvがされまくってしまったのでこれで解消しています。


以上です。
長文失礼いたしました。
2007-11-04 Sun 22:48 | URL | Yuki #07ZmZ45o[ 内容変更]
こんばんわ。

ちょっと切り分けに戸惑いますが、まずは示していただいたbootcmdはtftpブートの際の内容ですよね?
フラッシュブートの際はここを

bootcmd=nboot $(default_kernel_addr) 0 $(nand_uImage_offset) ;setenv bootargs $(bootargs_base) $(bootargs_root) $(buffalo_ver); bootm $(default_kernel_addr)

という感じにsetenvしてらっしゃいますか?
起動の際のBEEP音がtftpブートの際に鳴るあのBEEP音であるなら、この設定ではむしろ「普通」です。
bootcmdをフラッシュブートの設定に書き換えてsaveenvしてみてください。


ただですね、シリアルコンソールから異常なデータ、これはターミナルソフトのボーレートを間違えてさえいなければ、

1.シリアルコンソールの半田付けにミス
2.ドーターボードの不良


と、どちらかが考えられると思うんですよ。
半田ミスであれば「よく半田部分をご覧ください」とか「テスターでお調べください」と手はあるんですが、基板不良はどうすればいいのかわかりません。

でも2台とも偶然に基板不良だなんて考えにくいですよねぇ。

まずは切り分けの観点からもbootcmdのsetenvから試してみてください。
それでもうまくいかなければ次の手を考えましょう。

いかがでしょうか?
2007-11-05 Mon 01:15 | URL | AEROCATS #aEmTB4nk[ 内容変更]
EROCATSさんこんばんは。Yukiです。
早速のご連絡どうもありがとうございます。
昨日の記載が不足していましてすみません。

記載したprintenvはBeep音が鳴り響いた後の状態で実行したものです。
この場合、printenv上
force_tftp=1
と設定されて、tftpブートが起動するようになっています。
そのため、
setenv force_tftp
でこの設定をクリア後、起動用に以下の設定をしています。
setenv bootargs_root 'root=/dev/mtdblock2 rw panic=5'
setenv bootargs $(bootargs_base) $(bootargs_root) $(buffalo_ver)
setenv bootcmd 'nboot $(default_kernel_addr) 0 $(nand_uImage_offset);bootm $(default_kernel_addr)'
setenv nand_boot yes
その上で、saveenvを試した記憶があります。
でもその状態でboot・ログイン後に再起動しても
また起動直後のbeep音となっています。(^^;)

Debian化してHDDブートになった状態でも、起動直後にbeep音がでますので、
setenv force_tftp
setenv bootargs_root 'root=/dev/sda2 rw panic=5'
setenv bootargs $(bootargs_base) $(bootargs_root) $(buffalo_ver)
setenv bootcmd 'ide reset; ext2load ide 0:1 $(default_kernel_addr) /$(kernel); bootm $(default_kernel_addr)'
setenv nand_boot no
としてsaveenvをしてみたはずなのですが、再起動すると元の木阿弥です。
記憶違いでないか確認するため、今晩もう一度やってみようと思います。

なおボーレートは115200ですので問題ないと思います。
再設定後のsaveenvミスでないとするならば、おっしゃるとおり2台とも基盤がおかしいというのも考えづらいので、2台とも半田付けミスをしていると見たほうがよいのかも知れませんね。
今晩の対応でだめな場合は、半田吸取り機はありますので、週末付け直してみようかと思います。

どうもありがとうございました。
2007-11-05 Mon 19:07 | URL | Yuki #07ZmZ45o[ 内容変更]
EROCATSさんおはようございます。Yukiです。

早速昨晩試してみようとしたのですが、なぜか新しいシリアルコンソールでも大量の文字化けが発生してしまいました。一昨日までは順調に動いていて、特に環境を変えたつもりがないんですけどね。
shutdownコマンドを行うだけでも、20回ぐらい実施してうまくいくかどうかといった感じです。
文字化け部分を画面上訂正しても、認識しているコマンドは文字化け状態だったり、文字化けせずに入力されても、unknownコマンドとして認識されたりします。

ただたまたまprintenvが出来たときに設定を見ると、変なsetenvがいろいろと残っていました。
起動時にいろいろとsetenvをしていたため、ごみが増えてしまったのかと思います。
これが悪さをしているかな?と思ったのですが、シリアルコンソールが上記状態のため、設定変更が出来ない状態です。
以前もシリアルコンソールがおかしくなったときに、何日間か放置してからつなぐと、うまくいっていたりしていたので、今回もちょっと間を空けて試してみようと思います。

以上現状報告でした。
2007-11-06 Tue 10:22 | URL | Yuki #07ZmZ45o[ 内容変更]
EROCATSさんこんにちは。Yukiです。
おかげさまで初期化・Debian化ともにうまくいきました。
原因はEROCATSさんご指摘の通り半田付けのミスでした。どうもすみません。お恥ずかしい限りです。
他の穴とショートしてしまわないよう、半田の量を絞って半田付けしていたのですが、今回半田を吸い取り、コネクタを新品に交換して、しっかりと半田付けをしなおしました。
結果、シリアルコンソールでの文字化けは起こらなくなり、シリアルコンソールのままログインもできました。

玄箱Proの初期化(Flashブート)は、EROCATSさんが公開してくれた通り、玄箱Proに直接LANケーブルで接続し、tftpソフトを起動した上で、

setenv default_kernel_addr 0x00100000
setenv default_initrd_addr 0x02000000
setenv bootargs_base console=tty0 S0,115200
setenv bootargs_root root=/dev/mtdblock2 rw
setenv bootargs $(bootargs_base) $(bootargs_root) $(buffalo_ver)
setenv bootcmd 'tftp $(default_kernel_addr) uImage.buffalo; tftp $(default_initrd_addr) initrd.buffalo; bootm $(default_kernel_addr) $(default_initrd_addr)'
boot
とし、rootでのログイン後、
update_mtd.sh all
でファームウェアを更新。
その状態で、再起動時にフラッシュブートが出来ない場合は、
setenv loads_echo 0
setenv ipaddr 192.168.11.100
setenv serverip 192.168.11.1
setenv rootpath /nfs/arm
setenv stdin serial
setenv stdout serial
setenv stderr serial
setenv cpuName 926
setenv CASset min
setenv enaMonExt no
setenv enaFlashBuf yes
setenv enaCpuStream no
setenv MALLOC_len 4
setenv ethprime egiga0
setenv bootargs_end :::DB88FXX81:eth0:none
setenv buffalo_ver 'BOOTVER=1.091'
setenv build_time 18:10:02
setenv initrd initrd.buffalo
setenv kernel uImage.buffalo
setenv bootargs_base 'console=ttyS0,115200'
setenv bootargs_root 'root=/dev/mtdblock2 rw panic=5'
setenv bootargs $(bootargs_base) $(bootargs_root) $(buffalo_ver)
setenv nand_uImage_offset 20000
setenv default_kernel_addr 0x00100000
setenv default_initrd_addr 0x02000000
setenv bootcmd 'nboot $(default_kernel_addr) 0 $(nand_uImage_offset) ;setenv bootargs $(bootargs_base) $(bootargs_root) $(buffalo_ver); bootm $(default_kernel_addr)'
setenv def_tftp '$(tftp_load_kernel);$(tftp_load_initrd);$(set_boot_args); bootm $(default_kernel_addr) $(default_initrd_addr)'
setenv nand_boot yes
setenv bootdelay 3
setenv disaMvPnp no
setenv overEthAddr no
setenv usb0Mode host
setenv usb1Mode host
setenv ethact egiga0
saveenv
で完全に初期化されました。

半田をしなおしただけで、いままでの苦労がうそのように問題解消です。シリアルコンソールは中途半端な半田でも動いてしまうんですね。いい勉強になりました。

EROCATSさん長い間いろいろとご親切にご対応いただきまして、本当にありがとうございました。
2007-11-11 Sun 15:39 | URL | Yuki #-[ 内容変更]
お返事遅くなり申し訳ありません。

無事解決されたようで良かったですね。
これからもお互い玄箱PROで遊びまくりましょう(笑)。
2007-11-17 Sat 01:58 | URL | AEROCATS #aEmTB4nk[ 内容変更]
EROCATSさんこんにちは。Yukiです。
いつでも初期状態に戻せるって精神的に楽でいいですね。
2台あることだし、私もがんばっていろいろと遊んでみようと思います。
とりあえずは、家のBraviaでDLNAを楽しめるよう、TwonkyMediaのインストールでも試してみます。
PS3と違って、Mediatombなどだと認識してくれないんです。同じSony製品なんですけどね・・・。

どうぞよろしくお願いします。
2007-11-25 Sun 21:18 | URL | Yuki #07ZmZ45o[ 内容変更]
あぁ、私もどこかで「MediatombではBraviaは認識しない」と読んだ気がします。
MediatombそのものがあくまでDLNA「準拠」らしいので仕方ないんですかねぇ。
DLNA規格がオープンになればもう少し安く対応家電が買えるんでしょうけど、今の私には無縁です(笑)

でもネットワークオーディオプレーヤーを昨日衝動買いしちゃったんですよねー。
まだDLNAサーバも何も立ててないのに(笑)

DAAPで拾える据置ネットワークオーディオがあればいいのに…。
2007-12-07 Fri 10:54 | URL | AEROCATS #J83npej2[ 内容変更]
何度も書いていながら、どっちかというと失礼な名前の間違いがあるのに誰も突っ込まず、本人も気が付いていないのは気のせいでしょうか?
2007-12-27 Thu 03:01 | URL | 通りすがり #-[ 内容変更]
あ、ホントだ・・。
気がつきませんでした(笑)。
まぁEROCATSもあながち間違いとは言えません・・。
2007-12-28 Fri 10:35 | URL | AEROCATS #J83npej2[ 内容変更]
∧top | under∨

コメントの投稿

 

管理者だけに閲覧
 

この記事のトラックバック

トラックバックURL

FC2ブログユーザー専用トラックバックURLはこちら
∧top | under∨
| 玄箱Pro、直します。 |
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。