5

Mountain Lion 10.8.4 で Nexus 7 用の Android カーネルをコンパイルすると、致命的なエラーが発生しました: 'elf.h' ファイルが見つかりません:

/Volumes/Android/WORKING_DIRECTORY/device/asus/grouper/tegra/
[derek@retina-mbp]$ make
scripts/kconfig/conf --silentoldconfig Kconfig
  CHK     include/linux/version.h
  UPD     include/linux/version.h
  CHK     include/generated/utsrelease.h
  UPD     include/generated/utsrelease.h
  Generating include/generated/mach-types.h
  CC      kernel/bounds.s
  GEN     include/generated/bounds.h
  CC      arch/arm/kernel/asm-offsets.s
  GEN     include/generated/asm-offsets.h
  CALL    scripts/checksyscalls.sh
  CC      scripts/mod/empty.o
  HOSTCC  scripts/mod/mk_elfconfig
scripts/mod/mk_elfconfig.c:4:10: fatal error: 'elf.h' file not found
#include <elf.h>
         ^
1 error generated.
make[2]: *** [scripts/mod/mk_elfconfig] Error 1
make[1]: *** [scripts/mod] Error 2
make: *** [scripts] Error 2

カーネルのコンパイルを続行できるように、これを修正する方法を知っている人はいますか?

4

2 に答える 2

6

欠落している elf.h ファイルの回避策を見つけたので、私は自分の質問に答えています:

cd /Volumes/Android/WORKING_DIRECTORY/external/elfutils/libelf/
$ sudo cp -a elf.h /usr/include

'elf.h' ファイルのコピーが /usr/include にあるため、コンパイルはしばらく続きますが、別のエラーで再び停止します。

arch/arm/mach-tegra/sleep.S: Assembler messages:
arch/arm/mach-tegra/sleep.S:240: Error: selected processor does not support ARM mode `smc #0'
make[1]: *** [arch/arm/mach-tegra/sleep.o] Error 1
make: *** [arch/arm/mach-tegra] Error 2

ただし、この最後のエラーについてどうすればよいかわかりません。

更新: Android カーネルを OS X で直接コンパイルしようとするのをあきらめました。代わりに、VirtualBox に 64 ビット Ubuntu をインストールし、このページの指示に従いました。

http://forum.xda-developers.com/showthread.php?t=1774035

私が言ったのを除いて、上記のページが示唆したように、VMWare PlayerではなくVirtualBoxを使用しました。それはうまく機能し、ネットワークに問題はなく、Ubuntuにsshして、コンパイルされたカーネルをOS Xに簡単に戻すことができました.

また、このページを参照して、デバイス (グルーパー) 用の適切なカーネル ソース、ビルド済みの gcc、および make コマンドの構文 (make tegra3_android_defconfig) を取得しました。

http://source.android.com/source/building-kernels.html

この答えが誰かの時間を節約することを願っています。

于 2013-10-18T05:53:40.077 に答える
2

それでも興味がある場合は、 http://algobardo.github.io/2014/10/Android-Kernel-MacOsX/をチェックして、Android バージョンのシステムで再現可能かどうかお知らせください。

于 2015-01-19T13:58:43.930 に答える