SDHC ドライバを SL-A300 の rootfs に組み込んでしまうことで、電池が切れて全てが消えても最初から SDHC が使えるようにした initrd を作成するキットです。
SL-A300本体で initrd.bin を作成しますので、Linux PC 等は不要です。
ただし、initrd.binを作成後、アップデートする際には完全初期化されます。必要なファイルはバックアップを取ってから実行してください。
ファイル
ソース
- cramfs-1.1-nomem.tar.gz (修正済ソース)
- cramfs-nomem.patch (パッチ)
必要なもの
- SL-A300本体
- 1GB以下のSDカード
- SDHCドライバ
使い方
これは SL-A300 の NOR Flash に書かれている rootfs をベースに、SDHCドライバを組み込んだ initrd.bin を作成するキットです。
rootfs には GPL でないものも含まれているので勝手に配布できないため、イメージをユーザの方々に作っていただく必要があるためです。
ただし、この手順を実行すると SL-A300 は完全初期化されます。必要なデータ等はバックアップしておいてください。
流れとしては、以下のような感じになります。
- 1GB以下のSD(FATフォーマットのもの)を用意。
- PCでキットをSDに展開
- SL-A300 に SDHC ドライバをインストール。
- 高速起動をOFFにし他のアプリケーションは全て終了
- SL-A300 で SD 内の mkinitrd.sh を実行
- しばらくすると initrd.bin が作成される
- キット同梱のupdater.pro と initrd.bin を SD のルートディレクトリに移動
- HOMEを押しながら再起動し、rootfs をアップデート
- 電源LEDが消灯したらアップデート完了
- 再起動すると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. でのご使用をお願いします。
bucchi さん、こんばんは。ブースカです。
またまた素晴らしいものをありがとうございます。SL-A300 のユーザーとしてはこれもうれしいですね。Linux PC 上での作業が不要になり、これでだいぶ敷居が低くなりますね。
ということで、早速試してみようと思ったのですが、ダウンロードページの配布ファイル(mkinitrd-sdhc-0.1.zip )のリンクが切れていて残念ながらダウンロードできませんでした。ご確認お願いいたします。
リンク復旧したら早速試してみます。
あと、今回のキットは qinstall も入れ替えられるのでしょうか?
>最近仕事が忙しくなってきて久々の更新です。
からだに気をつけてマッタリとどうぞ。
では,,,,,,,
PS.実はこの前の週末に SL-C860 上と PC 上の Ubuntu 8.04LTS で作業し、SDHC 対応ドライバーと qinstall を入れ替えた rootfs の作成に成功したので、blog の方にまとめようと原稿を作っていた最中でした。これで、blog への投稿も不要になりました。(笑い)
ブースカさん、こんばんわ。
またやっちゃいました・・・。
アップロードしたはずだったんですが、できてなかったようです。
今手元にファイルが無いので、明日アップロードし直します。
すいません・・・。
あと qinstall の方はすっかり忘れてました (^^;
これも対応してアップロードしますね。
bucchi さん、おはようございます。ブースカです。
>またやっちゃいました・・・。
>アップロードしたはずだったんですが、できてなかったようです。
>今手元にファイルが無いので、明日アップロードし直します。
>すいません・・・。
いえいえ、お忙しそうなのでこういうことも
>あと qinstall の方はすっかり忘れてました (^^;
>これも対応してアップロードしますね。
了解です。楽しみにお待ちしております。まったりとどうぞ。
では…….