玄箱Pro、直します。

超初心者が、玄箱PROでLinuxを勉強する無謀なブログです。

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
別窓 | スポンサー広告
∧top | under∨

miconaplなどの導入(1)

前回、よくわからないまま導入したmiconaplとnvramですが、玄箱Proをまた工場出荷時に戻してじっくりと調べてみました。
少しまとめてみます。

参考にしたサイト

エレキジャックさん
オリジナルファイルのバックアップ
nvram, miconapl を使えるようにする

開発人生さん
玄箱プロにDebian



まず素人な私の頭の整理から。

・ファンコントロールや電源ボタンなどはmiconaplというコマンドらしい
・miconaplは玄箱Pro特有のコマンドらしい
・miconaplは著作権の関係で第三者が勝手に配布できない


エレキジャックさんの「nvram,miconaplを使えるようにする」を何度も読み返しました。
私のような初心者にUnix系のOSを「難しい」と感じさせる原因の一つは「ディレクトリ」の表現ではないでしょうか?
「/usr/local/sbin」「home/mtd2/sbin」などと文字で書かれると訳がわからなくなりバーチャル迷子になってしまいます。

というわけで、自分なりに図にして理解に努めました。
それと、C言語がまったくわかりませんので、他の方と違い、スクリプトを眺めても苦悶するばかりです。いろいろな方々が残してくれたサイト上の貴重な記録を片っ端から読んで、なんとか自分なりの理解まで漕ぎつけました。
Googleがあれば本当に大半は答えがみつかりますね・・。

まず、エレキジャックさんの「nvram,miconaplを使えるようにする」からのこの文章

■Debian 化で使えなくなった理由は?
 Debian 化で使えなくなった理由は、nvram も miconapl も玄箱PROに特有で Debian のパッケージがないことが、その理由です。では、フラッシュメモリやhddroofs.tar.gz内からコピーすればいいかというと、それだけではダメです。理由は必要なライブラリも用意しないといけないからです。EABI, OABI の問題は、これらのコマンドでは起きないようです。


の「理由は必要なライブラリも用意しないといけないからです」という箇所。そうか、コマンドにはライブラリという付属品が必要なのか。

ライブラリという観点で様々なサイトを調べている内に、開発人生さんの「玄箱プロにDebian」にたどり着く。読むと

現行のDebianとはちがってEABIでビルドされています(というかそのほうが普通でしょう)。だったら依存してるライブラリをコピーしてLD_LIBRARY_PATHを指定すれば動きそうです。


との一文が。「LD_LIBRARY_PATHを指定」とは、コマンドにライブラリの場所を教える、という意味だとわかり、だんだん何をするべきかが見えてきた。

エレキジャックさんと開発人生さんお二方のmiconapl導入方法をじっくりと見比べると、

必要なライブラリとPATH
ld-2.3.6.so(/usr/local/kurobox/lib)
libc.so.6(/usr/local/kurobox/lib)
libc-2.3.6.so(/usr/local/kurobox/lib)
libgcc_s.so.1(/usr/local/kurobox/lib)
libbuffalo_bin.so(/usr/local/kurobox/lib)
ld-linux.so.3(/lib)


ということがわかりました。となると、エレキジャックさんの

cd /home/mtd2/lib
 ....
ln -s /usr/local/kurobox/lib/ld-linux.so.3
cp /home/mtd2/usr/local/lib/lib* /usr/local/kurobox/lib/


が理解できないことになります。
最後のlib*は、開発人生さんによると「libbuffalo_bin.so」と特定されていますので、これで試してみます。
---------------------------------------------------------
sushi-kさんの「KURO-BOX/PRO Debian化決定版?」を終え、エレキジャックさんの「オリジナルファイルのバックアップ」を終えているとした上で以下を実行。(エレキジャックさんの「nvram, miconapl を使えるようにする」をベースにしています)

kurobox:~# mkdir /usr/local/kurobox
kurobox:~# mkdir /usr/local/kurobox/bin
kurobox:~# mkdir /usr/local/kurobox/lib
kurobox:~# cp -p /home/mtd2/lib/ld-2.3.6.so /usr/local/kurobox/lib
kurobox:~# ln -s /usr/local/kurobox/lib/ld-2.3.6.so /lib/ld-linux.so.3
kurobox:~# cd /home/mtd2/lib
kurobox:/home/mtd2/lib# cp -p libc-2.3.6.so libgcc_s.so.1 /usr/local/kurobox/lib/
kurobox:/home/mtd2/lib# ln -s libc-2.3.6.so /usr/local/kurobox/lib/libc.so.6
kurobox:/home/mtd2/lib# cp -a /home/mtd2/usr/local/lib/libbuffalo_bin.so /usr/local/kurobox/lib/
kurobox:/home/mtd2/lib# cd /home/mtd2/usr/local/sbin
kurobox:/home/mtd2/usr/local/sbin# cp -p nvram miconapl /usr/local/kurobox/bin/
*太字の箇所はエレキジャックさんのオリジナルから変更点がある箇所です*
「ln -s /usr/local/kurobox/lib/ld-linux.so.3」は意味がわからなかったので削除しました。


ここまでで、開発人生さんと同じように、LD_LIBRARY_PATH付きでコマンドを実行してみました。

kurobox:~# LD_LIBRARY_PATH=/usr/local/kurobox/lib /usr/local/kurobox/bin/miconapl -b -a temp_get
#[miconapl.temp_get]
temp=36


動きました。
てか

cd /usr/local/kurobox/bin
LD_LIBRARY_PATH=/usr/local/lurobox/lib ./miconapl -b -a temp_get

の方がスッキリしてますね・・。

まだ作業の途中ですが、ひとまずmiconapl、nvramはDebian玄箱に導入できました。
この段階の難点は、いちいちライブラリのPATHとコマンドのPATHを入力しなければならない点です。
これを解決してくれるのがエレキジャックさんの「ファンの制御と電源スイッチ」です。

ということで、次回はファンコントロールと電源ボタンの制御です。
スポンサーサイト
別窓 | Debianで遊ぶ | コメント:0 | トラックバック:1
∧top | under∨
<<miconaplなどの導入(2) | 玄箱Pro、直します。 | sushi-kさんのDebian化をtelnetでやってみよう(2)>>

この記事のコメント

∧top | under∨

コメントの投稿

 

管理者だけに閲覧
 

この記事のトラックバック

トラックバックURL

FC2ブログユーザー専用トラックバックURLはこちら
管理人の承認後に表示されます…
2009-08-14 Fri 16:22
∧top | under∨
| 玄箱Pro、直します。 |
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。