【6.トラブルシュート及び仮説構築】
手動ファームウェアの更新に失敗。
以下ログ (ただし、このログ自体は 5.0.0.1716 build 20210701 public beta を書き込もうとした際のものです。っっていっても、明らかな相違点は「version」くらいのもので、大した違いはありません) 。
cksum=3203099879 Using 120-bit encryption - (QNAPNASVERSION4) len=1048576 model name = TS-XA73 version = 5.0.0 IS_64BITS IS_STORAGE_V2 QY03ED20.BIN boot/ bzImage bzImage.cksum bzImage.sign config/ ec_force_boot fw_info fw_info.conf initrd.boot initrd.boot.cksum initrd.boot.sign libcrypto.so.1.1 libssl.so.1.1 qpkg.tar qpkg.tar.cksum qpkg.tar.sign rootfs2.bz rootfs2.bz.cksum rootfs2.bz.sign rootfs_ext.tgz rootfs_ext.tgz.cksum rootfs_ext.tgz.sign update/ update_ec.conf update_ec.sh update_img.sh 5.0.0 20210701 MODEL NAME = TS-X73,new version = 5.0.0 limit version = 3.7.2 Allow upgrade /bin/tar: qpkg.tar: Wrote only 1536 of 10240 bytes /bin/tar: qpkg.tar.cksum: Cannot write: No space left on device /bin/tar: qpkg.tar.sign: Cannot write: No space left on device /bin/tar: rootfs2.bz: Cannot write: No space left on device /bin/tar: rootfs2.bz.cksum: Cannot write: No space left on device /bin/tar: rootfs2.bz.sign: Cannot write: No space left on device /bin/tar: rootfs_ext.tgz: Cannot write: No space left on device /bin/tar: rootfs_ext.tgz.cksum: Cannot write: No space left on device /bin/tar: rootfs_ext.tgz.sign: Cannot write: No space left on device /bin/tar: update_ec.conf: Cannot write: No space left on device /bin/tar: update_ec.sh: Cannot write: No space left on device /bin/tar: update_img.sh: Cannot write: No space left on device /bin/tar: Exiting with failure status due to previous errors [Firmware Update] System update failed. Firmware failed to extract. Error code: FW006
うーん、役に立ちそうな情報は、この辺か?
/bin/tar: qpkg.tar: Wrote only 1536 of 10240 bytes /bin/tar: qpkg.tar.cksum: Cannot write: No space left on device [Firmware Update] System update failed. Firmware failed to extract. Error code: FW006
これらをもとに色々様々検索を試みるも、どうにも有益な情報が見当たらない。あっちこっちのフォーラムに当たるも、同様のエラー事例は見当たるものの、解決に至っているケースが見られず。
いいかげん情報漁りに疲れたので、自分なりに解決を目指すことに。考えよう。
従来、Manually Updating Firmware を実行する際には、まずは NAS に HDD を組み込んだ上で初期設定を完了させ、HDD にボリュームを作成の上、その中の「Public」フォルダ内に img ファイルをコピーしてから先の手順を踏んでいました。というか、ガチガチに「Manually Updating Firmware」の手順を追うとそうなります。
今回は、テストファームウェアでも、それを入れた後に Qfinder Pro 経由で更新をかけた状態でも初期設定ができず、ゆえに HDD 内にボリュームの作成ができず、Public フォルダを作成できないため、img ファイルを外部の USB フラッシュに保存しておいて更新を試みようとしています。で、「No space left on device」ってか。
ここでもうちょいと考えました。
いつもの方法だと、img ファイルの場所は「/share/Public」なんだよな。つまりルート直下に share があ(ることにな)って(いて)、その下に Public があ(ることになってい)ると。ってことは、「Manually Updating Firmware」の最初の手順で作成している 「/mnt/HDA_ROOT/update」フォルダもいつもの方法では HDD 内に作成されていたんでは?それだとしたらまぁ容量の問題は出ないだろうな。
んで、今回は何度もいう通り HDD は未構築なんだから、「/mnt/HDA_ROOT/update」 は起動ディスクである内蔵 USB フラッシュの中に作成されちゃっているんじゃね?だとしたら確かに img ファイルを展開するには容量が足りんかも。何度か fdisk -l で USB フラッシュのパーティション構造を見ていたけれど、明らかに足りなさそうだったもんなぁ (USB フラッシュ自体の容量が大きくとも、ファームウェアのフルイメージを流し込んだ時点で、そのフルイメージが割り当てた分しか使用できなくなる)。
…だったら、img ファイルを保存している USB フラッシュの中にでも「HDA_ROOT/update」フォルダを作って、そこに「/mnt/update」シンボリックリンクを作ってやればいいんでね?
…次ページへ続きます