
Ubuntu日本語フォーラム

ログインしていません。
たびたび、お世話になります。
カーネルのコンパイルにるとき、gLibcは必要なんでしょうか?
あるいは、Linux-2.6.xxの中にあるファイルだけをスタティックリンクして完結するんでしょうか?
i386の場合は、何も考えなくても、makeできると思いますが、arm用のクロスコンパイルする場合
他のアプリケーションは、arm用にコンパイルしたgLibcにリンクを通す必要があるようですが、
カーネルの場合は、どうなんでしょうか?
オフライン
普通に考えるならglibcは必要、
ということになるかと思います。
[参考URL] http://itpro.nikkeibp.co.jp/article/Keyword/20070308/264222/
glibcに代わる「なにか」を用意して、glibcを使わずに済ませる方法は無いか、という意味であれば、すみませんがちょっと判りません。
オフライン
hmatsueさま
やはり、gLibcは必要ですよね
クロスコンパイル環境を作ると、/usr/arm-linux-gnueabi/libに、libc.so.6が作られたりしますが、
カーネルのコンパイル時には
make ARCH=arm CROSS_COMPILE=arm-linux- でコンパイルし、gLibcへのリンクを指定していないように思われるので
先のような質問になりました。
考えてみると、gccのsearch-dirsと arm-linux-gccのsearch-dirs は別物なので、問題なかったんですね。
ただ、クロスコンパイル環境の場合、gLibc以外にも、uClibcやdietLibcなどの候補があり、
他のLibcを使う場合、やはりuClibcなどをsearch-dirsに含めるのか、
あるいは、Makefileと同じ位置に/libがあれば優先的に的に見に行ってくれるのか
いまいちよく分かりません。
オフライン