LS-XHL」カテゴリーアーカイブ

LS-XHL

LS-XHLのwheezy化

LS-XHLをwheezy化したので手順を載せておこうかと思います。基本的には
http://www.zorac.org/wp/?p=447
を参考にさせて頂きました。

実施の際はくれぐれも自己責任でお願いします。
ここに記載した内容を実行したことによるいかなるトラブル/故障/データ消失にも当方は責任はもてませんのであしからず。

英語がイケるかたはこちらも参考にして頂くといいかもしれません。
Buffalo NAS-Central Forums • View topic – LS-CHLv2 – LS-XHL – Debian Wheezy Rootfs – Update 2013.05.15

< 必要なものなど >
1. LS-XHL本体 ( LS-VLシリーズだとネットワーク周りの設定が違うだけとの話です )
2. Debian Wheezy Rootfs
3. ARMアーキテクチャのDebianまたはUbuntuマシン ( 非ARM向けの手順も記載していますが自分は試していません )
4. USB-HDDケース ( インストール時に 3 に接続できればいいので内部SATA接続などであれば不要 )

手順はなるべくARMと非ARMで共通になるように書いていますが、私自身はARMでしか試していませんのでご注意ください。

< ハマりどころ >
●パーティション作成をGpartedでやるとなぜかうまく起動しなくなる。
●chrootを使用した手順はARMマシン(同じアーキテクチャ)でしか動作しない。
こんなとこですね。

< ステップ 1 – LS-XHLの分解 >
本体の分解はYoutubeにわかりやすい動画があるので参考にして下さい。

< ステップ 2 – HDDのパーティショニング&初期化 >
Linuxマシンを起動します。( 私の環境ではRaspberry Pi上のDebian wheezyです )
rootでログインします。
partedがインストールされていない場合は

apt-get install parted

としてインストールします。
LS-XHL用Debianのインストール先HDDをLinuxマシンにUSBなどで接続し、パーティションを確認します。HDDが /dev/sda とすると

parted /dev/sda print

とするとHDD情報が表示されます。自分の場合、

Model: ATA Hitachi HDS72202 (scsi)
Disk /dev/sda: 2000GB
Sector size (logical/physical): 512B/512B

のような感じでした。
肝心なのは “Disk /dev/sda: 2000GB” です。
この “2000GB” がご自分の環境でどんな値になっているか覚えておいてください。
パーティションを切ります。

parted /dev/sda mklabel gpt
parted -a cylinder /dev/sda mkpart primary 0 511
parted -a cylinder /dev/sda mkpart primary 511 8191
parted -a cylinder /dev/sda mkpart primary 8191 9215
parted -a cylinder /dev/sda mkpart primary 9215 2000G
parted /dev/sda set 1 boot on

“/dev/sda1″ を “/boot” に
“/dev/sda2″ を “/” に
“/dev/sda3″ をスワップに
“/dev/sda4″ を “/home” に
設定するつもりの切り方です。

コマンド中の最後のパーティション設定の “parted -a cylinder /dev/sda mkpart primary 9215 2000G” のところの “2000G” は先ほど “parted /dev/sda print” で確認した値に置き換えてください。それぞれのパーティションのサイズもご自分の環境にあわせてお好みのサイズにしてください。ではパーティションをフォーマットします。

mke2fs -I 128 -j /dev/sda1
mke2fs -j -t ext4 /dev/sda2
mkswap /dev/sda3
mke2fs -j -t ext4 /dev/sda4

マウントします。

mount /dev/sda2 /mnt
mkdir /mnt/boot
mount /dev/sda1 /mnt/boot

< ステップ 3 – Rootfs展開 >
作業用フォルダに移動します。 /tmp などがいいかと思います。
でもってhttp://neboola.de/fjen/lschlv2/debian/wheezy/ から
debian_wheezy_rootfs_lschlv2-lsxhl_20130515.tar.xz
をダウンロードします。

cd /tmp
wget http://neboola.de/fjen/lschlv2/debian/wheezy/debian_wheezy_rootfs_lschlv2-lsxhl_20130515.tar.xz

これを展開します。

tar Jxvf debian_wheezy_rootfs_lschlv2-lsxhl_20130515.tar.xz -C /mnt

“/mnt/boot” に移動して “uImage.buffalo.3.9.2-fjen-1.lsxhl” をダウンロードします。

cd /mnt/boot
wget http://neboola.de/fjen/lschlv2/debian/wheezy/lsxhl-kernel-for-20130515/uImage.buffalo.3.9.2-fjen-1.lsxhl

