swat 不具合修正パッチ(3)

FlashBoot 玄箱/Pro

重要なお知らせ には、
・【対応方法その1】 telnet接続による修正パッチ
・【対応方法その2】 SCON-KIT/PROを利用したファームウェア書き換えキット
と2つの対応方法(正確にはセンドバックを合わせ3つ)が 掲載されているが、それぞれのファイルサイズが全然違う。

SCON-KIT/PROを利用したファームウェア書き換えキット

ファイル名は kbpfw102.zip。
KuroBox/Pro FirmWare 1.02 か?

kbpfw102.zip を展開して出てきた readme.pdf を読むと えらい大がかり。
tftp でブートしてアップデートするとのこと。

手元の初期ロットにインストールして見る

tftp ブート

readme.pdf の手順通りだと、
tftp サーバの IP アドレスを 192.168.11.1 にして
玄箱/Pro の U-Boot のデフォルト IP アドレスで tftp ブートする
のだが、、
HD-HLAN の tftp サーバを使い、 U-Boot の変数を操作してブートすることにする。

initrd.buffalo, initrd.buffalo を tftp サーバにおく

[root@link /root]# cd /usr/local/BootServer/tftpboot
[root@link tftpboot]# ls -l
合計 20572
-rwxr--r--    1 yasunari 1000           40 Sep 28  2005 files
drwxr-sr-x    2 yasunari 1000         4096 Apr  2  2006 firm
-rwxr--r--    1 yasunari yamasita 19286756 May 14 08:26 initrd.buffalo
-rwxr--r--    1 yasunari yamasita  1736612 May 14 08:37 uImage.buffalo
-rwxr--r--    1 yasunari 1000            5 Feb 23  2006 version
[root@link tftpboot]#

tftp サーバの再起動

要ったかな?
[root@link tftpboot]# /etc/rc.d/init.d/ltbootd restart
Stop services: rarpd tftpd rarpcfgd fwupdated.
Starting services: rarpd tftpd rarpcfgd fwupdated.
[root@link tftpboot]#

U-Boot の変数操作

さて、、、
とりあえず IP アドレスの変更から。
Marvell>> setenv serverip 192.168.1.40
Marvell>> setenv ipaddr 192.168.1.30
Marvell>> printenv
	:
	:
serverip=192.168.1.40
ipaddr=192.168.1.30

Environment size: 1044/4092 bytes
Marvell>>
以前 tftp ブートしたときは、root fs として /dev/sda2 を使った。
initrd を使って boot するはどうすればいいのかな。

ごそごそ

def_tftp のコマンドを実行すれば良いようだ。

Marvell>> tftp $(default_kernel_addr) $(kernel)
Using egiga0 device
TFTP from server 192.168.1.30; our IP address is 192.168.1.40
Filename 'uImage.buffalo'.
Load address: 0x100000
Loading: #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         ###############
done
Bytes transferred = 1736612 (1a7fa4 hex)
Marvell>> tftp $(default_initrd_addr) $(initrd)
Using egiga0 device
TFTP from server 192.168.1.30; our IP address is 192.168.1.40
Filename 'initrd.buffalo'.
Load address: 0x2000000
Loading: #################################################################
         #################################################################
			:
			:
         #################################################################
         #################################################################
         ##############################################################
done
Bytes transferred = 19286756 (1264ae4 hex)
Marvell>> setenv bootargs '$(bootargs_base) $(bootargs_root)  rw initrd=0x02000040,20M panic=5 $(buffalo_ver)'
Marvell>> bootm $(default_kernel_addr) $(default_initrd_addr)
<<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:$(bootargs_base) $(bootargs_root) rw initrd=0x02000040,20M panic=5 $(buffalo_ver)
CONFIG_KUROBOX_PLATFORM CONFIG_KUROBOX_KUROBOX ---
Uncompressing Linux........................................................................................................
......... done, booting the kernel.

KUROBOX-PRO login:
ブートメッセージは何もなし。

ログイン

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.

~ # 

カーネルのバージョンは

~ # uname -a
Linux KUROBOX-PRO 2.6.12.6-arm1 #27 Tue Apr 10 22:47:16 JST 2007 armv5tejl unknown
~ #
Rev.3 と同じ。あたりまえか。

