|
Namazu for hns による簡易全文検索 詳しくは 詳細指定/ヘルプを参照して下さい |
|||||||||||||||||||||||||||||||||||||||||||||||
2012年05月03日(木) 旧暦 [n年日記] [更新:"2013/09/23 17:44:38"]#1 [NetBSD] TS-TGL を KURO-BOX/T4 に変換
本来は JTAG 線と、書込用の Software (一例 urjtag) を用意して、 何が起きても対処可能な準備をしてから書くものかと思うけれど、 一応道具はなくても、簡易法があるので、今回はそれを試した。
ただし 失敗した場合、 煉瓦(れんが) になってしまって、JTAG 線でも無い限り、 取返しがつかなくなることを忘れないこと
大まかな流れ:
まずは、 きのうの話 の続きから。 USB メモリに書こうと思って /dev/sda1 に書いたのは boot 用の ext2fs だった。 Welcome to KURO-NAS/T4 KURO-NAS-T4 login: root # df Filesystem Size Used Available Use% Mounted on tmpfs 61.9M 44.0K 61.9M 0% /tmp # mount /dev/sda1 /mnt # df Filesystem Size Used Available Use% Mounted on tmpfs 61.9M 44.0K 61.9M 0% /tmp /dev/sda1 242.1M 2.7M 226.9M 1% /mnt # umount /mnt @ 1. flash Memory の読出 (KURO-BOX/T4 側):
きのうの続きで、 (NetBSD が既に入っている場合には、run emboot として、EM mode を起動し、 login して) まずは ext2fs に書出す。EM mode では、 admin/password で入って su しても良いし、いきなり root で入っても良い。
# mount /dev/sda1 /mnt # ls /mnt altboot.bin altboot.bin.1 mtd1.bin altboot.bin.0 lost+found mtd2.bin # cd /mnt # dd if=/dev/mtd0 of=mtd0.bin bs=1k 3072+0 records in 3072+0 records out # dd if=/dev/mtd1 of=mtd1.bin bs=1k 384+0 records in 384+0 records out # dd if=/dev/mtd2 of=mtd2.bin bs=1k 64+0 records in 64+0 records out # dd if=/dev/mtd3 of=mtd3.bin bs=1k 576+0 records in 576+0 records outNetBSD 側で ext2fs から USB メモリに書く tera7# mount -t ext2fs /dev/wd0f /mnt tera7# ls -l /mnt total 4357 -rwxr-xr-x 1 root wheel 76628 Apr 24 00:15 altboot.bin -rw-r--r-- 1 root wheel 75992 Apr 9 14:31 altboot.bin.0 -rwxr-xr-x 1 root wheel 76628 Apr 24 00:15 altboot.bin.1 drwx------ 2 root wheel 12288 Apr 9 14:32 lost+found -rw-r--r-- 1 root wheel 3145728 May 3 08:25 mtd0.bin -rw-r--r-- 1 root wheel 393216 May 3 08:25 mtd1.bin -rw-r--r-- 1 root wheel 65536 May 3 08:25 mtd2.bin -rw-r--r-- 1 root wheel 589824 May 3 08:25 mtd3.binこのうちの mtd1.bin は、U-Boot param となっているが、U-Boot を起動した時に printenv で見えるもの、( dmesg として示した最初の方の 29行くらいとか) あるいは saveenv で保存するもので、文字形式 である。(改行位置には 00 が、また最後は 00 で埋められている)。 最初に 4 バイトのおまじないが入っている。一例 17 30 8e d5。 最悪、空(から)でも何とかなるのでは、とも思う。 17 30 8e が長さで、d5 はそれらの check sum かも知れない。 (だとすると長さは大きすぎる) @ 2. TS-TGL の flash を更新して root になれるようにする:
(作業は TS-TGL と同じネットワークにつながっている Windows 機で行なう)
Buffalo Telnet Enabled Firmware にある terapro_112e.zip をもらって来て開ける modena@makoto 23:36:11/120503(~/tmp)% unzip -l terapro_112e.zip Archive: terapro_112e.zip Length Date Time Name -------- ---- ---- ---- 42144 07-06-06 11:33 bootcode.bin 3140637 08-24-10 13:06 firmimg.bin 32588125 08-24-10 13:05 image.dat 126 09-25-09 20:01 linkstation_version.txt 316984 04-06-07 05:00 NASUpdater.exe 244 09-25-09 20:00 nasupdater.ini 1291 09-27-09 12:56 README.TXT 237568 06-15-07 16:54 NASUpdater_English.exe 316984 04-06-07 05:00 NASUpdater_Japanese.exe -------- ------- 36644103 9 filesその中の NASUpdater.exe を Windows 側で起動する。 (似たものがいくつかあるが、多分言語の表示が違うだけの気がする) admin password と聞かれる場面があるが、その文字の通り入力する。 何度か勝手に再起動するが、放っておいて良い。 正常に動作し始めたら、卓からか、telnet からかで login して次の段階に備える。 login name を myroot とするとパスワード無で login 出来る。 @ 3. TS-TGL 側で書込む:
以下は、
参考画面
の通りである。 U-Boot + U-Boot params -> u-boot.bin とする
root@TS-TGL1C4:# mount -t vfat /dev/sde1 /mnt root@TS-TGL1C4:# cd /mnt/t4 cp mtd1.bin u-boot.bin cat mtd2.bin >> u-boot.binいよいよ書込 root@TS-TGL1C4:/mnt/t4# ls /dev/mtdblock* /dev/mtdblock0 /dev/mtdblock1 /dev/mtdblock2 /dev/mtdblock3 /dev/mtdblock4 root@TS-TGL1C4:/mnt/t4# ls -l /dev/mtdblock* brwxr-xr-x 1 root root 31, 0 Feb 13 2004 /dev/mtdblock0 brwxr-xr-x 1 root root 31, 1 Feb 13 2004 /dev/mtdblock1 brwxr-xr-x 1 root root 31, 2 Feb 13 2004 /dev/mtdblock2 brwxr-xr-x 1 root root 31, 3 Nov 22 2004 /dev/mtdblock3 brwxr-xr-x 1 root root 31, 4 Nov 22 2004 /dev/mtdblock4 root@TS-TGL1C4:/mnt/t4# ls -la total 4576 drwxr-xr-x 2 root root 16384 May 3 2012 . drwxr-xr-x 5 root root 16384 Jan 1 1970 .. -rwxr-xr-x 1 root root 3145728 May 3 2012 mtd0.bin -rwxr-xr-x 1 root root 393216 May 3 2012 mtd1.bin -rwxr-xr-x 1 root root 65536 May 3 2012 mtd2.bin -rwxr-xr-x 1 root root 589824 May 3 2012 mtd3.bin -rwxr-xr-x 1 root root 458752 May 3 2012 u-boot.bin root@TS-TGL1C4:/mnt/t4# dd if=mtd0.bin of=/dev/mtdblock0 6144+0 records in 6144+0 records out (ここで時間がかかる。しばらく待つ。約 1分 30秒) root@TS-TGL1C4:/mnt/t4# dd if=u-boot.bin of=/dev/mtdblock1 896+0 records in 896+0 records out (こちらは 10 秒くらい) root@TS-TGL1C4:/mnt/t4# dd if=/dev/mtd0 of=mtd0-mod.bin bs=1k 3072+0 records in 3072+0 records out root@TS-TGL1C4:/mnt/t4# dd if=/dev/mtd1 of=mtd1-mod.bin bs=1k 448+0 records in 448+0 records out root@TS-TGL1C4:/mnt/t4#cmp がある機械に移動して、 書いたもの と 読んだもの が同じか確認 modena@makoto 15:32:51/120515(/mnt/T4)% ls -l mtd0.bin mtd0-mod.bin -rwxr-xr-x 1 root wheel 3145728 Nov 30 2005 mtd0-mod.bin -rwxr-xr-x 1 root wheel 3145728 May 3 08:25 mtd0.bin modena@makoto 15:35:29/120515(/mnt/T4)% cmp mtd0.bin mtd0-mod.bin modena@makoto 15:35:33/120515(/mnt/T4)% ls -l u-boot.bin mtd1-mod.bin -rwxr-xr-x 1 root wheel 458752 Nov 30 2005 mtd1-mod.bin -rwxr-xr-x 1 root wheel 458752 May 3 12:00 u-boot.bin modena@makoto 15:35:38/120515(/mnt/T4)% cmp u-boot.bin mtd1-mod.bin modena@makoto 15:35:41/120515(/mnt/T4)%(時計が狂っているのは御勘弁) 同じでない時には再起動してはいけない。 同じであれば、再起動する ( TS-TGL で reboot) @ 4. 手元には TeraStation TS-TGL しかないのですが:
以上は作業報告。ここからは計画の話。 KURO-BOX/T4 は手元になく TS-TGL しかない時にはどうするか、 という話。
少なくとも U-Boot は、 04/28 (の玄人志向 KURO-BOX/T4 の項目) に書いたように u-boot-kuro-nas-t4.bin として入手は可能 (玄人志向さんが「使って良い」というかは一応別の話)。
kernel はなくても EM mode で起動しないだけで、 NetBSD の動作には問題がないと思っている。
kernel 等は多分 *.itb に入っていると思う。
この項は、後で自分で試して見るつもり。
( つっこみ )
|
最近の日記 2024年05月08日 ・comparison on ./buildsh tools 2024年05月06日 ・py-setuptools (python 3.11.9) ・make release took 1 hours and 10 min ・qemu invocation for 10.99.10 2024年05月05日 ・Windows 10 version ・serial connection ・bc bench 2024年05月04日 ・Trial on 10.99.10 ・another version (later trial) to succeed 2024年04月29日 ・dkim | ||