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