update_mtd.sh

実行してみる
~ # 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.
~ #

リブート

~ # reboot
	:
	:
Hit any key to stop autoboot:  0

Loading from device 0: <NULL> at 0xfa000000 (offset 0x20000)
   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
<<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=ttyS0,115200 root=/dev/mtdblock2 rw panic=5 BOOTVER=1.091
CONFIG_KUROBOX_PLATFORM CONFIG_KUROBOX_KUROBOX ---
Uncompressing Linux........................................................................................................
......... done, booting the kernel.
Linux version 2.6.12.6-arm1 (root@dev-hara) (gcc version 3.4.4 (release) (CodeSourcery ARM 2005q3-2)) #27 Tue Apr 10 22:47:16 JST 2007
CPU: ARM926EJ-Sid(wb) [41069260] revision 0 (ARMv5TEJ)
CPU0: D VIVT write-back cache
CPU0: I cache: 32768 bytes, associativity 1, 32 byte lines, 1024 sets
CPU0: D cache: 32768 bytes, associativity 1, 32 byte lines, 1024 sets
Machine: MV-88fxx81
Using UBoot passing parameters structure
Sys Clk = 250000000, Tclk = 166664740
Memory policy: ECC disabled, Data cache writeback
Built 1 zonelists
Kernel command line: console=ttyS0,115200 root=/dev/mtdblock2 rw panic=5 BOOTVER=1.091
PID hash table entries: 1024 (order: 10, 16384 bytes)
Console: colour dummy device 80x30
Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)
Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
Memory: 128MB 0MB 0MB 0MB = 128MB total
Memory: 126208KB available (3037K code, 426K data, 112K init)
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
NET: Registered protocol family 16
serial_initialize_ttyS1 (Debug): ttyS1 is initialized.
 config_device_cs Error : Unknown board

CPU Interface
-------------
SDRAM_CS0 ....base 00000000, size 128MB
SDRAM_CS1 ....disable
SDRAM_CS2 ....disable
SDRAM_CS3 ....disable
PEX0_MEM ....base e0000000, size 128MB
PEX0_IO ....base f2000000, size   1MB
PCI0_MEM ....base e8000000, size 128MB
PCI0_IO ....base f2100000, size   1MB
INTER_REGS ....base f1000000, size   1MB
DEVICE_CS0 ....base fa000000, size   2MB
DEVICE_CS1 ....base f4000000, size  32MB
DEVICE_CS2 ....base fa800000, size   1MB
DEV_BOOCS ....base ff800000, size   8MB
CRYPTO ENG ....no such
Flash bankwidth 1, base ff800000, size 400000
KUROBOX FLASH size 4096[KB]

  Marvell Development Board (LSP Version 1.10.3.patch5_DB_NAS)-- KUROBOX_BOARD_KUROBOX  Soc: 88F5182 A2

 Detected Tclk 166664740 and SysClk 250000000
Marvell USB EHCI Host controller #0: c04e4b00
Marvell USB EHCI Host controller #1: c04e4a40
pexBarOverlapDetect: winNum 2 overlap current 0
mvPexInit:Warning :Bar 2 size is illigal
it will be disabled
please check Pex and CPU windows configuration
PCI: bus0: Fast back to back transfers enabled
PCI: bus1: Fast back to back transfers enabled
SCSI subsystem initialized
usbcore: registered new driver usbfs
usbcore: registered new driver hub
Use the XOR engines (offloading) for enhancing the following functions:
  o RAID 5 Xor calculation
  o kernel memcpy
  o kenrel memzero
  o copy user to/from kernel buffers
Number of XOR engines to use: 2
cesadev_init(c00122e4)
Fast Floating Point Emulator V0.9 (c) Peter Teichmann.
inotify device minor=63
JFFS2 version 2.2. (NAND) (C) 2001-2003 Red Hat, Inc.
SGI XFS with no debug enabled
Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing disabled
ttyS0 at MMIO 0x0 (irq = 3) is a 16550A
ttyS1 at MMIO 0x0 (irq = 4) is a 16550A
io scheduler noop registered
io scheduler anticipatory registered
io scheduler deadline registered
io scheduler cfq registered
RAMDISK driver initialized: 3 RAM disks of 32768K size 1024 blocksize
loop: loaded (max 8 devices)
Marvell Gigabit Ethernet Driver 'egiga':
  o Ethernet descriptors in DRAM
  o DRAM SW cache-coherency
  o Checksum offload enabled
  o Loading network interface ** egiga_init_module (10)
