スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
Date: --.--.-- Category: スポンサー広告   

クロスコンパイル環境を作る

SmartQ5 でビルドするのはあまりに遅すぎるので、PC でクロスコンパイル環境を作ります。こうすれば (SmartQ5 よりは) 高速にビルドができるでしょう。
今回環境を作成したのは、E4200 上の gentoo。
結構簡単です。

まず、crossdev パッケージをインストールします。
emerge crossdev

次に、crossdev コマンドを使ってクロスコンパイル環境を作ります。
PORTAGE_OVERLAY=/opt/crossdev crossdev -t arm-gentoo-linux-gnueabi
(PORTAGE_OVERLAY の値は適当な値で良いはずです。)

以上。ちなみに、Beagleboard という ARM を使った小型のボードがあるのですが、それと同じ方法でできます。このボードの情報はそこそこあるので探しやすいかもしれません。
crossdev コマンドは、binutils や GCC をコンパイルするのでそこそこ時間が掛かります。E4200 では 1 時間以上はかかったと思います。

crossdev によって作成される gcc 等には、arm-gentoo-linux-gnueabi-gcc の様に頭に arm-gentoo-linux-gnueabi- がつきます。単体のソースをコンパイルするだけなら、
arm-gentoo-linux-gnueabi-gcc test.c -o test
みたいにすれば ARM 向けのバイナリが作成されます。生成されたファイルを file コマンドで調べてみればわかると思います。

./configure と make を使う場合は、
./configure --host=arm-gentoo-linux-gnueabi
としてから make すればいい・・・のかな? ただこれは別途必要なライブラリなども関係してくるので、クロスコンパイルするのは難しいかもしれません。

カーネルは、
make ARCH=arm CROSS_COMPILE=arm-gentoo-linux-gnueabi-
とします。menuconfig などの指定は、
make ARCH=arm CROSS_COMPILE=arm-gentoo-linux-gnueabi- menuconfig
のように指定します。


2009/10/11 14:02 追記
カーネルの CROSS_COMPILE に指定する値が間違えていたので修正しました。
スポンサーサイト
Date: 2009.10.11 Category: gentoo  Comments (0) Trackbacks (0)

Gentoo で Kernel Modesetting

Gentoo のアップデートで xorg-server の 1.6 が来ました。同時に Xorg の Intel ビデオドライバも 2.8.0 が来たので、Kernel Modesetting が使えます。

Gentoo オフィシャルのドキュメントは こちら
Xorg は 1.6 以上、Intel ドライバは 2.6.1 以上がインストールされていれば、後はカーネルの設定と起動オプションの設定で使えるようになるみたいです。

まずはカーネルの設定。使用したカーネルは 2.6.30-gentoo-r5 です。
Device Drivers --> Graphics support --> Direct Rendering Manager
と進み、Intel 830M, 845G, 852GM, 855GM, 865G を Y にし、i830 driver と i915 driver の選択で i915 driver を選びます。
すると、Enable modesetting on intel by default という項目が追加されるので、これを Y にします。
一つ戻って、Support for frame buffer devices で、Intel ~ の項目が有効になっていないことを確認してください。
再び戻って、Console displat driver support を選び、Map the console to the primary display device を Y にします。
これでカーネルをコンパイルし、インストールします。

次に起動オプションです。/boot/grub/menu.lst のカーネルの項目を、
kernel /boot/kernel-2.6.30-r5 root=/dev/sda2
こうなっていたら
kernel /boot/kernel-2.6.30-r5 root=/dev/sda2 i915.modeset=1 fbcon=map:1
このように追加します。

これで再起動して今作成したカーネルから起動すれば、Kernel Modesetting が有効になります。
Date: 2009.10.01 Category: gentoo  Comments (0) Trackbacks (0)

ebview-0.3.6.2 の ebuild

ファイル置き場 に gentoo の ebuild を置きました。
ebview という EPWING 形式の辞書ビュワーがあるのですが、最近はまるで更新されていなかったのですよね。
で、独自ビルド?を作成した方がいたようなので、それをインストールする ebuild を作りました。

手順としては、portage overlay を使用することになるので、ちょっと面倒です。
既に overlay を使用している人・・・の説明はするまでもないですよね。とりあえず自分用のメモ。

まず、/etc/make.conf に overlay 先のディレクトリを指定。
PORTDIR_OVERLAY="/usr/local/overlay/"
(ディレクトリはどこでもいいです)

