ファームウェア Ver.1.07β で第三世代 LinkStation ハックキットをインストール

Debian LS-HGL

ファームウェア Ver.1.07β を使って、 第三世代 LinkStation ハックキットをインストールする。

準備

インストール

ログイン

シリアルコンソールから root でログインする。

BUFFALO INC. LinkStation series LS-HGL(SUININ)
LS-HGL487 login: root
root@LS-HGL487:~#

時計を合わせる

root@LS-HGL487:~# date
Thu Nov  1 00:41:36 JST 2007
root@LS-HGL487:~# date 123017302008
Tue Dec 30 17:30:00 JST 2008
root@LS-HGL487:~#

インストールする HDD の準備(LS-WSGL 以外)

すでにインストール済みの Seagete ST3250823A8 を USB で接続する。
root@LS-HGL487:~# tail -f /var/log/messages
	:
	:
/sbin/hotplug [usb]
/sbin/hotplug [usb]
/sbin/hotplug [scsi_host]
/sbin/hotplug [usb_device]
Dec 30 17:32:54 LS-HGL487 kernel: usb 1-1: new high speed USB device using ehci_platform and address 2
Dec 30 17:32:54 LS-HGL487 kernel: usb 1-1: configuration #1 chosen from 1 choice
Dec 30 17:32:54 LS-HGL487 kernel: scsi2 : SCSI emulation for USB Mass Storage devices
  Vendor: ST325082  Model:         3ND06QAZ  Rev:
  Type:   Direct-Access                      ANSI SCSI revision: 02