'eth0'
Intergrated Sata device found
scsi0 : Marvell SCSI to SATA adapter
scsi1 : Marvell SCSI to SATA adapter
  Vendor: Seagate   Model: ST3120026AS       Rev: 3.18
  Type:   Direct-Access                      ANSI SCSI revision: 03
SCSI device sda: 234441648 512-byte hdwr sectors (120034 MB)
SCSI device sda: drive cache: write back
SCSI device sda: 234441648 512-byte hdwr sectors (120034 MB)
SCSI device sda: drive cache: write back
 sda: sda1 sda2 sda3 sda4
Attached scsi disk sda at scsi0, channel 0, id 0, lun 0
Attached scsi generic sg0 at scsi0, channel 0, id 0, lun 0,  type 0
physmap flash device: 400000 at ff800000
Found: SST 39LF020
phys_mapped_flash: Found 1 x8 devices at 0x0 in 8-bit bank
number of JEDEC chips: 1
cfi_cmdset_0002: Disabling erase-suspend-program due to code brokenness.
RedBoot partition parsing not available
Debug nand_scan : nand_flash_ids[i].pagesize is exist
Debug nand_scan : mtd->erasesize=0x00020000
Debug nand_scan : mtd->oobblock=0x00000800
Debug nand_scan : mtd->oobsize=0x00000040
NAND device: Manufacturer ID: 0x20, Chip ID: 0xda (ST Micro NAND 256MiB 3,3V 8-bit)
Scanning device for bad blocks
Using static partition definition
Creating 3 MTD partitions on "nand_mtd":
0x00000000-0x00400000 : "uImage"
0x00400000-0x04400000 : "rootfs"
0x04400000-0x10000000 : "extra"
usbmon: debugs is not available
ehci_platform ehci_platform.4523: EHCI Host Controller
ehci_platform ehci_platform.4523: new USB bus registered, assigned bus number 1
ehci_platform ehci_platform.4523: irq 17, io mem 0x00000000
ehci_platform ehci_platform.4523: park 0
ehci_platform ehci_platform.4523: USB 0.0 initialized, EHCI 1.00, driver 10 Dec 2004
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
ehci_platform ehci_platform.16781: EHCI Host Controller
ehci_platform ehci_platform.16781: new USB bus registered, assigned bus number 2
ehci_platform ehci_platform.16781: irq 12, io mem 0x00000000
ehci_platform ehci_platform.16781: park 0
ehci_platform ehci_platform.16781: USB 0.0 initialized, EHCI 1.00, driver 10 Dec 2004
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 1 port detected
USB Universal Host Controller Interface driver v2.2
Initializing USB Mass Storage driver...
usbcore: registered new driver usb-storage
USB Mass Storage support registered.
usbcore: registered new driver usbhid
drivers/usb/input/hid-core.c: v2.01:USB HID core driver
mice: PS/2 mouse device common for all mice
md: raid0 personality registered as nr 2
md: raid1 personality registered as nr 3
md: raid5 personality registered as nr 4
raid5: measuring checksumming speed
   arm4regs  :   304.000 MB/sec
   8regs     :   215.200 MB/sec
   32regs    :   249.200 MB/sec
raid5: using function: arm4regs (304.000 MB/sec)
md: md driver 0.90.1 MAX_MD_DEVS=256, MD_SB_DISKS=27
Buffalo Platform Linux Driver(Light) 0.01 installed.
MICON ctrl (C) BUFFALO INC. V.1.00 installed.
Kernel event proc (C) BUFFALO INC. V.1.00 installed.
MICON V2 (C) BUFFALO INC. V.1.00 installed.
NET: Registered protocol family 2
IP: routing cache hash table of 1024 buckets, 8Kbytes
TCP established hash table entries: 8192 (order: 4, 65536 bytes)
TCP bind hash table entries: 8192 (order: 3, 32768 bytes)
TCP: Hash tables configured (established 8192 bind 8192)
NET: Registered protocol family 1
NET: Registered protocol family 17
md: Autodetecting RAID arrays.
md: autorun ...
md: ... autorun DONE.
VFS: Mounted root (jffs2 filesystem).
Freeing init memory: 112K
--- rcStart (NANDroot) ---
===== Starting MountSystemFolders =====
mounting procfs ... [Success]
mounting sysfs ... [Success]
mouting usbfs ... [Success]
remouting rootfs ... [Success]
mounting all devices ... [Success]