そのディレクトリを作成して、上記ファイルを展開。
mkdir -p /usr/local/overlay/
cd /usr/local/overlay/
( wget http://whitesc3.web.fc2.com/text/ebview-0.3.6.2-ebuild.tar.gz )
tar zxvf ebview-0.3.6.2-ebuild.tar.gz

一応、そのままだと Masked になっていてインストールできない (そもそも 0.3.6 が mask されてしまいましたし) ので、それを解除する。
echo "app-dicts/ebview" >> /etc/portage/package.unmask
echo "app-dicts/ebview" >> /etc/portage/package.keywords

あとは emerge でインストールする。
emerge ebview
先に -pv でもつけて、0.3.6.2 がインストールされるか確認した方が、よりベターですかね。


ついでに gnome メニューのアクセサリ以下にメニュー項目を追加するようにしました。
やっつけな ebuild なのでそのままじゃ使い物にならないでしょうが、せめてメインラインの mask ぐらいは外せるように、協力したいとは思うのですけどねぇ。。。
Date: 2009.08.29 Category: gentoo  Comments (0) Trackbacks (0)

自動ログイン、サウンドドライバの設定

snd-hda-intel のドライバを使うことで音は出ますが、ほとんど聞こえないぐらいの音量です。モジュールへの引数で調整が出来るので試したところ、/etc/modprobe.d/alsa ファイルの末尾に
options snd-hda-intel model=basic
と追加して depmod -a を行ってから再起動します。
再起動後に alsamixer を立ち上げてみると、Master と PCM 以外に Headphon と Front などが増えています。これの Front が本体スピーカ、Headphon はヘッドホン端子からの出力がそれぞれ変更出来ました。これでかなりの音量で再生出来ます。

自動ログインは、GDM や KDM を使えば簡単に設定できますが、たまたま違うことを調べている最中に見つけた mingetty でも自動ログインが出来るようです。
emerge mingetty
でインストールし、/etc/inittab を編集します。# TERMINALS と書かれた行の後に、
c1:12345:respawn:/sbin/agetty 38400 tty1 linux
という行があるので、これを
c1:12345:respawn:/sbin/mingetty --autologin user --noclear tty1
の様に変更します。"user" の部分は自動ログインしたいユーザー名です。
自動ログインしたユーザーの .bash_profile に自動起動させたいプログラムを記述しておけば、電源を入れただけで自動でそのプログラムが起動します。
ただし、そのままでは .bash_profile を読み込む度にそれが起動してしまうので、
if [ `tty` = "/dev/tty1" ]: then
    (実行したいプログラム)
fi
と自動ログインするコンソールでのみ実行される様にしておくといいと思います。
Date: 2009.01.12 Category: gentoo  Comments (0) Trackbacks (0)

IEGD のインストール

まずは IEGD_9_0_2_Linux.tgz を展開します。そこで作成される IEGD_Patches/Drm に移動して make するのですが、これは失敗してしまうのでパスします。

次に、IEGD_9_0_2_Linux/Driver/Xorg-X11R7.3 に移動します。ここで、以下のように必要なファイルをコピーします。
cp iegd_drv.so /usr/lib/xorg/modules/drivers/
cp lvds.so /usr/lib/xorg/modules/
cp libXiegd_escape.so.2.0.0 /usr/lib/
cp libGLgn3.so /usr/lib/libGL.so.1.2
mkdir /usr/lib/xorg/modules/dri/
cp iegd_dri.so /usr/lib/xorg/modules/dri/ (このファイルは必要ないかも)
さらに以下のようにリンクを張ります。
cd /usr/lib
ln -s libXiegd_escape.so.2.0.0 libXiegd_escape.so
ln -s libXiegd_escape.so.2.0.0 libXiegd_escape.so.2
ln -sf libGL.so.1.2 libGL.so
ln -sf libGL.so.1.2 libGL.so.1

IEGD_Patches/IKM ディレクトリに移動します。
chmod +x install.sh
./install.sh
とするところですが、カーネル2.6.24 ならこのままで問題ありませんが、カーネル2.6.25 ではエラーが出て失敗します。
適当にパッチを作って、とりあえずビルドはできました。このファイル をダウンロードして、ファイル名を _gz.xml から .gz に変更して (FC2のファイルアップロードの制限のため) IKM ディレクトリに移動してから
zcat ikm_kernel2_6_25_diff.gz | patch -p1
とパッチを当てて、install.sh コマンドを実行すればドライバが作成されます。root 権限があればそのままインストールも行ってくれます。

必要であれば、IEGD_9_0_2_Linux/Utilities にあるファイルに実行権限を付けて、/usr/local/bin などにコピーします。

最後にxorg.conf に必要な情報を記述します。
自動認識では正常に表示されないのですが、このファイルのように記述すると 1024x600 で問題なく表示が出来ました。

しかし、コンパイルできないモジュールもありますし、IKM ディレクトリで作成される iegd_mod.ko はロードするとセグメンテーション違反らしきものが発生しています。
また、xrandr による画面の回転も出来ません。(解像度の変更は出来ます)

とりあえず表示は出来たのでこれでいいとします。また、Ubuntu ではうまく調整できなかった evtouch でのタッチパネル操作が正常に出来るようになりましたので、現在はそれを使っています。
Date: 2009.01.11 Category: gentoo  Comments (0) Trackbacks (0)
最新記事
最新コメント
ウィジェット
月別アーカイブ
カテゴリ
プロフィール

SC3WO06A

Author:SC3WO06A
FC2ブログへようこそ!


検索フォーム
RSSリンクの表示
リンク
このブログをリンクに追加する
ブロとも申請フォーム

この人とブロともになる

QRコード
QRコード
最新トラックバック
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。