2015年11月5日木曜日

OpenBlocks 600D向けDebian8ファームウェアの非公式(Unofficial)リリースについて

非公式となりますが、OpenBlocks 600D向けのDebian8パッケージを公開しました。

レポジトリは以下の場所となります。

http://ftp.plathome.co.jp/pub/OBS600/unofficial/debian/jessie/


本公パッケージの公開にあたり、カスタマーケア等でのサポートは行っておりませんのでご了承の上ご利用願います。
 
OBS600用ファームウェア 4.1.8-0の更新手順を記述します。

前準備


Debian6、Debian7のパッケージは使用できません。

ラムディスクモード時のflashに保存しているパッケージとストレージ併用モード時のCFに保存しているパッケージは消去する必要があります。

また、自作したプログラムは共有ライブラリを使用している場合は動作しない可能性があります。staticで作成したプログラムは動作すると思われます。


ラムディスクモードで使用していた場合


FLASH ROMのユーザ領域を初期化します。
  1. 必要なファイルはバックアップをとってください。
  2. shutdown後、INITボタンを押しながら電源ONしてください。
  3. 以下のコマンドでFLASH領域を初期化してください。
    # flashcfg -e
    

ストレージ併用モード(CF)で使用していた場合


CFをフォーマットします。
  1. 必要なファイルはバックアップをとってください。
  2. 以下のコマンドでストレージ併用モードを解除します。
    # e2label /dev/sda1 ""
    
  3. shutdown後、INITボタンを押しながら電源ONしてください。
  4. 再起動したら、念のため以下のコマンドでFLASH領域を初期化します。(必要なファイルがあった場合はバックアップをとっておいてください。)
    # flashcfg -e
    
  5. 以下のコマンドでCFをフォーマットした後、リブートします。
    # mkfs.ext4 -L DEBIAN /dev/sda1
    # reboot
    
前準備は完了です。

ファームウェアの更新


更新の手順は今までのDebianファームウェアと同じです。
まず、Debian8のファームウェアファイルを用意します。

2015/10/19時点:

http://ftp.plathome.co.jp/OBS600/unofficial/jessie/4.1.8-0/kernel-image-4.1.8-0.deb

以下のコマンドでインストールします。

# dpkg -i kernel-image-4.1.8-0.deb

インストール終了後、再起動してください。

補足


今回のファームウェアにおいては、(あまりにも使いにくいという理由で)systemdではなく、sysvinitに変更を行っています。



補足その2 (2015/11/26)

uboot-imageがないというご指摘があり、現在修正作業を行っています。
当面の回避策は以下の通りです。

以下のファイル
 
http://ftp.plathome.co.jp/pub/OBS600/unofficial/jessie/4.1.8-0/uImage.initrd.obs600 
 

をダウンロードします。

以下のコマンドを実行します。
# flashcfg -f uImage.initrd.obs600
 
 