===== Starting checkroot.sh =====
rm: /var/lock/perfmon: is a directory
rm: /var/lock/printing: is a directory
rm: /var/lock/subsys: is a directory
[Success]


===== Starting Kevent.sh =====
[Success]


===== Starting mount_share.sh =====
Mounting /dev/sda4 on /mnt/disk1 as a xfs file system.
XFS mounting filesystem sda4
Success.

Mounting /dev/mtd3 on /mnt/mtd as a jffs2 file system.
Success.

[Success]


===== Starting sethostname.sh =====
hostname is setted to KUROBOX-PRO
[Success]


===== Starting networking.sh =====
create network files..
IP=[dhcp], netmask=[], dgw=[], dns1=[], dns2=[]
killall: dhcpcd: no process killed
route: SIOC[ADD|DEL]RT: No such process
Configuration network interface: lo eth0
requesting DHCP  tout=30[s]
eth0: link down
eth0: link up<5>, full duplex<5>, speed 1 Gbps<5>
/etc/dhcpc/dhcpcd.exe ::: /etc/dhcpc/dhcpcd-eth0.info new
dhcpcd.exe: interface eth0 has been configured with new IP=192.168.1.40
hostname is setted to KUROBOX-PRO
[Success]


===== Starting httpd.sh =====
[Success]


===== Starting telnet.sh =====
[Success]


===== Starting inetd.sh =====
[Success]


===== Starting smb.sh =====
$Starting SMB services:
$Starting NMB services:
[Success]


===== Starting clientUtil_servd.sh =====
Starting clientUtil_server:starting on eth0
[Success]


===== Starting bootcomplete.sh =====
[Success]


===== Starting FanController.sh =====
[Success]


