SDHC内蔵 initrd.bin 作成キット

SDHC ドライバを SL-A300 の rootfs に組み込んでしまうことで、電池が切れて全てが消えても最初から SDHC が使えるようにした initrd を作成するキットです。

SL-A300本体で initrd.bin を作成しますので、Linux PC 等は不要です。

ただし、initrd.binを作成後、アップデートする際には完全初期化されます。必要なファイルはバックアップを取ってから実行してください。

ファイル

ソース

必要なもの

使い方

これは SL-A300 の NOR Flash に書かれている rootfs をベースに、SDHCドライバを組み込んだ initrd.bin を作成するキットです。

rootfs には GPL でないものも含まれているので勝手に配布できないため、イメージをユーザの方々に作っていただく必要があるためです。

ただし、この手順を実行すると SL-A300 は完全初期化されます。必要なデータ等はバックアップしておいてください。

流れとしては、以下のような感じになります。

  1. 1GB以下のSD(FATフォーマットのもの)を用意。
  2. PCでキットをSDに展開
  3. SL-A300 に SDHC ドライバをインストール。
  4. 高速起動をOFFにし他のアプリケーションは全て終了
  5. SL-A300 で SD 内の mkinitrd.sh を実行
  6. しばらくすると initrd.bin が作成される
  7. キット同梱のupdater.pro と initrd.bin を SD のルートディレクトリに移動
  8. HOMEを押しながら再起動し、rootfs をアップデート
  9. 電源LEDが消灯したらアップデート完了
  10. 再起動するとSDHCが使用可能に

1つづつ説明していきます。

1.  1GB以下のSDを用意

SL-A300のアップデート機能を使って rootfs を書き換えるため、アップデート機能が対応している SD カードが必要になります。ですので、1GB 以下のSDをご用意ください。

おそらくアップデート機能では FAT フォーマットしか認識できないと思いますので、FAT のものを用意してください。普通の SD カードは FAT なのでそのままで OK です。

2.  PCでキットをSDに展開

PC上でダウンロードしたキットをSDに展開します。

キットを展開すると、mkinitrd-sdhcというディレクトリが作成されるので、それをそのまま SD にコピーしてください。

3.  SL-A300 に SDHC ドライバをインストール

rootfs を作成するときに、本体にインストールされている SDHC ドライバを参照します。そのため、あらかじめ SDHC ドライバをインストールしておく必要があります。

4. 高速起動をOFFにし他のアプリケーションは全て終了

イメージの作成にはメモリを多く使います。そこで高速起動を全て OFF にし、端末以外のアプリは全て終了してください。

5.  SL-A300 で SD 内の mkinitrd.sh を実行

2. で作成した SD を SL-A300 に挿入し、端末から以下のコマンド実行します。あらかじめ embedded-konsole 等の端末ソフトをインストールしておいてください。

# cd /mnt/card/mkinitrd-sdhc
# ./mkinitrd.sh

すると、以下のようなログが出力されながらイメージを作成します。
イメージ生成に約5分くらいかかりますので、気長にお待ちください。

Copy all original files...
Copy SDHC Driver
Copy qinstall
Create initrd.bin ...
Directory data: 40752 bytes
addgroup
ash
bash
busybox
cat
chkmntsh
     :  (省略)
localtime
posixrules
zone.tab
sharp
scshot
var
Everything: 14116 kilobytes    ※
Super block: 76 bytes    ※
CRC: f6aa0474    ※
Finished!
#

※の部分の値は環境により変わります。

6. しばらくすると initrd.bin が作成される

約5分くらいで initrd.bin が作成されます。気長にお待ちください。

7. updater.pro と initrd.bin を SD のルートディレクトリに移動

作成した initrd.bin とキットに同梱してある updater.pro を SD のルートディレクトリに移動します。

端末から以下のコマンドを実行します

# mv initrd.bin ..
# mv update.pro ..

9. HOMEを押しながら再起動し、rootfs をアップデート

再起動を実行した直後から HOME キーを押しっぱなしにしてください。

再起動がかかった後、電源の緑LEDが点滅したらアップデートモードに入っています。

点滅がゆっくりになったら書き込み中です。

rootfs の書き換えに5分程度?かかります。結構時間がかかるのでしばらくお待ちください。

10. 電源LEDが消灯したらアップデート完了

電源の緑LEDが消灯したらアップデート完了です。

完全初期化を行うため、RESETを20秒程度長押しして再起動してください。

これで素の状態でも SDHC が使えるはずです。

オリジナルに戻し方

SHARP公式ページのSL-A300アップデートを適用すれば元のオリジナルに戻すことができます。

このキットで作成した initrd.bin が動作しなかった場合は上記ページの手順にしたがってオリジナルのSL-A300へアップデートしてください。

免責事項

本キットを使って発生した、いかなる損害の責任も作者は負わないこととします。

At your own risk. でのご使用をお願いします。

履歴

  • 0.2   10/04/20   zip
    問題修正してリニューアルリリース
  • 0.1   10/04/08   zip
    初リリース。
    アップロードし忘れ&問題発覚で配布されないまま公開停止。

SDHC内蔵 initrd.bin 作成キット” への3件のフィードバック

  1. bucchi さん、こんばんは。ブースカです。
     またまた素晴らしいものをありがとうございます。SL-A300 のユーザーとしてはこれもうれしいですね。Linux PC 上での作業が不要になり、これでだいぶ敷居が低くなりますね。
     ということで、早速試してみようと思ったのですが、ダウンロードページの配布ファイル(mkinitrd-sdhc-0.1.zip )のリンクが切れていて残念ながらダウンロードできませんでした。ご確認お願いいたします。
     リンク復旧したら早速試してみます。
     あと、今回のキットは qinstall も入れ替えられるのでしょうか?

     >最近仕事が忙しくなってきて久々の更新です。
     からだに気をつけてマッタリとどうぞ。

     では,,,,,,,

    PS.実はこの前の週末に SL-C860 上と PC 上の Ubuntu 8.04LTS で作業し、SDHC 対応ドライバーと qinstall を入れ替えた rootfs の作成に成功したので、blog の方にまとめようと原稿を作っていた最中でした。これで、blog への投稿も不要になりました。(笑い)

    1. ブースカさん、こんばんわ。
      またやっちゃいました・・・。
      アップロードしたはずだったんですが、できてなかったようです。
      今手元にファイルが無いので、明日アップロードし直します。
      すいません・・・。

      あと qinstall の方はすっかり忘れてました (^^;
      これも対応してアップロードしますね。

      1. bucchi さん、おはようございます。ブースカです。

        >またやっちゃいました・・・。
        >アップロードしたはずだったんですが、できてなかったようです。
        >今手元にファイルが無いので、明日アップロードし直します。
        >すいません・・・。
        いえいえ、お忙しそうなのでこういうことも

        >あと qinstall の方はすっかり忘れてました (^^;
        >これも対応してアップロードしますね。
        了解です。楽しみにお待ちしております。まったりとどうぞ。
        では…….

コメントは受け付けていません。