0

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!

2 Answers 2

1

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.

Sign up to request clarification or add additional context in comments.

1 Comment

thanks for answering. but i copied the modified .config file in /common directory and it worked!
0

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

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.