Preetam
Preetam

Reputation: 5768

"missing kernel .config file" error while compiling linux source code for android

I am compiling linux source code for android emulator. I did all the prerequisites. I extracted the .config file from the android emulator(1.5) with following commands

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

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

And now the config file is in my /android-sdk-linux_x86/tools directory. I have modified it according to my needs. Now when i try to make(for building and cross-compiling the linux source) i get the following error.

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# 

i am following instructions from http://linuxclues.blogspot.com/2010/05/build-compile-linux-kernel-android.html

Here "common" directory is where my android kernel source resides. The error is regarding the .config file. where should i place the .config file? or how to solve this problem?

please help. thank you!

Upvotes: 0

Views: 11845

Answers (2)

fkpwolf
fkpwolf

Reputation: 391

if .config exists, then you would to remove file include/config/auto.conf

Upvotes: 0

onemasse
onemasse

Reputation: 6584

I think you can explicitly load a config file from "make menuconfig". It might be a good idea, because your new kernel could expect options that are not available in your current ".config". If you do so, "menuconfig" will use your old ".config" as a template.

Upvotes: 1

Related Questions