LSUpdater.ini の NoFormatting

LS-CL

Hack BBSで、 LENPHIS さんから LS-CHL 1.21 の LSUpdater.ini に NoFormatting が増えている という情報をいただいた。

そのうち検証しようと思っていたら、LS-CHL はご臨終。

他のファームウェアを見ていたら、LS-CL 1.11 の LSUpdater.ini にも NoFormatting が書かれているのを見つけた。

[Application]
Title = BUFFALO LS-CL Updater Ver.1.11
WaitReboot = 480
WaitFormat = 500
WaitFileSend = 300

[Target]
ProductID = 0x0000000F
Name = LS-CL

[Flags]
VersionCheck = 1
NoFormatting=1

LS-CL 1.11 で、まっさらな HDD へのインストールは試していなかったので、 やってみる。

思いついたらやってみる。 「多分できないだろうなぁ」で止めていたのではハック欲がおさまらない。

実験用 HDD を USB で LS-XHL に接続

まずは、まっさらな HDD を用意する。
実験用 HDD は LS-CHL 用に使っていた HDD。もう要らなくなくなったしぃ。。。
Jul  7 07:18:06 brick kernel: usb 1-1: new high speed USB device using ehci_marvell and address 2
Jul  7 07:18:06 brick kernel: usb 1-1: configuration #1 chosen from 1 choice
Jul  7 07:18:06 brick kernel: scsi2 : SCSI emulation for USB Mass Storage devices
Jul  7 07:18:11 brick kernel: scsi 2:0:0:0: Direct-Access     ViPowER  VP-89118(SD1)    2.10 PQ: 0 ANSI: 4
Jul  7 07:18:11 brick kernel: sd 2:0:0:0: [sdb] 398297088 512-byte hardware sectors (203928 MB)
Jul  7 07:18:11 brick kernel: sd 2:0:0:0: [sdb] Write Protect is off
Jul  7 07:18:11 brick kernel: sd 2:0:0:0: [sdb] 398297088 512-byte hardware sectors (203928 MB)
Jul  7 07:18:11 brick kernel: sd 2:0:0:0: [sdb] Write Protect is off
Jul  7 07:18:11 brick kernel: sdb: sdb1 sdb2 sdb3 sdb4 sdb5 sdb6
Jul  7 07:18:11 brick kernel: sd 2:0:0:0: [sdb] Attached SCSI disk
Jul  7 07:18:11 brick kernel: sd 2:0:0:0: Attached scsi generic sg1 type 0
yasunari@brick:~$
時計狂いっ放し。。。。

gparted でパーティションの解放

brick:~# parted -s /dev/sdb print
Model: ViPowER VP-89118(SD1) (scsi)
Disk /dev/sdb: 204GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt

Number  Start   End     Size    File system  Name     Flags
 1      17.4kB  1024MB  1024MB  ext3         primary
 2      1024MB  6144MB  5120MB  xfs          primary
 3      6144MB  6144MB  512B                 primary
 4      6144MB  6144MB  512B                 primary
 5      6144MB  7168MB  1024MB  linux-swap   primary
 6      7168MB  192GB   185GB   xfs          primary

brick:~# parted -s /dev/sdb rm 6
brick:~# ^6^5
parted -s /dev/sdb rm 5
brick:~# ^5^4
parted -s /dev/sdb rm 4
brick:~# ^4^3
parted -s /dev/sdb rm 3
brick:~# ^3^2
parted -s /dev/sdb rm 2
brick:~# ^2^1
parted -s /dev/sdb rm 1
brick:~# !?print
parted -s /dev/sdb print
Model: ViPowER VP-89118(SD1) (scsi)
Disk /dev/sdb: 204GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt

Number  Start  End  Size  File system  Name  Flags

brick:~#

fdisk でもパーティションの解放

brick:~# fdisk  /dev/sdb

WARNING: GPT (GUID Partition Table) detected on '/dev/sdb'! The util fdisk doesn't support GPT. Use GNU Parted.


The number of cylinders for this disk is set to 24792.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
   (e.g., DOS FDISK, OS/2 FDISK)

Command (m for help): p

Disk /dev/sdb: 203.9 GB, 203928109056 bytes
255 heads, 63 sectors/track, 24792 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x00000000

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1       24793   199148543+  ee  EFI GPT

Command (m for help): d
Selected partition 1

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.
brick:~#

tftp サーバの準備

