LinkStation HS-DGL Link de 録!! の予約データベースの修復

LinkStation HS-DGL の Link de 録!! の予約データベースが壊れた (1/1 0:00-0:00 の予約が多数出現して削除できない) のでハッキングして修理した記録。

というか、普通の人はあきらめて修理出してください。LinkStationを壊す可能性が非常に高いです。非公式ファームウェアの更新失敗で壊したら修理もききませんので、ただのレンガになってしまいます。

基本的には、バッファローのサイトからファームウェアのアップデータをとってきて、sshd と sudo を仕込んでログインして、壊れたファイルを消す。

アップデータにsshd (dropbear) とsudoersを仕込むのは、ここで書いてある方法でいける。 http://www.terastation.org/wiki/Firmware_update#Disk_Firmware

zip のパスワードはここに書いてある。 http://www.linkstationwiki.net/index.php?title=FAQ/Firmware

dropbear はミニ sshd で便利なのだ。 http://www.terastation.org/files/dropbear.tgz

HS-DGL には sudo が入ってないのでこれもインストール。 http://archive.debian.org/pool/main/s/sudo/sudo_1.6.6-1.3_powerpc.deb これを fakeroot alien --to-tgz sudo_1.6.6-1.3_powerpc.deb で tgz に変換して、dropbearと同様に仕込む。

ログインして

$ sudo bash
# cd /etc/melco/scheduler
# ls
pcast_Mv7DxU2.gl       pcast_ResDatabase2.db  pcast_ResDb1
pcast_ResDatabase0.db  pcast_ResDatabase3.db  pcast_ResDb2
pcast_ResDatabase1.db  pcast_ResDb0           pcast_ResDb3
おそらくチューナー1..チューナー4の予約データベース。 壊れたのはチューナー1のデータベースなので、無傷のデータベースファイルで上書き
# /etc/init.d/pcast stop
# cp pcast_ResDatabase3.db pcast_ResDatabase0.db
# cp -r pcast_ResDb3 pcast_ResDb0
# reboot