戻る

前へ| 次へ

uClibc-0.9.16 セットアップ

${PRJROOT}/build-tools ディレクトリ に uClibc-0.9.16.tar.bz2 を 持っ てきます。

展開;抜き出し

$ cd ${PRJROOT}/build-tools
$ tar jxvf uClibc-0.9.16.tar.bz2 

作成された uClibc-0.9.16/ に 移動して configure を 行います。他の も のとは 今回は 相違が有ります。 専用の ディレクトリの 作成は していなかっ た事を 思いだしてください。

make CROSS=i386-linux- menuconfig

通常は make menuconfig という風に 行うのですが

$ cd ${PRJROOT}/build-tools/uClibc-0.9.16
$ make CROSS=i386-linux- menuconfig

色々選択設定する項目が有るのですが やり方ということで、最小の設定のみ にします

Target Architecture Features and Options

最初は Linux kernel header location を 設定します。Target Architecture Features and Options を 選びます。その中の Linux kernel header location の 項目を選択して

以下のように 修正します

/usr/src/linux
       |
       |
       V
${PRJROOT}/kernel/linux-2.4.18

Shared library loader path

Shared library loader path を 設定してゆきます、 これは 共有ライブラ リをターゲット上のどのディレクトリに置くかを示します。uClibc でリンクし た全てのバイナリには、この値が ハードコートされます。後で共有ライブラリ の場所を変更したら、uClibc を ビルドし直す必要があります。 今回この変数 に共有ライブラリの伝統的な場所として /lib を 設定します。

($(DEVEL_PREFIX)/lib) Shared library loader path 
$(DEVEL_PREFIX)/lib
       |
       |    /* 実際の 表示順には なっていません */
       V
/lib
(/lib) Shared library loader path   

Library Installation Options を選択すると

($(DEVEL_PREFIX)/lib) Shared library loader path
(/usr/$(TARGET_ARCH)-linux-uclibc) uClibc development environment dir
($(DEVEL_PREFIX)) uClibc development environment system directory 
($(DEVEL_PREFIX)/usr) uClibc development environment tool directory

の 項目が現れます ”Shared library loader path” を設定しました 次は ”uClibc development environment dir” を 設定します。

/usr/$(TARGET_ARCH)-linux-uclibc
         |
         |   
         V
${PRJROOT}/tools/uclibc      

”(DEVEL_PREFIX)” は、uClibc を インストールするディレクトリであり、 他のツールと同様、uClibc も ”${PRJROOT}/tools/”の下に置きたいというこ とのようです。

今回は DEVEL_PREFIX として ${PRJROOT}/tools/uclibc を 設定しました。

つまり DEVEL_PREFIX は ${PRJROOT}/tools/uclibc に 設定し

SYSTEM_DEVEL_PREFIX は DEVEL_PREFIX と同じ ${PRJROOT}/tools/uclibc に 設定する 事になります。

uClibc development environment directory DEVEL_PREFIX: DEVEL_PREFIX is the directory into which the uClibc development environment will be installed. The result will look something like the following: $(DEVEL_PREFIX)/ lib/ include/ This value is used by the 'make install' Makefile target. Since this directory is compiled into the uclibc cross compiler spoofer, you have to recompile uClibc if you change this value...

結果的には 何の 変更もしない と云う事です。

これで make CROSS=i386-linux- menuconfig を 終えた 事になります。

make CROSS=i386-linux-

make CROSS=i386-linux- menuconfig が 終わったので make します

$ make CROSS=i386-linux- 

make CROSS=i386-linux- PREFIX="" install

make が 終わったので インストール します

$ make CROSS=i386-linux-  PREFIX="" install 

パスの追加

uClibc でアプリケーションのビルドとリンクを するために パスを追加しま す。

$ cat 01_script 
#! /bin/sh

export PROJECT=proj
export PRJROOT=/home/ddd/${PROJECT}
export TARGET=i386-linux
export PREFIX=${PRJROOT}/tools
export TARGET_PREFIX=${PREFIX}/${TARGET}
export PATH=${PREFIX}/bin:${PATH}
cd $PRJROOT
$ cp 01_script 02_script 
$ vi 02_script 
$ cat 02_script 
#! /bin/sh

export PROJECT=proj
export PRJROOT=/home/ddd/${PROJECT}
export TARGET=i386-linux
export PREFIX=${PRJROOT}/tools
export TARGET_PREFIX=${PREFIX}/${TARGET}
export PATH=${PREFIX}/bin:${PREFIX}/uclibc/bin:${PATH}
cd $PRJROOT
$ diff -s 01_script 02_script 
8c8
< export PATH=${PREFIX}/bin:${PATH}
---
> export PATH=${PREFIX}/bin:${PREFIX}/uclibc/bin:${PATH}

にゃんたろう 拝!

2010年 1月31日 (日) 21:07:37 JST 作成


前へ| 次へ

戻る

Copyright © 2006.-2010. nyantarou All Rights Reserved.