/sbin/hotplug [scsi]
SCSI device sdb: 488397168 512-byte hdwr sectors (250059 MB)
sdb: Write Protect is off
sdb: assuming drive cache: write through
SCSI device sdb: 488397168 512-byte hdwr sectors (250059 MB)
sdb: Write Protect is off
sdb: assuming drive cache: write through
/sbin/hotplug [block]
/sbin/hotplug [block]
/sbin/hotplug [block]
/sbin/hotplug [block]
sd 2:0:0:0: Attached scsi disk sdb
/sbin/hotplug [block]
sd 2:0:0:0: Attached scsi generic sg1 type 0
/sbin/hotplug [scsi_generic]
/sbin/hotplug [scsi_device]
Dec 30 17:33:00 LS-HGL487 kernel:   Vendor: ST325082  Model:         3ND06QAZ  Rev:
Dec 30 17:33:00 LS-HGL487 kernel:   Type:   Direct-Access                      ANSI SCSI revision: 02
Dec 30 17:33:00 LS-HGL487 kernel: SCSI device sdb: 488397168 512-byte hdwr sectors (250059 MB)
Dec 30 17:33:00 LS-HGL487 kernel: sdb: Write Protect is off
Dec 30 17:33:00 LS-HGL487 kernel: sdb: assuming drive cache: write through
Dec 30 17:33:00 LS-HGL487 kernel: SCSI device sdb: 488397168 512-byte hdwr sectors (250059 MB)
Dec 30 17:33:00 LS-HGL487 kernel: sdb: Write Protect is off
Dec 30 17:33:00 LS-HGL487 kernel: sdb: assuming drive cache: write through
Dec 30 17:33:00 LS-HGL487 kernel:  sdb: sdb1 sdb2 sdb3 sdb4
Dec 30 17:33:00 LS-HGL487 kernel: sd 2:0:0:0: Attached scsi disk sdb
Dec 30 17:33:00 LS-HGL487 kernel: sd 2:0:0:0: Attached scsi generic sg1 type 0
DEVNAME=sdb
2 GUID=152d23380000222238d061a0
usb_disk1=152d23380000222238d061a0
in mount_usbdisk(): param 1
BASENAME=usbdisk1
MPT=/mnt/usbdisk1/
/sbin/hotplug [module]
/sbin/hotplug [module]
FAT: utf8 is not a recommended IO charset for FAT filesystems, filesystem will be case sensitive!
FAT: bogus number of reserved sectors
/sbin/hotplug [block]
Dec 30 17:33:06 LS-HGL487 kernel: FAT: utf8 is not a recommended IO charset for FAT filesystems, fil/sbin/hotplug [block]
esystem will be case sensitive!
Dec 30 17:33:06 LS-HGL487 kernel: FAT: bogus number of reserved sectors
Dec 30 17:33:06 ## STATE_CHANGED ##
LS-HGL487 kernel: VFS: Can't find a valid FAT filesystem on dev sdb.
Dec 30 17:33:06 LS-HGL487 kernel: kjournald starting.  Commit interval 5 seconds
Dec 30 17:33:06 LS-HGL487 kernel: EXT3 FS on sdb1, internal journal
Dec 30 17:33:06 LS-HGL487 kernel: EXT3-fs: mounted filesystem with ordered data mode.
Dec 30 17:33:09 LS-HGL487 nmbd[1264]: [2008/12/30 17:33:09, 0] nmbd/nmbd.c:terminate(58)
Dec 30 17:33:09 LS-HGL487 nmbd[1264]:   Got SIGTERM: going down...
/sbin/hotplug [module]
/sbin/hotplug [module]
/sbin/hotplug [module]
Dec 30 17:33:10 LS-HGL487 kernel: NET: Registered protocol family 5
/mnt/usbdisk1 に自動的にマウントされた。確認。
root@LS-HGL487:~# df
Filesystem           1k-blocks      Used Available Use% Mounted on
/dev/root.old            15351     14671       680  96% /initrd
/dev/sda2              4994004    244208   4749796   5% /
/dev/ram1                15360       108     15252   1% /mnt/ram
/dev/sda1               988212     24464    963748   2% /boot
/dev/sda6            237067816   9272480 227795336   4% /mnt/disk1
/dev/usbdisk1_1         194443     11638    172766   6% /mnt/usbdisk1
root@LS-HGL487:~#
アンマウントする。
root@LS-HGL487:~# umount /mnt/usbdisk1/
/sbin/hotplug [block]
root@LS-HGL487:~# df
Filesystem           1k-blocks      Used Available Use% Mounted on
/dev/root.old            15351     14671       680  96% /initrd
/dev/sda2              4994004    244264   4749740   5% /
/dev/ram1                15360       104     15256   1% /mnt/ram
/dev/sda1               988212     24464    963748   2% /boot
/dev/sda6            237067816   9272480 227795336   4% /mnt/disk1
root@LS-HGL487:~#
パーティションは、すでに設定済み。
root@LS-HGL487:~# fdisk -l /dev/sdb

Disk /dev/sdb: 250.0 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1          25      200781   83  Linux
/dev/sdb2              26         275     2008125   83  Linux
/dev/sdb3             276         307      257040   82  Linux swap
/dev/sdb4             308       30401   241730055   83  Linux
root@LS-HGL487:~#

カスタマイズ

IP アドレスを 192.168.2.44 に変更する。
root@LS-HGL487:~# cd /mnt/disk1/share/hackkit/
root@LS-HGL487:/mnt/disk1/share/hackkit# ls
hackkit_081209.tar.gz  mkimage
hackkit_081214.sh      ramroot_081213.sh
root@LS-HGL487:/mnt/disk1/share/hackkit# mv hackkit_081214.sh hackkit_081214.sh.orig
root@LS-HGL487:/mnt/disk1/share/hackkit# cp hackkit_081214.sh.orig hackkit_081214.sh
root@LS-HGL487:/mnt/disk1/share/hackkit# head hackkit_081214.sh
#!/bin/sh
#
# LinkStation HackKit Installer.
# Copyright (C) Yasunari YAMASHITA. All Rights Reserved.
#