< ステップ 4 – 設定変更 >
/mnt/etc/fstab
/mnt/etc/network/interfaces
/mnt/etc/resolv.conf
/mnt/etc/hostname
/mnt/etc/hosts
をそれぞれ自分の環境にあわせて修正します。

私の環境では “/mnt/etc/fstab” はこんな感じに修正しました。

/dev/sda1       /boot         ext3     noauto,noatime         1 2
/dev/sda2       /             ext4     noatime                0 1
/dev/sda3       none          swap     sw                     0 0
/dev/sda4       /home         ext4     noatime                0 0
proc            /proc         proc     defaults               0 0
shm             /dev/shm      tmpfs    nodev,nosuid,noexec    0 0
devpts          /dev/pts      devpts   gid=4,mode=620         0 0
#tmpfs           /tmp          tmpfs    defaults               0 0
sysfs           /sys          sysfs    defaults               0 0

でもって “/mnt/etc/network/interfaces” はこんな風にしました。

auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp
auto eth1
iface eth1 inet static
  address 192.168.1.101
  netmask 255.255.255.0
  network 192.168.1.0
  broadcast 192.168.1.255
  gateway 192.168.1.1

これはLinkstationのIPを “192.168.1.101″ にして
ルータが “192.168.1.1″ の場合の設定です。
LS-VLは持っていませんが eth1 が無く eth0 を使用するとのことなので、

auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
  address 192.168.1.101
  netmask 255.255.255.0
  network 192.168.1.0
  broadcast 192.168.1.255
  gateway 192.168.1.1

的な感じになるのではないでしょうか。
“/mnt/etc/resolv.conf” は

domain linkstation
search linkstation
nameserver 8.8.8.8
nameserver 8.8.4.4

としましたが、まぁお好みで修正しちゃってください。
あとは
“/mnt/etc/hostname” は “linkstation” とし、
“/mnt/etc/hosts” は特に修正しませんでしたが、
このへんもお好みでどうぞ。

< ステップ 5 – chroot作業 >
chrootで作業しますが、これはARMマシンのLinuxで作業している場合のみ可能です。

chroot /mnt

ARMマシンが無い場合やchrootがうまくいかない場合は未検証ですが ステップ 6 に進んでください。chrootがうまくいった場合は以下のコマンドを実施します。

cd /boot
mv uImage.buffalo uImage.buffalo.bk
ln -s uImage.buffalo.3.9.2-fjen-1.lsxhl uImage.buffalo

< ステップ 6 – chrootできない場合 >
動作確認はしていませんが、

cd /mnt/boot
mv uImage.buffalo uImage.buffalo.bk
mv uImage.buffalo.3.9.2-fjen-1.lsxhl uImage.buffalo

としてしまえば問題ないでしょう。
くれぐれも自己責任でお願いします。

< ステップ 7 – 基本設定 >
設定したHDDをLS-XHLにセットし起動します。
この際、うまく起動せず再設定する可能性を考慮して、ネジやフタは閉めないで初期設定することをお勧めします。
マシンはなんでもいいのでSSHで “192.168.1.101″ に接続します。Windowsからの場合はTeraTermなどを使用するといいでしょう。自分の場合はLinuxから

ssh root@192.168.1.101

としました。rootの初期パスワードは “toor” です。
ログインしたら

passwd
dpkg-reconfigure locales
dpkg-reconfigure tzdata
rm /etc/ssh/ssh_host_* && dpkg-reconfigure openssh-server

として、
1. rootパスワードの変更
2. ロケール設定
3. タイムゾーン
4. SSH暗号化キーの更新
を実施します。
( 尚、この工程は手順を共通化するためにここに書いていますが、chroot可能であればそのときに 4 をやっておけばSSHの再ログインは不要になります )

クライアント側の暗号化キーを更新するため一旦SSHをログアウトします。
ログアウトしたら、LinuxやUNIXの場合

ssh-keygen -R 192.168.1.101

な感じで更新をかけます。
でもって再度SSHでrootログインして以下のコマンドを実行します。

apt-get update
apt-get upgrade

以上で完了です。
LS-XHLのネジをしめてフタをしてください。

< 感謝 >
Rootfs作者様および
http://forum.buffalo.nas-central.org/viewtopic.php?f=71&t=26291 の面々および
http://www.zorac.org/wp/?p=447 を書いて下さった方に感謝感謝です。