LS-VLに手軽にインストールする手順をまとめました。(linux初心者にも分かりやすく書きました)
内容は
カーネルはBuffaloオリジナルの2.6.31.8。(uImage.buffalo)
initrdはほぼBuffaloオリジナル。(initrd.buffalo)
ルートファイルは好きなOS。
という単純なものですが、問題なく動作します。
必要なファイルは元のルートファイルからもってきます。
インストールに必要なもの
・SATAのHDD ・・・(A)
・母艦となるパソコン ・・・(B)
・USBメモリ256M以上とknoppixのCD (母艦PCにLINUXが入っていればともに不要) ・・・(C)
手順1 LS-VLを開けます
まずLS-VLを開けて、HDDを取り出します。(当然メーカ保障はなくなりますので自己責任で)
上部のプラスネジをはずすとファンが取れるようになります。
あとは上部、下部、後部にある穴を押しながらすこしずつ開いていきます。
開いたら慎重にHDDと基盤を取り出します。
HDDを固定しているネジをはずしてHDDのみにします。・・・(D)
手順2 HDDのバックアップ
元のBuffaloのHDDからバックアップを取ります。
BのパソコンにUSBでDのHDDを接続します。(最近のカーネルのものなら普通に認識します。)
# fdisk -l
でHDDがどの名前で認識されているか調べます。
sdbの場合(間違いのないようマウントし直します)
# umount /dev/sdb1
# umount /dev/sdb2
# umount /dev/sdb6
# mkdir /media/sdb1
# mkdir /media/sdb2
# mkdir /media/sdb6
# mount /dev/sdb1 /media/sdb1
# mount /dev/sdb2 /media/sdb2
# mount /dev/sdb6 /media/sdb6
# cd /media/sdb1
# tar zcvf /tmp/sdb1.tar.gz *
# cd /media/sdb2
# tar zcvf /tmp/sdb2.tar.gz *
# cd /media/sdb6
# tar zcvf /tmp/sdb6.tar.gz *
|
バックアップはできましたのでUSBメモリなどに接続して保管しておいてください。(cp /tmp/sdb*tar.gz /media/USBメモリ名)
# umount /media/sdb1
# umount /media/sdb2
# umount /media/sdb6
|
DのHDDを取り外し、大事に保管しておいてください。
手順3 フォーマット
今度はAのHDDをUSBでBのパソコンに接続します。
同じようにfdisk -lで名前を調べます。
sdbの場合
まずpを打つと今のパーティションの状態が出てきます。
dコマンドですべて消してください。(数字指定すればそのパーティションが削除されます)
pでなくなったことを確認できたら新規にパーティションを作成します。
コマンド
n + エンターキー
p + エンターキー
1 + エンターキー
エンターキー
79 + エンターキー
まずひとつ。つぎも同様に
n + エンターキー
p + エンターキー
2 + エンターキー
エンターキー
799 + エンターキー
3つめ
n + エンターキー
p + エンターキー
3 + エンターキー
エンターキー
1199 + エンターキー
完了したら
w + エンターキー
で完了です。
もしここでエラーが出たらパーティションがmountされているということなのでumountしてfdiskしてください。入ったらwのみ実行で結構です。
作成したパーティションをフォーマットします。(sdbの場合)
# mke2fs -j -I 128 /dev/sdb1
# mke2fs -j /dev/sdb2
# mke2fs -j /dev/sdb3
|
手順4 バックアップ分のインストール
ここでバックアップしたtarファイルをHDDに展開します。
# mount /dev/sdb1 /media/sdb1
# mount /dev/sdb2 /media/sdb2
# mount /dev/sdb3 /media/sdb3
# tar zxvf /tmp/sdb1.tar.gz -C /media/sdb1
# tar zxvf /tmp/sdb2.tar.gz -C /media/sdb3
# vi /media/sdb2/etc/shadow
|
を実行し、rootの行を編集します。
root:$1$o97Wt5Qj$.6rmXiQrHYoWhAi9q2lmm.:15107:0:99999:7:::
|
のようにroot:のあとに不明な文字列が次の:まで続いてるので消します。(カーソルを合わせてESC + dキーで削除。: + w!で強制保存 : + q で終了)
このようになるはずです。
次に
vi /media/sdb2/etc/sshd_config
|
を実行し、
#ChallengeResponseAuthentication yes
|
の行のコメントをはずします
となっていることも確認します。
あとは/dev/sdb3に好きなOSをインストールしますがここではdebianを例にしてみます。
手順4 OSのインストール
Bのパソコンでファイルをダウンロードします。
# wget http://ftp.debian.org/debian/pool/main/d/debootstrap/debootstrap_1.0.32_all.deb
# mv debootstrap_1.0.32_all.deb /media/sdb2
# cd /media/sdb2
|
すべて展開します。
# ar -x debootstrap_1.0.32_all.deb
# tar zxvf data.tar.gz
# tar zxvf control.tar.gz
|
使用するdebootstrapのパスを設定します。(しないと付属のものでなく/usr/sbin/debootstrapが使われる)
root@ubuntu1:~# export DEBOOTSTRAP_DIR=usr/share/debootstrap
|
インストーラはx86上でchrootしてarm版の作業をするのでqemuをインストールします。(debain ubuntu系の場合)
root@ubuntu1:~# apt-get install qemu-user-static
|
qemu-user-staticなのはchrootするときqemuの使用する同名のライブラリを間違って呼ばないようにするため。
そのためにはchroot後のusr/bin/qemu-arm-staticがコピーされていないといけない。
root@ubuntu1:~# mkdir /media/sdb2/usr/bin
root@ubuntu1:~# cp -pa /usr/bin/qemu-arm-static /media/sdb2/usr/bin/qemu-arm-static
|
インストール開始します。
root@ubuntu1:/debian# usr/sbin/debootstrap --arch armel squeeze /media/sdb2 http://ftp.us.debian.org/debian
|
手順4 インストール後の設定
debain用のネットワークの設定をします。
root@ubuntu1:/# vi /etc/network/interfaces
root@ubuntu1:/# cat /etc/network/interfaces
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 192.168.1.10
network 192.168.1.0
netmask 255.255.255.0
broadcast 192.168.1.255
gateway 192.168.1.1
dns-nameservers 192.168.1.1
|
ネットワークの数値は自分の使用しているものにあわせます(例 nameserverは自分のルータIPなど)
オリジナル以外のルートファイルでも起動できるようにinitrd.buffaloのチェックをはずします。
# mount /dev/sdb1 /media/sdb1
# cp -pa /media/sdb1/initrd.buffalo /tmp
# dd if=/tmp/initrd.buffalo bs=64 skip=1 of=/tmp/initrd.gz
70634+1 records in
70634+1 records out
# gunzip /tmp/initrd.gz
# mkdir /media/initrd
# mount -o loop /tmp/initrd /media/initrd
# vi /media/initrd/linuxrc
|
ファイルの編集は373行目から、以下の8行分コメントアウトします
HasUpdatedFile
if [ $? != 0 ]; then
echo "** has Updated Files **"
echo "** Creating system hotadd pending flag **"
touch /tmp/need_firmup
echo "0x100" >/proc/sys/kernel/real-root-dev
return
fi
if [ "${SUPPORT_RAID}" = on ] ; then
AssembleSysMd
fi
TestRootfs ${DEV_ROOTFS1}
# if [ $? != 0 ]; then
# echo "0x100" > /proc/sys/kernel/real-root-dev
# else
# if [ "${SUPPORT_RAID}" = on ] ; then
# echo "0x901" > /proc/sys/kernel/real-root-dev
# else
echo "0x802" > /proc/sys/kernel/real-root-dev
# fi
IS_HDDROOT=1
# fi
}
|
保存して終了。
# umount /media/initrd
# gzip /tmp/initrd
# mkimage -A ARM -O Linux -T ramdisk -C gzip -a 0x00000000 -e 0x00000000 -n initrd -d /tmp/initrd.gz /media/sdb1/initrd.buffalo
|
mkimageが入っていない場合は apt-get install u-boot-tools でインストールします(debian,ubuntu系)
完了したらアンマウントします。
# umount /media/sdb1
# umount /media/sdb2
# umount /media/sdb3
|
DのHDDを取り外してLS-VLに接続します。
電源を入れる。
SSH使えるターミナルソフトを使ってLS-VLにログインします。(teratermなど)
IDはroot、パスはなし
ここでシェルを作成します。(viを起動してiを押したのち、ソースを貼り付けでよい)
root@LS-VLF00:~# vi ~/1.sh
↓ここからシェル
#!/bin/sh
BUF_KERNEL=/dev/sdb1
ROOT=/dev/sdb2
BUF_ROOT=/dev/sdb3
MOUNT=/mnt
mount $BUF_ROOT $MOUNT
cd $MOUNT
echo copy shell file...
tar cvf /sh.tar usr/local/sbin/kernelmon usr/local/sbin/kernelmon.sh usr/local/bin/agingtest_sub.sh usr/local/bin/kernelmon_exec.sh usr/local/bin/fw_deployment.sh usr/local/bin/funcsw.sh usr/local/bin/hdd_normal.sh usr/local/bin/initsw.sh usr/local/bin/lcd_error_man.sh usr/local/bin/led_control.sh usr/local/bin/service_control.sh usr/local/bin/shutdown.sh usr/local/bin/ups_shutdown.sh usr/local/lib/libbuffalo.sh usr/local/lib/libsys.sh usr/local/lib/libmd.sh usr/local/lib/libdisk.sh etc/init.d/networking.sh etc/init.d/SleepCtrl.sh etc/init.d/pwrmgr.sh etc/init.d/pmcd.sh etc/default/buffalo etc/nas_feature usr/local/lib/libsys etc/init.d/logtag usr/local/sbin/miconapl-nomicon usr/local/sbin/miconapl-nomicon.sh etc/init.d/bootcomplete.sh usr/local/sbin/miconapl usr/local/lib/libbuffalo_bin.so usr/local/lib/libbuffalo_bin.so.1 usr/lib/libgcc_s.so.1 lib/libdl-2.5.so lib/libc-2.5.so lib/ld-2.5.so etc/ld.so.conf;
echo paste shell file...
cd /
tar xvf sh.tar
umount $MOUNT
rm /sh.tar
echo end.
↑ここまでシェル
|
root@LS-VLF00:~# chmod 755 ~/1.sh
root@LS-VLF00:~# ~/1.sh
|
シェル実行後
# /sbin/ldconfig
# /usr/local/sbin/miconapl -a fan_set_speed full
|
ファンの音が強くなっていれば問題ありません。
miconの起動処理を実行してLEDを点滅から点灯にします。
# /usr/local/sbin/miconapl -a boot_end
|
電源を落とす場合は
# echo on > /proc/buffalo/gpio/switch/sw_control
# /usr/local/sbin/kernelmon &
|
を実行したあと、電源スイッチをオフで自動に切れます。
→運用編へ
|