编译linux的源代码时,“缺少内核.config文件”错误

时间:2011-03-19 04:10:57

标签: android-emulator linux-kernel arm cross-compiling embedded-linux

我正在为linux source code编译android emulator。我做了所有先决条件。我使用以下命令从.config中提取android emulator(1.5)文件

$adb pull /proc/config.gz . # get compressed .config file from the emulator.

$gunzip config.gz # uncompress it.
$cp config .config # rename it into .config

现在配置文件位于我的/ android-sdk-linux_x86 / tools目录中。我根据自己的需要对其进行了修改。现在当我尝试(用于构建和交叉编译linux源代码)时,我收到以下错误。

root@ubuntu:~# cd common
root@ubuntu:~/common# ARCH=arm CROSS_COMPILE=/home/preetam/mydroid/prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin/arm-eabi- make
  HOSTCC  scripts/basic/fixdep
scripts/basic/fixdep.c: In function ‘traps’:
scripts/basic/fixdep.c:377: warning: dereferencing type-punned pointer will break strict-aliasing rules
scripts/basic/fixdep.c:379: warning: dereferencing type-punned pointer will break strict-aliasing rules
  HOSTCC  scripts/basic/docproc
  HOSTCC  scripts/basic/hash
  HOSTCC  scripts/kconfig/conf.o
scripts/kconfig/conf.c: In function ‘conf_askvalue’:
scripts/kconfig/conf.c:105: warning: ignoring return value of ‘fgets’, declared with attribute warn_unused_result
scripts/kconfig/conf.c: In function ‘conf_choice’:
scripts/kconfig/conf.c:307: warning: ignoring return value of ‘fgets’, declared with attribute warn_unused_result
  HOSTCC  scripts/kconfig/kxgettext.o
  SHIPPED scripts/kconfig/zconf.tab.c
  SHIPPED scripts/kconfig/lex.zconf.c
  SHIPPED scripts/kconfig/zconf.hash.c
  HOSTCC  scripts/kconfig/zconf.tab.o
  HOSTLD  scripts/kconfig/conf
scripts/kconfig/conf -s arch/arm/Kconfig
***
*** You have not yet configured your kernel!
*** (missing kernel .config file)
***
*** Please run some configurator (e.g. "make oldconfig" or
*** "make menuconfig" or "make xconfig").
***
make[2]: *** [silentoldconfig] Error 1
make[1]: *** [silentoldconfig] Error 2
  CHK     include/linux/version.h
  UPD     include/linux/version.h
  Generating include/asm-arm/mach-types.h
make: *** No rule to make target `include/config/auto.conf', needed by `include/config/kernel.release'.  Stop.
root@ubuntu:~/common# 

我正在按照http://linuxclues.blogspot.com/2010/05/build-compile-linux-kernel-android.html

的说明操作

这里"common"目录是我的android内核源所在的目录。该错误与.config文件有关。我应该在哪里放置.config文件?或者如何解决这个问题?

请帮忙。谢谢!

2 个答案:

答案 0 :(得分:1)

我认为您可以从“make menuconfig”显式加载配置文件。这可能是一个好主意,因为您的新内核可能会期望当前“.config”中没有的选项。如果这样做,“menuconfig”将使用旧的“.config”作为模板。

答案 1 :(得分:0)

如果.config存在,那么你将删除文件include / config / auto.conf

相关问题