ADDRESS=192.168.2.47
NETWORK=192.168.2.0
NETMASK=255.255.255.0
BROADCAST=192.168.2.255
root@LS-HGL487:/mnt/disk1/share/hackkit# vi hackkit_081214.sh
	:
	:
root@LS-HGL487:/mnt/disk1/share/hackkit# diff hackkit_081214.sh{.orig,}
7c7
< ADDRESS=192.168.2.47
---
> ADDRESS=192.168.2.44
root@LS-HGL487:/mnt/disk1/share/hackkit#

インストーラの実行

手順では、ここで cd しているが、上のカスタマイズで実行済み。
root@LS-HGL487:/mnt/disk1/share/hackkit# cd /mnt/disk1/share/hackkit
root@LS-HGL487:/mnt/disk1/share/hackkit# sh hackkit_081214.sh
	:
	:
creating usb ...
/sbin/hotplug [block]
checking /dev/sdb1
fsck 1.27 (8-Mar-2002)
e2fsck 1.27 (8-Mar-2002)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/sdb1: 11/50200 files (0.0% non-contiguous), 10465/200781 blocks
mounting /boot ...
/sbin/hotplug [block]
copying /boot ...
initrd.buffalo
uImage.buffalo
editing initrd ...
93266+1 records in
93266+1 records out
gunziping /mnt/debinst/boot/initrd.gz ...
/sbin/hotplug [block]
/sbin/hotplug [block]
gziping /mnt/debinst/boot/initrd ... wait 5 minutes
Image Name:   initrd
Created:      Tue Dec 30 17:51:11 2008
Image Type:   ARM Linux RAMDisk Image (gzip compressed)
Data Size:    5950115 Bytes = 5810.66 kB = 5.67 MB
Load Address: 0x00000000
Entry Point:  0x00000000
unmount /boot ...
umount: /mnt/debinst/boot: device is busy
umount: /mnt/debinst/boot: device is busy
root@LS-HGL487:/mnt/disk1/share/hackkit#

電源 OFF

電源 SW を OFF にスライドして電源 OFF
コンセントも抜く。

ハックキットで起動

HDD の交換

SATA で接続している標準ファームの HDD をはずし、 USB で接続していたハックキットの HDD を SATA で接続。

起動

	:
	:
---- in hackkit linuxrc ---
XFS mounting filesystem sda2
VFS: Mounted root (xfs filesystem).
Trying to move old root to /initrd ... okay
Freeing init memory: 108K
INIT: version 2.86 booting
Setting the system clock.
Activating swap...Adding 257032k swap on /dev/sda3.  Priority:-1 extents:1 across:257032k
done.
Setting the system clock.
Cleaning up ifupdown....
Loading kernel modules...done.
Checking file systems...fsck 1.41.3 (12-Oct-2008)
/dev/sda1: recovering journal
/dev/sda1: Clearing orphaned inode 15 (uid=0, gid=0, mode=0100644, size=16777216)
/dev/sda1: Superblock last mount time is in the future.  FIXED.
/dev/sda1: Backing up journal inode block information.

/dev/sda1 has filesystem last checked time in the future, check forced.
/dev/sda1: 13/50200 files (15.4% non-contiguous), 17984/200781 blocks
/sbin/fsck.xfs: XFS file system.
fsck died with exit status 1
done.
Setting kernel variables (/etc/sysctl.conf)...Unknown HZ value! (94) Assume 100.
done.
Mounting local filesystems...kjournald starting.  Commit interval 5 seconds
EXT3 FS on sda1, internal journal
EXT3-fs: mounted filesystem with ordered data mode.
XFS mounting filesystem sda4
done.
Activating swapfile swap...done.
Setting up networking....
Configuring network interfaces...eth0: link down
done.
INIT: Entering runlevel: 2
Starting enhanced syslogd: rsyslogd.
usbcore: registered new driver usbfs
usbcore: registered new driver hub
ehci_platform ehci_platform.4523: EHCI Platform 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: USB 0.0 started, EHCI 1.00, driver 10 Dec 2004
usb usb1: configuration #1 chosen from 1 choice
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
ehci_platform ehci_platform.16781: EHCI Platform 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: USB 0.0 started, EHCI 1.00, driver 10 Dec 2004
usb usb2: configuration #1 chosen from 1 choice
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 1 port detected
eth0: link up<5>, full duplex<5>, speed 1 Gbps<5>
Initializing USB Mass Storage driver...
usbcore: registered new driver usb-storage
USB Mass Storage support registered.
usbcore: registered new driver usblp
drivers/usb/class/usblp.c: v0.13: USB Printer Device Class driver
Starting internet superserver: inetd.
Starting periodic command scheduler: crond.

