カテゴリ
リンク

当サイトは、玄箱PRO (KURO-BOX/Pro)を中心とした組み込み、Linuxと電子工作を扱っています。
会社案内

情報セキュリティおよび個人情報の取り扱いについて


コメントとトラックバックは、spamを予防するために、編集担当が公開の作業をするまで非公開になっています。コメントはそれぞれ投稿した人のものです。

Debian 環境を整えるの最近のブログ記事

 Debian/lenny では、玄箱PROのマイコンとの通信などに micro-evtd を利用しています。今回は micro-evtd の機能を試してみたので結果を紹介します。

はじめに
 Debian Lenny (armel アーキテクチャ)をインストールした状態では ALSA (Advanced Linux Sound Architecture, サウンド関連のデバイス・ドライバやユーティリティ) が期待通りに動作しません。これはカーネル(EABI)を、OABI との互換性を保つようにオプション(COMPAT_OABI)を指定すると起きることが知られています。

 ところで、etch から lenny への移行で OABI のプログラムは必要なくなっているはずなので、問題のオプションを外したカーネルを作成してみました。

■etch から lenny に移行したい
 前回は Lenny を新規インストールする方法を紹介しましたが、筆者を含め Etch から Lenny へ移行したいと思う方も多いのではないでしょうか。今回は移行の方法を紹介します。

■移行の前に考えること
 Etch では ARM アーキテクチャは一つだけで OABI でした。Lenny からは OABI (arm) と EABI (armel) の二つがサポートされています。Debian で今後は EABI しかサポートしなくなる、パフォーマンスの面で EABI が有利と EABI に移行するのがよさそうです。
 ところが、この二つは似ているようで、互換性が微妙にとりずらいという関係にあります*1。OABI のまま etch から lenny にするのはアップグレードなので問題は少ないのですが、EABIに移行するのはアップグレードというより、アーキテクチャの変更になります。そのため、上書きインストールして、バイナリやダイナミック・ライブラリを混在させるとインストール後に原因のわかりにくいトラブルが起きる可能性があります*2

■Debian GNU/Linux 5.0 Lenny がリリース
 Debian GNU/Linux 5.0 コードネーム Lenny が 2009年2月15日にリリースされました。今回から正式に玄箱PROがサポートされています。さらに、ARM EABI (armel)が正式にサポートにされています。以前紹介した ARM OABI (arm) アーキテクチャについては次のバージョンからはサポートされなくなります。
 今回は、ARM EABI の新規インストールについて、インストールガイド:
http://www.cyrius.com/debian/orion/buffalo/kuroboxpro/
を基に、より簡単に新規インストールできるようにした方法を紹介します。

lenny01.jpg
図1 インストーラ起動時に DHCP でネットワーク設定を取得中(シリアル・コンソール)。

■はじめに
 玄箱PROのディスクがいっぱいになってきたとき、ディスクを増設したり、コピーして交換したくなります。今回は新しい HDD を USB HDD ケースに入れてコピーをし、玄箱PRO内蔵の HDD と交換してみます(図1)。そのために、fdisk, mkfs などを使って USB HDD を初期化してから、tar で玄箱PRO内蔵のディスクから内容をコピーして、ディスクを交換します。

USBHDDs.jpg
図1 1TB HDD を組み込んだ USB HDD ケース (玄人志向の玄蔵)

■カーネルを最新にする
 最新の安定版の Linux カーネルが 2.6.25.3 になりました。玄箱PROも正式サポートされています。そこで、2.6.25-rc1-git4 に引き続き更新してみました。

■カーネルをコンパイルする
  まず http://www.kernel.org/ から 2.6.25.3 のソースをダウンロードしました。次に、Buffalo @ NAS-Central の Buffalo ARM9 Kernel Port を参考にします1)。玄箱PRO のフラッシュ・メモリに書き込まれている u-boot では、パッチを当てないと起動できないので、Buffalo ARM9 Kernel Port の force-mach-type.patch を当てます。また、shutdown時に電源が切れれるよう Sylver Bruneau さんのパッチを利用してみました。

■最新カーネルを試してみる
 最新の Linux カーネル 2.6.25 が、まもなくリリースされます。現在リリース直前のバージョン (release candidate) が公開されています。2.6.25 からは、玄箱PROもサポートされるということだったので、早速試してみました。試したものは 2.6.25-rc1-git4 です(すでに rc2 が公開されています)。


■シリアル・コンソール用レベル・コンバータを作る
 以前に製作したレベル・コンバータの部品の配置を見直して、実体配線図を用意しました。回路図は以前と同じです。ICが一つとコンデンサだけの簡単な回路です。

■用意するもの
 工具としては、はんだゴテ(コテ台)とニッパー、はんだがあればOKです。部品は表に示します。

部品名                                        メーカ        型番                    個数
レベル・コンバータIC*1                  Sipex        SP3232CPE           1
16ピンICソケット                            -                    -                    1
0.1μF 積層セラミック・コンデンサ    -                    -                    5
D-sub 9ピン・コネクタ(メス)             -                   -                     1
小型万能基板*2                          -                   -                     1
4ピン・コネクタ                              -                   -                    1組または2組
直径0.5mm程度のスズ・メッキ線      -                  -                    少々
ビニール線*3                               -                    -                   少々

*1) 3.3Vで動作し外付けコンデンサが 0.1uF であれば、ほかのメーカでもよい
*2) 2.54mm ピッチ, 写真のように部品面で D-sub 9ピンをはんだ付けするには両面スルーホール基板を用意する。写真の基板の大きさは 34mm × 49mm。
*3)4から5色で色分けするとよい, ここではフラットケーブルを利用している

表:シリアル・コンソール用レベル・コンバータの部品表

■二つの開発の方法
 プログラムを実行するマシン(ターゲット)で開発することをセルフ開発と呼び、開発環境はセルフ開発環境と呼びます。開発用のマシンをターゲットのマシンとは別に用意する場合(とくにアーキテクチャが違うマシンの場合)には、クロス開発と呼び、開発環境をクロス開発環境と呼びます。それぞれで使用するコンパイラは、セルフ・コンパイラ、クロス・コンパイラと呼びます。

■メリットとデメリット
 セルフ開発環境のメリットは、なんといってもコンパイルが終わったら、すぐに実行ができることです。またターゲットと開発マシンで同じ名前のヘッダがある場合などに混乱することもありません。クロス開発環境のメリットは、ターゲットが非力なときにも、開発には十分な能力のあるマシンを使うことができることです。

■電子メールが出せると 
 玄箱PROから電子メールが出せるようになると、センサに反応があったときメールで知らせるといったことができるようになります。そこでメールの設定をしておきます。 
 まずは、apt-get で、exim4 と mailx をインストールします。exim4 はメールの配送システム、mailx はメール・クライアントです。
apt-get install exim4 mailx
おすすめ書籍
Powered by
Movable Type 4.1