提供されたソースCDの中にはglibcのソースは含まれていません。CodeSourceryのToolchainが使われているようなので、ここからARM 2005q3-2 ReleaseのGNU/LinuxのSourceをダウンしてきました。ダウンしたファイルを展開するとglibc-2005q3-2.tar.bz2があるので、これを使ってみます。glibcのコンパイルにはkernelのヘッダーも必要なのでソースCDのlinux-2.6.12_lsp.1.7.8.tgzを使います。
クロスコンパイル環境の~/ls-glにて行います。
~/ls-gl/srcにて先にダウンしたglibc-2005q3-2.tar.bz2とlinux-2.6.12_lsp.1.7.8.tgzを展開し、ビルドします。実際にLS-GLのglibcがどうやってconfigureしたのかわからないのでオプションは適当です…:
cd src
tar xvzf linux-2.6.12_lsp.1.7.8.tgz
tar xvjf glibc-2005q3-2.tar.bz2
export PATH=/usr/local/develop/bin:$PATH
export LC_ALL=POSIX
export LFS_HOST="i686-pc-linux-gnu"
export LFS_TARGET="arm-none-linux-gnueabi"
cd ../build
rm -rf glibc
mkdir glibc
cd glibc
../src/glibc-2.3.5pre/configure \
--prefix=/usr \ ←どこへ入れればよいのやら…、取り合えず/usrに設定
--target=${LFS_TARGET} \
--host=${LFS_TARGET} \
--build=${LFS_HOST} \
--disable-profile \
--disable-sanity-checks \
--enable-shared \
--without-selinux \
--with-headers=../src/linux-2.6.12_lsp.1.7.8/include \
--enable-add-ons=nptl \
--with-tls \
--with-__thread \
--enable-kernel=2.6.12
make
sudo make install_root=/foo/bar install
コンパイルはできたものの、これ使えるんでしょうか?wwwww
ファームのVer1.11ではkernelも2.6.16.16-arm1に上がっているようなのですが、kernelのソース(その他のも)ありません。もう一度、ソースCDを申し込めば最新のが貰えるんでしょうか?(申し込んだ時点で最新のソースCDが貰えるようです)。CodeSouceryのその他のバージョンを片っ端からダウンしてみましたが、2.6.16のkernelのものは無いみたいだし。素のkernelソースにパッチ当ててるだけなんでしょうかねぇ…?
LS-GLには日本語ロケールが入っていないようなので、EUC-JPのロケールを作成してみます。先にクロスビルドしたglibcの仮インスト先/foo/bar/usr/share/i18n/にcharmapsとlocalesというディレクトリがあるのでその中から必要なファイルをLS-GLにコピーします、まずはLS-GLに以下のdirを作成:
# mkdir -p /usr/share/i18n/charmaps
# mkdir -p /usr/share/i18n/locales
# mkdir -p /usr/lib/locale
次に、/foo/bar/usr/share/i18n/charmapsよりLS-GLのcharmapsにEUC-JP.gz、ANSI_X3.4-1968.gzをコピーする。
/foo/bar/usr/share/i18n/localesよりLS-GLのlocalesにja_JP、i18n、translit_で始まるファイル全てをコピー。
localedefで作成:
# localedef -i ja_JP -f EUC-JP ja_JP.eucJP ←ロケールの作成
# locale -a ←ロケールが追加されたかを確認してみる
C
POSIX
ja_JP.eucjp
#
実行すると/lib/locale/locale-archiveというファイルが出来上がります。実際、LANGを設定してコマンドを実行してみると日本語も表示されています。
# LANG=ja_JP.eucJP diff -v
diff (GNU diffutils) 2.8.1
Copyright (C) 2002 Free Software Foundation, Inc.
This program comes with NO WARRANTY, to the extent permitted by law.
You may redistribute copies of this program
under the terms of the GNU General Public License.
For more information about these matters, see the file named COPYING.
-- 以下は参考訳です。法的な事項については上の記述にしたがってください。
法の許す範囲において、一切の保証はありません。あなたは、このプログラム
の複製を、GNU General Public Licenseに基づいて再頒布できます。これらの
事項についての詳しい情報は、COPYINGというファイルを見てください。
作成は、Paul Eggert、Mike Haertel、David Hayes、
Richard Stallman、Len Tower。
#
同じような手順でeucjpmsやutf-8も作成出来るかと思いますが、ロケールについては、正直、詳細を知らないのでよくわかりません・・・w
使い物になるのか否かまだ不明ですが、取り合えずこれまで。間違いやこうすればうまく行くなどのノウハウ等送って頂けると助かります。