Debian GNU/Linux lenny/sid hackkit ttyS0

hackkit login:

最初の設定

ログイン

シリアルコンソールなので、root で直接ログインできるが、 ここは手順どおり guest でログインする。
Debian GNU/Linux lenny/sid hackkit ttyS0

hackkit login: guest
Password:
Linux hackkit 2.6.16.16-arm1 #131 Sat Dec 27 13:21:07 JST 2008 armv5tejl

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
No directory, logging in with HOME=/
guest@hackkit:/$

root になる

guest@hackkit:/$ su - root
Password:
hackkit:~#

時計を合わせる

いちいち。うざい。
hackkit:~# date 123018002008
Tue Dec 30 18:00:00 JST 2008
hackkit:~#

root のパスワード変更

hackkit:~# passwd root
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
hackkit:~#

一般ユーザの作成

hackkit:~# addgroup yamasita
Adding group `yamasita' (GID 1001) ...
Done.
hackkit:~# mkdir /home/yamasita
hackkit:~# adduser --home /home/yamasita/yasunari --ingroup yamasita yasunari
Adding user `yasunari' ...
Adding new user `yasunari' (1001) with group `yamasita' ...
Creating home directory `/home/yamasita/yasunari' ...
Copying files from `/etc/skel' ...
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Changing the user information for yasunari
Enter the new value, or press ENTER for the default
        Full Name []: Yasunari Yamashita
        Room Number []:
        Work Phone []:
        Home Phone []:
        Other []:
Is the information correct? [Y/n] y
hackkit:~#

guest の削除

hackkit:~# exit
logout
guest@hackkit:/$ exit
logout

Debian GNU/Linux lenny/sid hackkit ttyS0

hackkit login: yasunari
Password:
Linux hackkit 2.6.16.16-arm1 #131 Sat Dec 27 13:21:07 JST 2008 armv5tejl

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
yasunari@hackkit:~$ su - root
Password:
hackkit:~# deluser guest
Removing user `guest' ...
Warning: group `guest' has no more members.
Done.
hackkit:~#

パッケージのアップデート

hackkit:~# apt-get update
Get:1 http://security.debian.org lenny/updates Release.gpg [189B]
Get:2 http://ftp.jp.debian.org lenny Release.gpg [189B]
Get:3 http://security.debian.org lenny/updates Release [40.8kB]
Get:4 http://ftp.jp.debian.org lenny Release [74.5kB]
Ign http://security.debian.org lenny/updates/main Packages/DiffIndex
Ign http://security.debian.org lenny/updates/main Sources/DiffIndex
Get:5 http://security.debian.org lenny/updates/main Packages [11.0kB]
Get:6 http://ftp.jp.debian.org lenny/main Packages/DiffIndex [2038B]
Get:7 http://security.debian.org lenny/updates/main Sources [4698B]
Get:8 http://ftp.jp.debian.org lenny/main Sources/DiffIndex [2038B]
Get:9 http://ftp.jp.debian.org lenny/main Packages [6731kB]
Get:10 http://ftp.jp.debian.org lenny/main Sources [2982kB]
Fetched 9849kB in 40s (245kB/s)
Reading package lists... Done
hackkit:~# apt-get upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages will be upgraded:
  apt apt-utils aptitude base-files libgnutls26 libncurses5 libncursesw5
  ncurses-base ncurses-bin openbsd-inetd rsyslog