===== Starting boss.sh =====

                           ...''''..
               '-~~(~~'' .~<shDBDhz+(-.
            .~+sDDBNBDhhszDBNNNNBNNNBDs<-
           ~sBNNNNNNNNNNNNNNNNNNNNNNNNNBs<'
         -=DNNBNNNNNNNNNNNNNNNNNBNNNNNNNNBz<'
       .~zNNNNNNNNNNNNNNNNNNNNNNNNNNBNNNNNNNz~
      '~hBNNNNBNNNNNNNNNNNNNNNNNNNNNNNNNNNNNND+'
      (hNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNBs-
    .~zNNNNNNNNNNNNNNNNNNNNNNNBNNNNNNBNNBNNNNNNBs
    ~sBNNNNNNNNNNNNNNNNNNNNNNNNNNNNBNNNNNNNNNNNNNz
   (+DNNNNNNNNNNNNNNNNNNNNNNDzNNNNNhzDNNBNNNNNNNNBs
   (sNNNNNNNNNNNNNNNNNNNNNNB=~hNNNN=~(sDNNNNNNNNNND
  (+DNNNNNNNNNNNNNNNNNNNNNNs'.=NNNNz- '(zDNNNNNNNNNz
  ~=BNNNNNNNNNNNNNNNNNNNNND- .=BNNNN<.  .(hNNNNNNNNB
  ~sNNNNNNNNNNNNNNNNNNNNND+. .+BNNNN+'    ~sBNNNNNNN
  (zNNNNNNNNNNNNNNNNNNNNND' ..+BNBNB=-     .+BNNNNNNh
  (zNNNNNNNNNNNNNNNNNNNBB= . 'hNBBNs+-      '+DNNNBND
  (sNNNNNNNNNNNNNNNNNNNND(   -DhDBN+<-    .  '=NNNNNB
  ~+DNNBNNNNNNNNNNNNNNNNz'  '=D=Dhh+('      . ~DBNNNB
  ~(sNNNNNNNNNNNNNNNNNNNz.  -hs(zz+<('      . .=NNNNN
   ~=NNBBBBNNNNNNNNNNNNB=  '==-=+s((~.        .~BNNNB
   ~=Nhs<+++hNNNNNNNNBz<- .~=-.s(+-(-          'hBNND
    =Ds+hz( ~hNNNNNNND+'..-+'.-((('<~''...     -hNNNNDs
   ~+z(BN=. .<BNNNNBhhDD=+<~. ~-=shBBDhz+('   -sBNNNBBNBz
  ~(=z(BD- '~~hBNNNs~-(<zDDs+~(shzssszDBNDh=<<sBNNNNNNNBN
  ~~+s<z=.-zh~sNNND<.  .''<zhhh==shDBNNNNNNNBDDNNNNNNNNNh
  ~~<ss+<.zBBs~zND+'      ..-+zDBNNNNNNNNNNNhzNNNNNNNNND+
  ~~(=h<<'+DBz-sBs~         .  (BBNNNNNNNNNz-<BBNNBNNND=
  ~(~<zss(('(z<sD+'            ~DNNNNNNNNNz~ 'sNNNNNNDs
    ~(=Ds=<...-(h<.    .     ..<BNNNNNNNNz~   -hNNNBh
     ~(hNs(.    =-            .=BNNNNNBNs-    .(hs==
     ''<BNz~    '.            .(hBNNBDz<'      .~''-
       -hNNh(. '..             .'<<(++~   .     -''.
       'hBNB+' '                   -+('.       .-''.
       'zDNz(  '.                 ~+<-'''..''. .-.
       ..~(-.  .'.              .~+(.   ..''--''.
                ''.           .'+<~         '~.
               .....          .-' .'---(~~~(<~.
                 ..'.            .((---'-~~(~
                   .'.            '+s=(-'-(+.   < Let's start a KURO-BOX!
                    ....           .(hBDzDD=.       and have a fun time...
                     ..'..          .'<sDh+.
                       .''..       .   ..-- .
                         ..''..         ...
                           .......     .'.
                              ..''..'-'..
                                  ...


[Success]


KUROUTOSHIKOU KUROBOX Series KUROBOX/PRO(KOSHO)
KUROBOX-PRO login:

外箱にシールを貼ったんやから、 サングラスの男にもホクロつけとかんとあかんやん(笑)

バージョン

KUROBOX-PRO login: root
Password:
login[759]: root login  on `ttyS0'



BusyBox v1.1.1 (2007.04.06-12:02+0000) Built-in shell (ash)
Enter 'help' for a list of built-in commands.

~ # cd /etc/
/etc # ls
BootFlag         inetd.conf       mtab~            samba
default          init.d           netinfo          services
dhcpc            inittab          nsswitch.conf    shadow
fan.prof         issue            ntp.conf         skel
first_boot       issue.net        ntp.conf.sv      syslog.conf
fstab            kurobox_release  pam.d            termcap
group            ld.so.cache      passwd           yp.conf
gshadow          ld.so.conf       profile          yp.conf.sv
host.info        localtime        resolv.conf
hosts            mtab             resolv.conf.sv
/etc # cat kurobox_release
VERSION=1.02
SUBVERSION=HDD 0.08
PRODUCTID=0x00001003
/etc #
やっぱり、1.02 だと。

Rev.1 は

~ # cat /etc/kurobox_release
VERSION=1.00
SUBVERSION=HDD 0.05
PRODUCTID=0x00001003
~ #
と 1.00 だった。


KURO-BOX/PRO
玄人志向
楽天市場
TSUKUMO ネットショップ
Yahoo!ショッピング
Sofmap
クレバリー
TwoTop

SCON-KIT/PRO
玄人志向
TSUKUMO ネットショップ
Yahoo! ショッピング
パソQ
ValuMore
uWorks

玄箱PROをハックしよう
ASCII
楽天ブックス
Amazon
cbook24
e-hon
JBook
BK1
livedoorブックス
紀伊國屋書店BookWeb


swat 不具合修正パッチ(2)
ハックの記録
LinkStation/玄箱 をハックしよう

玄箱/Pro ファームウェア 1.02

Copyright (C) 2003-2007 Yasunari Yamashita. All Rights Reserved.
yasunari @ yamasita.jp 山下康成@京都府向日市