13 件のコメント:

  1. 非公式リリースありがとうございます。しかし、ファームウェアの更新のところで、以下のようなメッセージが出ました。

    root@obs600:~# dpkg -i /media/kernel-image-4.1.8-0.deb
    (Reading database ... 10805 files and directories currently installed.)
    Preparing to replace kernel-image 3.10.25-0 (using .../media/kernel-image-4.1.8-0.deb) ...
    Unpacking replacement kernel-image ...
    dpkg: dependency problems prevent configuration of kernel-image:
    kernel-image depends on uboot-image; however:
    Package uboot-image is not installed.

    dpkg: error processing kernel-image (--install):
    dependency problems - leaving unconfigured
    Errors were encountered while processing:
    kernel-image
    root@obs600:~#

    uboot-image はどこから持ってくれば良いのでしょうか?
    よろしくお願いします。

    返信削除
    返信
    1. ご報告ありがとうございます。現在確認作業を行っていますので少しお待ちください。

      削除
  2. お返事ありがとうございます。その後、http://ftp.plathome.co.jp/pub/OBS600/unofficial/jessie/4.1.8-0/uImage.initrd.obs600 を # flashcfg -f して、ファームウエアの更新に成功しましたが、# apt-get update;apt-get upgrade しても、同様のエラーが出ますし、他にもパッケージ依存を満たさない、とするエラーが出て、追加のパッケージを入れることができません。wheezy用のパッケージを手動で入れてしのいでいます。当方、急ぎませんので、気長にお待ちしています。よろしくお願いします。

    返信削除
    返信
    1. Toshiya Goto様の2015年11月27日 9:57の記事を拝見し、# apt-get -f install を実行して kernel-image パッケージを削除したら、tzdata パッケージをインストールできました。その際dpkg の警告がたくさん出ますが、リブートもできたので、なんとかなっている様です。ありがとうございました。

      削除
  3. このコメントは投稿者によって削除されました。

    返信削除
  4. uboot-imageの導入方法は、記事に反映しました。

    apt-get update; apt-get upgradeがエラーとなるとありま
    すが、こちらは確認したところ、再現していません。tzdataパッケージが正常に更新されました。

    返信削除
  5. その後、apt-get upgrade で更新できない2つのパッケージが
    見つかりました。

    Package: bsdutils (1:2.25.2-6) [essential]
    は、libsystemd0 に依存していますが、それがインストール不能なので、保留になります。

    Package: udev (215-17+deb8u2)
    以下のエラーメッセージが出て止まります。
    Preparing to unpack .../udev_215-17+deb8u2_powerpc.deb ...
    Since release 198, udev requires support for the following features in
    the running kernel:

    - inotify(2) (CONFIG_INOTIFY_USER)
    - signalfd(2) (CONFIG_SIGNALFD)
    - accept4(2)
    - open_by_handle_at(2) (CONFIG_FHANDLE)
    - timerfd_create(2) (CONFIG_TIMERFD)
    - epoll_create(2) (CONFIG_EPOLL)

    Please upgrade your kernel before or while upgrading udev.

    AT YOUR OWN RISK, you can force the installation of this version of udev
    WHICH DOES NOT WORK WITH YOUR RUNNING KERNEL AND WILL BREAK YOUR SYSTEM
    AT THE NEXT REBOOT by creating the /etc/udev/kernel-upgrade file.
    There is always a safer way to upgrade, do not try this unless you
    understand what you are doing!

    dpkg: error processing archive /var/cache/apt/archives/udev_215-17+deb8u2_powerpc.deb (--unpack):
    subprocess new pre-installation script returned error exit status 1
    Errors were encountered while processing:
    /var/cache/apt/archives/udev_215-17+deb8u2_powerpc.deb
    E: Sub-process /usr/bin/dpkg returned an error code (1)

    以上、ご報告申し上げます。

    返信削除
  6. 社内での検証では、apt-get upgradeした場合、tzdataしかなかったようです。
    再度CFのフォーマットを行い、ストレージのデータを完全に消去してみていただけるでしょうか。(必要であれば、他のストレージにコピーを行ってください)

    返信削除
  7. このコメントは投稿者によって削除されました。

    返信削除
  8. このコメントは投稿者によって削除されました。

    返信削除
  9. アドバイスありがとうございました。最初からやり直したところ、
    # dpkg -i kernel-image-4.1.8-0.deb
    が問題なく終了し、無事更新できました。ご報告した一連の不具合は、私のミスでCF内にwheezy環境が残ってしまったためと思われます。他のユーザーの方々の混乱を招く様であれば、私の投稿を削除してください。お騒がせして済みませんでした。

    ところで、記事中の kernel-image-4.1.8-0.deb へのリンクは、404 Not Found を返します。

    以上、よろしくお願いします。

    返信削除
  10. もう1台あったOBS600Dをアップデートしたら、最初にご報告した現象が再現しました。どうやら少なくとも私の所有していた2台のwheezy@600Dでは、
    # mkfs.ext4 -L DEBIAN /dev/sda1 を実行しても、wheezy環境が残るようです。

    2台目の600Dをアップデートした時の最小手順をご報告しておきます。

    1) CFディスクのフォーマット
    2) ファームウェアの更新 # flashcfg -f uImage.initrd.obs600
    3) reboot 後、# dpkg -l | grep udev すると、wheezyのパッケージ(164-3)が表示される。
    e2fsprogs パッケージはjessieのものだったので、再び
    「CFディスクのフォーマット」手順を繰り返す。ただし、# flashcfg -e は省略。
    4) reboot 後、# dpkg -l | grep udev すると、jessieのパッケージ(215-17+deb8u2)が表示される。

    返信削除
  11. # flashcfg -f uImage.initrd.obs600 のみの実施でアップデート完了だと考えておりますが正しいですか?

    念のためkernel-image-4.1.8-0.debに含まれるuImage.initrdと補足2にあるuImage.initrd.obs600を比較したところ,同一のバイナリだったので,kernel-image-4.1.8-0.debのインストールは不要だと考えております.

    返信削除