11 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 6647kB of archives.
After this operation, 508kB of additional disk space will be used.
Do you want to continue [Y/n]? y
Get:1 http://ftp.jp.debian.org lenny/main base-files 5 [62.1kB]
Get:2 http://ftp.jp.debian.org lenny/main ncurses-bin 5.7+20081213-1 [303kB]
Get:3 http://ftp.jp.debian.org lenny/main libncurses5 5.7+20081213-1 [328kB]
Get:4 http://ftp.jp.debian.org lenny/main ncurses-base 5.7+20081213-1 [178kB]
Get:5 http://ftp.jp.debian.org lenny/main apt 0.7.19 [1603kB]
Get:6 http://ftp.jp.debian.org lenny/main apt-utils 0.7.19 [183kB]
Get:7 http://ftp.jp.debian.org lenny/main libncursesw5 5.7+20081213-1 [348kB]
Get:8 http://ftp.jp.debian.org lenny/main aptitude 0.4.11.11-1~lenny1 [2989kB]
Get:9 http://ftp.jp.debian.org lenny/main libgnutls26 2.4.2-4 [453kB]
Get:10 http://ftp.jp.debian.org lenny/main rsyslog 3.18.6-2 [167kB]
Get:11 http://ftp.jp.debian.org lenny/main openbsd-inetd 0.20080125-2 [33.3kB]
Fetched 6647kB in 16s (394kB/s)
(Reading database ... 8599 files and directories currently installed.)
Preparing to replace base-files 4.0.6 (using .../base-files_5_armel.deb) ...
Unpacking replacement base-files ...
Processing triggers for man-db ...
Setting up base-files (5) ...
Installing new version of config file /etc/debian_version ...
Installing new version of config file /etc/issue ...
Installing new version of config file /etc/issue.net ...
(Reading database ... 8599 files and directories currently installed.)
Preparing to replace ncurses-bin 5.6+20080830-2 (using .../ncurses-bin_5.7+20081213-1_armel.deb) ...
Unpacking replacement ncurses-bin ...
Processing triggers for man-db ...
Setting up ncurses-bin (5.7+20081213-1) ...
(Reading database ... 8604 files and directories currently installed.)
Preparing to replace libncurses5 5.6+20080830-2 (using .../libncurses5_5.7+20081213-1_armel.deb) ...
Unpacking replacement libncurses5 ...
Setting up libncurses5 (5.7+20081213-1) ...
(Reading database ... 8604 files and directories currently installed.)
Preparing to replace ncurses-base 5.6+20080830-2 (using .../ncurses-base_5.7+20081213-1_all.deb) ...
Unpacking replacement ncurses-base ...
Setting up ncurses-base (5.7+20081213-1) ...
(Reading database ... 8607 files and directories currently installed.)
Preparing to replace apt 0.7.18 (using .../archives/apt_0.7.19_armel.deb) ...
Unpacking replacement apt ...
Processing triggers for man-db ...
Setting up apt (0.7.19) ...
gpg: key 6070D3A1: "Debian Archive Automatic Signing Key (4.0/etch) " not changed
gpg: key ADB11277: "Etch Stable Release Key " not changed
gpg: key BBE55AB3: "Debian-Volatile Archive Automatic Signing Key (4.0/etch)" not changed
gpg: key F42584E6: "Lenny Stable Release Key " not changed
gpg: Total number processed: 4
gpg:              unchanged: 4
(Reading database ... 8607 files and directories currently installed.)
Preparing to replace apt-utils 0.7.18 (using .../apt-utils_0.7.19_armel.deb) ...
Unpacking replacement apt-utils ...
Preparing to replace libncursesw5 5.6+20080830-2 (using .../libncursesw5_5.7+20081213-1_armel.deb) ...
Unpacking replacement libncursesw5 ...
Preparing to replace aptitude 0.4.11.10-1lenny1.1 (using .../aptitude_0.4.11.11-1~lenny1_armel.deb) ...
Unpacking replacement aptitude ...
Preparing to replace libgnutls26 2.4.2-3 (using .../libgnutls26_2.4.2-4_armel.deb) ...
Unpacking replacement libgnutls26 ...
Preparing to replace rsyslog 3.18.5-1 (using .../rsyslog_3.18.6-2_armel.deb) ...
Unpacking replacement rsyslog ...
Preparing to replace openbsd-inetd 0.20080125-1 (using .../openbsd-inetd_0.20080125-2_armel.deb) ...
Stopping internet superserver: inetd.
Unpacking replacement openbsd-inetd ...
Processing triggers for man-db ...
Setting up apt-utils (0.7.19) ...
Setting up libncursesw5 (5.7+20081213-1) ...
Setting up aptitude (0.4.11.11-1~lenny1) ...
Setting up libgnutls26 (2.4.2-4) ...
Setting up rsyslog (3.18.6-2) ...
Stopping enhanced syslogd: rsyslogd.
Starting enhanced syslogd: rsyslogd.
Setting up openbsd-inetd (0.20080125-2) ...
Installing new version of config file /etc/init.d/openbsd-inetd ...
Stopping internet superserver: inetd.
/etc/init.d/openbsd-inetd: line 21:  1527 Done                    grep -v -s "^ *#" /etc/inetd.conf
      1528 Segmentation fault      | grep -q -s 'rpc/'