uImage.buffalo, initrd.buffalo を LS-CL 1.11 のに入れ換える。
yasunari@ude:~$ cd /srv/tftp/
yasunari@ude:/srv/tftp$ ls
HS-DHGL_1.20   LS-CL_1.07         LS-QL_1.07b         LS-XHL_1.04b
LS-CHL_1.10    LS-GL_1.15         LS-QL_1.10b         LS-XHL_1.10
LS-CHL_1.20    LS-HGL_1.07b       LS-WSGL_1.06        SheevaPlug_1.2
LS-CHL_1.21    LS-LGL_2.01        LS-XHL_1.02         initrd.buffalo
LS-CL+HackKit  LS-QL_1.05+telnet  LS-XHL_1.02+telnet  uImage.buffalo
yasunari@ude:/srv/tftp$
ないや。 LS-CL 1.11 の HDD を tftp サーバである LS-GL に接続。
LS-CL は GPT じゃないので、LS-GL に直接接続できる。
ude:~# tail -f /var/log/messages
	:
	:

Oct 22 22:37:10 ude kernel: usb 2-1: new high speed USB device using ehci_platform and address 2
Oct 22 22:37:10 ude kernel: usb 2-1: configuration #1 chosen from 1 choice
Oct 22 22:37:10 ude kernel: scsi2 : SCSI emulation for USB Mass Storage devices
Oct 22 22:37:15 ude kernel:  Vendor: ViPowER   Model: VP-89118(SD1)     Rev: 2.10
Oct 22 22:37:15 ude kernel:  Type:   Direct-Access                      ANSI SCSI revision: 04
Oct 22 22:37:15 ude kernel: SCSI device sdb: 976773168 512-byte hdwr sectors (500108 MB)
Oct 22 22:37:15 ude kernel: sdb: Write Protect is off
Oct 22 22:37:16 ude kernel: SCSI device sdb: 976773168 512-byte hdwr sectors (500108 MB)
Oct 22 22:37:16 ude kernel: sdb: Write Protect is off
Oct 22 22:37:16 ude kernel: sdb: sdb1 sdb2 sdb4 < sdb5 sdb6 >
Oct 22 22:37:16 ude kernel: sd 2:0:0:0: Attached scsi disk sdb
Oct 22 22:37:16 ude kernel: sd 2:0:0:0: Attached scsi generic sg1 type 0
念のため、バージョンの確認
ude:~# mkdir /tmp/root
ude:~# mount /dev/sdb2 /tmp/root
ude:~# cat /tmp/root/etc/linkstation_release
VERSION=1.11
SUBVERSION=HDD 0.77
PRODUCTID=0x00000000
BUILDDATE=2009/06/18 21:50:15
ude:~# umount /tmp/root
ude:~#
/boot をマウントする。
ude:~# mount /dev/sdb1 /tmp/boot
ude:~# ls /tmp/boot
conf_save.tgz                   initrd.buffalo  log.tgz         uImage.buffalo
hddrootfs.buffalo.updated.done  initrd.gz       u-boot.buffalo
ude:~#
tftp サーバの管理下へコピーする。
ude:~# mkdir /srv/tftp/LS-CL_1.11
ude:~# cd /tmp/boot
ude:/tmp/boot# tar cf - uImage.buffalo initrd.buffalo |(cd /srv/tftp/LS-CL_1.11/; tar xvf -)
uImage.buffalo
initrd.buffalo
ude:/tmp/boot# chown yasunari /srv/tftp/LS-CL_1.11/*
ude:/tmp/boot# cd /
ude:/# umount /tmp/boot
ude:/# exit
logout
yasunari@ude:/srv/tftp$ ls
HS-DHGL_1.20   LS-CL_1.11         LS-QL_1.10b         SheevaPlug_1.2
LS-CHL_1.10    LS-GL_1.15         LS-WSGL_1.06        initrd.buffalo
LS-CHL_1.20    LS-HGL_1.07b       LS-XHL_1.02         uImage.buffalo
LS-CHL_1.21    LS-LGL_2.01        LS-XHL_1.02+telnet
LS-CL+HackKit  LS-QL_1.05+telnet  LS-XHL_1.04b
LS-CL_1.07     LS-QL_1.07b        LS-XHL_1.10
yasunari@ude:/srv/tftp$ rm initrd.buffalo uImage.buffalo
yasunari@ude:/srv/tftp$ ln LS-CL_1.11/* .
yasunari@ude:/srv/tftp$ ls -l
total 8980
drwxr-s--- 2 yasunari root      48 Mar 22  2009 HS-DHGL_1.20
drwxr-s--- 2 yasunari root      48 May 27 21:32 LS-CHL_1.10
drwxr-s--- 2 yasunari root      48 Oct 21 22:01 LS-CHL_1.20
drwxr-s--- 2 yasunari root      48 Oct  4 22:36 LS-CHL_1.21
drwxrwxr-x 2 root     root      48 Jan 24  2009 LS-CL+HackKit
drwxr-sr-x 2 root     root      48 Mar 23  2009 LS-CL_1.07
drwxr-sr-x 2 root     root      48 Oct 22 22:41 LS-CL_1.11
drwxrwsr-x 2 yasunari root      48 Mar 20  2009 LS-GL_1.15
drwxr-sr-x 2 root     root      48 Mar 23  2009 LS-HGL_1.07b
drwxr-sr-x 2 root     root      48 Mar 23  2009 LS-LGL_2.01
drwxrwxr-x 2 root     root      48 Feb 20  2009 LS-QL_1.05+telnet
drwxr-s--- 2 yasunari root      48 Mar 27  2009 LS-QL_1.07b
drwxr-s--- 2 yasunari root      48 Jun  6 09:58 LS-QL_1.10b
drwxr-sr-x 2 yasunari root      48 Mar 25  2009 LS-WSGL_1.06
drwxrwxr-x 2 root     root      48 Jan 24  2009 LS-XHL_1.02
drwxrwxr-x 2 root     root      64 Jan 24  2009 LS-XHL_1.02+telnet
drwxr-s--- 2 yasunari root      48 Mar 27  2009 LS-XHL_1.04b
drwxr-s--- 2 yasunari root      48 May 22 22:22 LS-XHL_1.10
drwxr-sr-x 2 yasunari root      54 Oct  4 22:47 SheevaPlug_1.2
-rw-r--r-- 2 yasunari root 7073595 Jun 18 21:50 initrd.buffalo
-rw-r--r-- 2 yasunari root 2120040 Sep  8 20:26 uImage.buffalo
yasunari@ude:/srv/tftp$
なんかばらばら

LS-CL にまっさらな HDD を接続して起動

Orion1   CPU =  Low

Checking DATA BUS
Checking ADDRESS BUS

> Checking hardware info ...
=== CPU-ID       : 0x00005182 ===
=== Strap status : 0x01000030 ===
=== H/W boardId  :       0x43 ===
=== boardId      :       0x1e ===
=== micon_support:        off ===
> OK.
=== BUFFALO LS-CL/CHL U-Boot. ===
 ** LOADER **
 ** BUFFALO BOARD: BUFFALO_BOARD_LS_CL LE (CFG_ENV_ADDR=fffff000)


U-Boot 1.1.1 (Sep 16 2008 - 14:54:32) Marvell version: 1.12.1 - TINY
Buffalo Version: 1.22-1.00

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

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


USB 0: host mode
PCI 0: PCI Express Root Complex Interface
PCI 1: Conventional PCI, speed = 33000000
Net:   egiga0 [PRIME]
Using 88E1118 phy
buffalo_change_power_status > Read 0x00
buffalo_IsStopAtUbootStatus > MagicKey=0x00
buffalo_change_power_status > Read 0x00
buffalo_change_power_status > Read 0x00
buffalo_change_power_status > Writing 0x5c

Please Press HDD power button to continue ...
buffalo_change_power_status > Read 0x5c
buffalo_change_power_status > Writing 0x3a

Marvell Serial ATA Adapter
Integrated Sata device found
  Device 0: OK
Model: Maxtor 6L200M0                           Firm: BANC1G10 Ser#: L40PVARG   
            Type: Hard Disk
            Supports 48-bit addressing
            Capacity: 194481.0 MB = 189.9 GB (398297088 x 512)

Using device ide0, partition 1
** Bad partition 1 **
serch_boot_drv (194)>No kernel_file 0
Using device ide0, partition 1
** Bad partition 1 **
serch_boot_drv (249)>No init_file 0
Using device ide1, partition 1
** Bad partition 1 **
serch_boot_drv (194)>No kernel_file 1
Using device ide1, partition 1
** Bad partition 1 **
serch_boot_drv (249)>No init_file 1
Lost all init_rd

シリアルコンソールのある幸せ。

tftp boot

FUNCTION SW を押す

func switch pushed, and exited loop
wait until func switch released.

Marvell Serial ATA Adapter
Integrated Sata device found

Using device ide0, partition 1
** Bad partition 1 **
serch_boot_drv (194)>No kernel_file 0
Using device ide0, partition 1
** Bad partition 1 **
serch_boot_drv (249)>No init_file 0
Using device ide1, partition 1
** Bad partition 1 **
serch_boot_drv (194)>No kernel_file 1
Using device ide1, partition 1
** Bad partition 1 **
serch_boot_drv (249)>No init_file 1
hit any key to switch tftp boot.
Hit any key to stop autoboot:  0
Using egiga0 device
TFTP from server 192.168.2.38; our IP address is 192.168.2.47
Filename 'uImage.buffalo'.
Load address: 0x100000
Loading: #################################################################
(略)
         #########################
done
Bytes transferred = 2120040 (205968 hex)
Using egiga0 device
TFTP from server 192.168.2.38; our IP address is 192.168.2.47
Filename 'initrd.buffalo'.
Load address: 0x800000
Loading: #################################################################
(略)
         #################
done
Bytes transferred = 7073595 (6bef3b hex)
## Booting image at 00100000 ...
   Image Name:   Linux-2.6.22.7
   Created:      2009-06-18  12:48:37 UTC
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    2119976 Bytes =  2 MB
   Load Address: 00008000
   Entry Point:  00008000
   Verifying Checksum ... OK
OK
## Loading Ramdisk Image at 00800000 ...
   Image Name:   initrd
   Created:      2009-06-18  12:50:56 UTC
   Image Type:   ARM Linux RAMDisk Image (gzip compressed)
   Data Size:    7073531 Bytes =  6.7 MB
   Load Address: 00000000
   Entry Point:  00000000
   Verifying Checksum ... OK

Starting kernel ...

arg:console=ttyS0,115200 root=/dev/sda2 rw initrd=0x00800040,15M panic=5 BOOTVER=1.22 tftpboot=yes
CONFIG_BUFFALO_PLATFORM ---
Uncompressing Linux..................................................................................................................................... done, booting the kernel.
Linux version 2.6.22.7 (root@build) (gcc version 4.2.0 20070413 (prerelease)) #1 Thu Jun 18 21:48:29 JST 2009
CPU: ARM926EJ-S [41069260] revision 0 (ARMv5TEJ), cr=a0053177
Machine: Feroceon
Using UBoot passing parameters structure
Memory policy: ECC disabled, Data cache writeback
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
Built 1 zonelists.  Total pages: 32512
Kernel command line: console=ttyS0,115200 root=/dev/sda2 rw initrd=0x00800040,15M panic=5 BOOTVER=1.22 tftpboot=yes
PID hash table entries: 512 (order: 9, 2048 bytes)
Console: colour dummy device 80x30
Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
Memory: 128MB 0MB 0MB 0MB = 128MB total
Memory: 110136KB available (3832K code, 294K data, 120K init)
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
NET: Registered protocol family 16
env_format_version = 0x00000006
product_id = 0x0000000F
Sys Clk = 200000000, Tclk = 166664740
	:
	:

BUFFALO INC. LinkStation series
LS-CL-EM701 login:

ファームウェアアップデータ 1.11 の実行

LS-CL 1.11 の LSUpdater.exe を実行する。
無事 LS-CL-EM701 が見つかる。
「ファームウェア更新」をクリック。

「HDD のパーティション情報が確認できませんでした。
 ファームウェアをアップデートすることができません。
 アップデートを中止します。」

シリアルコンソールには、

mount: mounting /dev/sda1 on /boot failed: No such device or address

LSUpdater.ini の修正

LSUpdater.ini から NoFormatting の行を消す。
[Application]
Title = BUFFALO LS-CL Updater Ver.1.11
WaitReboot = 480
WaitFormat = 500
WaitFileSend = 300

[Target]
ProductID = 0x0000000F
Name = LS-CL

[Flags]
VersionCheck = 1

ファームウェアアップデータ 1.11 の再実行

LS-CL 1.11 の LSUpdater.exe を実行する。
無事 LS-CL-EM701 が見つかる。
「ファームウェア更新」をクリック。

「HDDのパーティション情報が確認できませんでした
 HDDをフォーマットしファームウェアのアップデートをおこないます
 ※HDDの内容は完全に消えてしまいます  HDDのフォーマットをおこなってもよろしいですか?」

やほぉー

もちろん「はい(Y)」

しばらくして、無事ファームウェア 1.11 のインストールが終わった。

BUFFALO INC. LinkStation series
LS-CL701 login: admin
Password:
No mail.
-sh: /etc/profile: Permission denied
-sh-3.2$ cat /etc/linkstation_release
VERSION=1.11
SUBVERSION=HDD 0.77
PRODUCTID=0x00000000
BUILDDATE=2009/06/18 21:50:15
-sh-3.2$

LENPHIS さん、貴重な情報をありがとうございました。



LS-CL
バッファローダイレクト
楽天市場
amazon


遺品
ハックの記録
LinkStation/玄箱 をハックしよう

LS-S500L 入手 / I got an LS-S500L

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