Starting internet superserver: inetd.
hackkit:~#
なんか、Segmentation fault が起こっている。
念のため、もう一回実行。
hackkit:~# apt-get upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
hackkit:~#
パッケージ的には最新。

再起動してみる。

hackkit:~# shutdown -r now

Broadcast message from root@hackkit (ttyS0) (Tue Dec 30 18:08:39 2008):

The system is going down for reboot NOW!
INIT: Sending processes the TERM signaStopping internet superserver: inetd.
Saving the system clock.
Stopping enhanced syslogd: rsyslogd.
Asking all remaining processes to terminate...done.
All processes ended within 1 seconds....done.
Deconfiguring network interfaces...done.
Cleaning up ifupdown....
Deactivating swap...done.
Unmounting local filesystems...done.
Will now restart.
Synchronizing SCSI cache for disk sda:
Restarting system.
.
	:
	:
	:
Starting internet superserver: inetd.
Starting periodic command scheduler: crond.

Debian GNU/Linux 5.0 hackkit ttyS0

hackkit login:
シャットダウン時にも起動時にも inetd のエラーは出ていない。
エラーが起こった /etc/init.d/openbsd-inetd: line 21 を実行してみる。
hackkit:~# grep -v -s "^ *#" /etc/inetd.conf

telnet          stream  tcp     nowait  telnetd /usr/sbin/tcpd  /usr/sbin/in.telnetd








hackkit:~# grep -v -s "^ *#" /etc/inetd.conf | grep -q -s 'rpc/'
hackkit:~#
特に問題なし。アップデートの過程の障害か????

ところで、、、

Debian GNU/Linux 5.0 hackkit ttyS0

hackkit login:
って、
hackkit:~# cat /etc/debian_version
5.0
hackkit:~#
そーですか。
いつまでも lenny/sid を配布してたらあかんかな。
今年一年、つたないサイトをご覧いただき、ありがとうございました。
では、皆様、よいお年を

LS-HGL
バッファローダイレクト
楽天市場
livedoor デパート
Sofmap
Yahoo!ショッピング
パソQ
ムラウチドットコム
ヤマダ電機WEB


ファームウェア Ver.1.07β のインストール
ハックの記録
LinkStation/玄箱 をハックしよう

第三世代 LinkStation/玄箱ハックキット:時刻同期

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