Need help with Kernel Modules! - Android Q&A, Help & Troubleshooting

Hi guys! Currently I'm trying to port several modules on a non-native android device (Beagleboard XM). I'm syncing my sources from rowboat. However, I came across this problem which had me stuck for more than a week. How do I compile modules into a .ko file? Whenever I try to compile the modules, it would be listed as .o, eg for a wireless driver I am working on, i would get RT2800USB.o instead of RT2800USB.ko that I need.
Could anyone assist me with the solution to the problem? I've tried googling for the answers but I still have not found any answers. Need some guidance, thanks in advance!

any help? points to any direction will also do!

omigosh said:
any help? points to any direction will also do!
Click to expand...
Click to collapse
To build Kernel modules run this :- "make modules"
To find/copy the Kernel modules which you've build :-
Code:
mkdir ../build_output
find . -name "*.ko" -exec cp {} ../build_output \;
References: http://forum.xda-developers.com/showthread.php?t=1748297

okay, will try it out again. thanks!
previously i tried using the exact command this command "make modules" after this:
make TARGET_PRODUCT=beagleboard OMAPES=5.x
executing the make modules command would not create the RT2800USB.ko modules that I require.

update:
while in my source directory, i execute the command:
~/rowboat-jb$ make ~/rowboat-jb/kernel/drivers/net/wireless/rt2x00/rt2800usb.ko
However at the end, I would receive the following:
make: *** No rule to make target `/home/user/rowboat-jb/kernel/drivers/net/wireless/rt2x00/rt2800usb.ko

omigosh said:
update:
while in my source directory, i execute the command:
~/rowboat-jb$ make ~/rowboat-jb/kernel/drivers/net/wireless/rt2x00/rt2800usb.ko
However at the end, I would receive the following:
make: *** No rule to make target `/home/user/rowboat-jb/kernel/drivers/net/wireless/rt2x00/rt2800usb.ko
Click to expand...
Click to collapse
I'm not sure about the errors you're facing. But you can ask these doubts in the above linked thread. I'm sure you'll get a feedback.

okay, thank you very much for your guidance!

Related

(Q) First time Compiling

Ok, I setup my 2 build boxes. One Ubuntu 11.10x64 and one Mint 11x86. Installed required packages and downloaded multiple toolchains. I have tried compiling on both machines and on both I get the same errors.
make[2]: *** [silentoldconfig] Error 1
make[1]: *** [silentoldconfig] Error 2
make: *** No rule to make target `include/config/auto.conf', needed by `include/config/kernel.release'. Stop.
make: *** Waiting for unfinished jobs....
CHK include/linux/version.h
I have tried make thunderc_perf_defconfig and get the same error. Copied .config from device dropped into source, same error.
Any ideas on what is going on? I'm new to this so any help would be great.
I don't known, maybe gcc
try checking your mount options?
Nope its not gcc; as I said I have installed all required packages including gcc + bison etc. My mount options? Is that the "export ARCH=arm" ? Where I have to set the default compiler? I'm new to the newer flavors of linux. The last distro I used was Mandrake 7.1 ;-) Now I am testing this on 2 builds; an x64 Ubuntu and a x86 Mint(Which is Ubuntu). I have to be missing something on both, but I have followed tutorials guides to the T and still get this error. I get more errors than this by the way. The compiler kicks back Kconfig saying unexpected line of code.
SgtPropain said:
Ok, I setup my 2 build boxes. One Ubuntu 11.10x64 and one Mint 11x86. Installed required packages and downloaded multiple toolchains. I have tried compiling on both machines and on both I get the same errors.
make[2]: *** [silentoldconfig] Error 1
make[1]: *** [silentoldconfig] Error 2
make: *** No rule to make target `include/config/auto.conf', needed by `include/config/kernel.release'. Stop.
make: *** Waiting for unfinished jobs....
CHK include/linux/version.h
I have tried make thunderc_perf_defconfig and get the same error. Copied .config from device dropped into source, same error.
Any ideas on what is going on? I'm new to this so any help would be great.
Click to expand...
Click to collapse
I ran a search on your error message about the missing rule to make auto.conf and found this:
https://bbs.archlinux.org/viewtopic.php?id=99089
It relates to the other poster's comment about checking your mount options. It's a short process to fix it.
And if it doesn't work maybe it will at least give you a new error message to research.
glarepate said:
I ran a search on your error message about the missing rule to make auto.conf and found this:
https://bbs.archlinux.org/viewtopic.php?id=99089
It relates to the other poster's comment about checking your mount options. It's a short process to fix it.
And if it doesn't work maybe it will at least give you a new error message to research.
Click to expand...
Click to collapse
just as i thought. that might have happened. its worth a try though.
SgtPropain said:
Nope its not gcc; as I said I have installed all required packages including gcc + bison etc. My mount options? Is that the "export ARCH=arm" ? Where I have to set the default compiler? I'm new to the newer flavors of linux. The last distro I used was Mandrake 7.1 ;-) Now I am testing this on 2 builds; an x64 Ubuntu and a x86 Mint(Which is Ubuntu). I have to be missing something on both, but I have followed tutorials guides to the T and still get this error. I get more errors than this by the way. The compiler kicks back Kconfig saying unexpected line of code.
Click to expand...
Click to collapse
Wrong...
Because you don't have .config file in the source. If you are building kernel from source, you must have the kernel config. That kernel config can be shared in the source code, it depends on that kernel developer, he can shared it in arch/arm/config, access to there then find that kernel defconfig. Or you can get the kernel config of that kernel with another method, but this method just can be applied if the kernel you want to build is for our device: flash that kernel then go to terminal then type:
Code:
su
(Accept the super user)
Code:
cp /proc/config.gz /sdcard
If it show "No such file or directory found" so you should ask that kernel developer for their .config.
If it doesn't show anything, go to sdcard and find if there is a file that named config.gz, it's the kernel config. Get back to terminal then type:
cd /sdcard
gunzip config.gz
Voila!
I actually tried that already.... I have been at this for about three days. XDA was my last resort as I like to figure things out on my own. However I'm stuck @ a brick wall. I have edited /etc/fstab and removed the bs mount options..remounted same error. Mind you I'm doing most of this from a Virtual Environment. Starting to think this is my issue, but it doesn't explain the same error on machine #2. Maybe I'm doing it right, possibly a bad git clone?
thachtunganh said:
Wrong...
Because you don't have .config file in the source. If you are building kernel from source, you must have the kernel config. That kernel config can be shared in the source code, it depends on that kernel developer, he can shared it in arch/arm/config, access to there then find that kernel defconfig. Or you can get the kernel config of that kernel with another method, but this method just can be applied if the kernel you want to build is for our device: flash that kernel then go to terminal then type:
Code:
su
(Accept the super user)
Code:
cp /proc/config.gz /sdcard
If it show "No such file or directory found" so you should ask that kernel developer for their .config.
If it doesn't show anything, go to sdcard and find if there is a file that named config.gz, it's the kernel config. Get back to terminal then type:
cd /sdcard
gunzip config.gz
Voila!
Click to expand...
Click to collapse
Yeah that would be great if I hadn't done that already. In my post I stated I had replaced the .config from my device. I have literately tried everything but doing this from base. IE not from a VM. I appreciate the help but its a "no go".
Beginning of my .config for proof
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.32.9-ck2
# Wed Apr 11 20:41:44 2012
#
CONFIG_ARM=y
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
CONFIG_GENERIC_GPIO=y
CONFIG_GENERIC_TIME=y
CONFIG_GENERIC_CLOCKEVENTS=y
CONFIG_KTIME_SCALAR=y
CONFIG_GENERIC_HARDIRQS=y
CONFIG_STACKTRACE_SUPPORT=y
CONFIG_HAVE_LATENCYTOP_SUPPORT=y
CONFIG_LOCKDEP_SUPPORT=y
CONFIG_TRACE_IRQFLAGS_SUPPORT=y
CONFIG_HARDIRQS_SW_RESEND=y
CONFIG_GENERIC_IRQ_PROBE=y
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
CONFIG_ARCH_HAS_CPUFREQ=y
CONFIG_GENERIC_HWEIGHT=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
CONFIG_VECTORS_BASE=0xffff0000
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
CONFIG_CONSTRUCTORS=y
Setting up a third independent machine Ubuntu x86 testing..
where do you get that .config from?
pull /proc/config.gz
SgtPropain said:
pull /proc/config.gz
Click to expand...
Click to collapse
What device are you using, and what kernel are you using.
for the time being you can use prebuilt kernel...no need to build kernel from source....
williamcharles said:
for the time being you can use prebuilt kernel...no need to build kernel from source....
Click to expand...
Click to collapse
He isn't building ROM from source. He is learning how to build a kernel from source.
Sorry for the delay; had 2 deaths in the family.
I setup my third box and again I get the same results. I really don't know where I'm going wrong. This kinda makes me lean to, I have bad source code. I'm no pro C programmer; however when building I get Kconfig errors. I opened said file and the comments look all messed up. The compiler I think is reading the comments as code and kicking it back giving me this error.
by the way what are you compiling and please teach me compiling i want to learn it .
I'm compiling a modified kernel for the Optimus V. I can't teach you how to compile because I don't even know if I'm doing it right.

[Q] Building Kernel error

Hello,
I want build the kernel of Xperia S but I hava this error :
Code:
arch/arm/mach-msm/qdsp6v2/audio_acdb.c: In function 'store_vocvol_cal':
/home/cemal/Bureau/Sourceicsxs/kernel/arch/arm/include/asm/atomic.h:249: error: 'asm' operand requires impossible reload
Thank you !
Solved
Solved I write in the Makefile the flag --disable-werror. Nice
Edit : BUT i have a new error
Code:
arch/arm/mach-msm/qdsp6v2/audio_acdb.c: In function 'store_vocvol_cal':
/home/cemal/Bureau/Sourceicsxs/kernel/arch/arm/include/asm/atomic.h:249: error: 'asm' operand requires impossible reload
make[2]: *** [arch/arm/mach-msm/qdsp6v2/audio_acdb.o] Erreur 1
make[1]: *** [arch/arm/mach-msm/qdsp6v2] Erreur 2
make: *** [arch/arm/mach-msm] Erreur 2
Anything Ideas ?
c3ma138 said:
Solved I write in the Makefile the flag --disable-werror. Nice
Edit : BUT i have a new error
Code:
arch/arm/mach-msm/qdsp6v2/audio_acdb.c: In function 'store_vocvol_cal':
/home/cemal/Bureau/Sourceicsxs/kernel/arch/arm/include/asm/atomic.h:249: error: 'asm' operand requires impossible reload
make[2]: *** [arch/arm/mach-msm/qdsp6v2/audio_acdb.o] Erreur 1
make[1]: *** [arch/arm/mach-msm/qdsp6v2] Erreur 2
make: *** [arch/arm/mach-msm] Erreur 2
Anything Ideas ?
Click to expand...
Click to collapse
You shouldn't have to edit the Makefile. Are you using the tool chain recommended by Sony? Make sure your path selects them before anything else. Also I would reset locale to C before compiling ("Erreur"?!), it may play some tricks.
kuisma said:
You shouldn't have to edit the Makefile. Are you using the tool chain recommended by Sony? Make sure your path selects them before anything else. Also I would reset locale to C before compiling ("Erreur"?!), it may play some tricks.
Click to expand...
Click to collapse
I use the ndk toolchain, where can I find the Sony toolchain
Edit : arm-[...].4.6
c3ma138 said:
I use the ndk toolchain, where can I find the Sony toolchain
Edit : arm-[...].4.6
Click to expand...
Click to collapse
You find the specific instructions for the Xperia S at http://developer.sonymobile.com/wp/...-archive-released-with-building-instructions/ referring to the kernel building howto at http://developer.sonymobile.com/wp/2011/05/06/how-to-build-a-linux-kernel/ recommending you to use the tool chain at https://sourcery.mentor.com/sgpp/lite/arm/portal/[email protected]=lite
Follow those instructions before start tinkering with Makefiles, tools, build environment etc and I'm sure you'll succeed.
And reset locale to C! I.e. unset the LANG and LC_* environment variables in your shell before running the build scripts.
kuisma said:
You find the specific instructions for the Xperia S at http://developer.sonymobile.com/wp/...-archive-released-with-building-instructions/ referring to the kernel building howto at http://developer.sonymobile.com/wp/2011/05/06/how-to-build-a-linux-kernel/ recommending you to use the tool chain at https://sourcery.mentor.com/sgpp/lite/arm/portal/[email protected]=lite
Follow those instructions before start tinkering with Makefiles, tools, build environment etc and I'm sure you'll succeed.
And reset locale to C! I.e. unset the LANG and LC_* environment variables in your shell before running the build scripts.
Click to expand...
Click to collapse
thank you,
But this does not work
I download: https://sourcery.mentor.com/sgpp/lite/arm/portal/release2188
then: http://developer.sonymobile.com/wportal/devworld/downloads/download/61a0452tarbz2
I unzipped all in my Desktop and in a terminal, I wrote:
- cd source/kernel
- ARCH=arm CROSS_COMPILE=/home/cemal/Bureau/arm-2012.03/bin/arm-none-eabi- make fuji_nozomi_defconfig
- ARCH=arm CROSS_COMPILE=/home/cemal/Bureau/arm-2012.03/bin/arm-none-eabi- make
c3ma138 said:
But this does not work
Click to expand...
Click to collapse
Sorry, but I'm no mind reader. "does not work" is not sufficient information for me to reply anything helpful to.
The basic is, if you don't know what you are doing, do it by the book. Still not working? Ask for help. Sony Xperia has presented quite a verbose instruction about how to compile their kernels. Try following this before choosing your own tool chain, edit Makefiles and so. When you get problems, read the instructions more carefully and/or ask the community (hi!) for help, with somewhat more detailed information about what you did and how it failed. The more verbose information you present, the more likely you are to get a useful reply.
Best of luck.
------------------
(edit)
A curious question, why do you want to compile a new kernel? I get the impression this is not your field of expertise, and maybe you are trying to achieve something somewhat more complicated than needed.
Hello,
I encounter the same kind of issue. Does anyone could help me ?
I work in an Ubuntu PC (10.04).
I have downloaded the toolchain for Linux from sourcery.mentor.com (arm-2012.03-57-arm-none-linux-gnueabi.bin)
Then the kernel source code 6.1.A.0.452 from developer.sonymobile.com/downloads/xperia-open-source-archives/open-source-archive-for-build-6-1-a-0-452-6-1-a-0-453-and-6-1-a-0-454
and I execute:
cd kernel
ARCH=arm CROSS_COMPILE=~/Toolchain/ARM_GNU_Linux/bin/arm-none-linux-gnueabi- make fuji_nozomi_defconfig
ARCH=arm CROSS_COMPILE=~/Toolchain/ARM_GNU_Linux/bin/arm-none-linux-gnueabi- make
Then I have the following error:
CC arch/arm/mm/proc-syms.o
CC arch/arm/mm/alignment.o
arch/arm/mm/alignment.c: In function 'do_alignment':
arch/arm/mm/alignment.c:298:15: warning: 'offset.un' may be used uninitialized in this function [-Wuninitialized]
error, forbidden warning: alignment.c:298
make[1]: *** [arch/arm/mm/alignment.o] Error 1
make: *** [arch/arm/mm] Error 2
Many thanks in advance for your help
zongojim said:
Hello,
I encounter the same kind of issue. Does anyone could help me ?
I work in an Ubuntu PC (10.04).
I have downloaded the toolchain for Linux from sourcery.mentor.com (arm-2012.03-57-arm-none-linux-gnueabi.bin)
Then the kernel source code 6.1.A.0.452 from developer.sonymobile.com/downloads/xperia-open-source-archives/open-source-archive-for-build-6-1-a-0-452-6-1-a-0-453-and-6-1-a-0-454
and I execute:
cd kernel
ARCH=arm CROSS_COMPILE=~/Toolchain/ARM_GNU_Linux/bin/arm-none-linux-gnueabi- make fuji_nozomi_defconfig
ARCH=arm CROSS_COMPILE=~/Toolchain/ARM_GNU_Linux/bin/arm-none-linux-gnueabi- make
Then I have the following error:
CC arch/arm/mm/proc-syms.o
CC arch/arm/mm/alignment.o
arch/arm/mm/alignment.c: In function 'do_alignment':
arch/arm/mm/alignment.c:298:15: warning: 'offset.un' may be used uninitialized in this function [-Wuninitialized]
error, forbidden warning: alignment.c:298
make[1]: *** [arch/arm/mm/alignment.o] Error 1
make: *** [arch/arm/mm] Error 2
Many thanks in advance for your help
Click to expand...
Click to collapse
You need android-ndk-r5b to compile the Xperia kernel source. I.e. you can not use the latest NDK.
Thanks a lot for your answer
Unfortunately, I didn't find android-ndk-r5b for Linux.
Could you kindly indicate me where I can get it ?
thanks !
zongojim said:
Thanks a lot for your answer
Unfortunately, I didn't find android-ndk-r5b for Linux.
Could you kindly indicate me where I can get it ?
thanks !
Click to expand...
Click to collapse
http://dl.google.com/android/ndk/android-ndk-r5b-linux-x86.tar.bz2
Thanks again, I really apreciate your support !
I have downladed and extracted android-ndk-r5b to my Ubuntu station.
it seems that is is not a built version, right ?
I have tried to navigate in the documentation, but it does not look so trivial...
Would you know how to simply compile it ?
zongojim said:
Thanks again, I really apreciate your support !
I have downladed and extracted android-ndk-r5b to my Ubuntu station.
it seems that is is not a built version, right ?
I have tried to navigate in the documentation, but it does not look so trivial...
Would you know how to simply compile it ?
Click to expand...
Click to collapse
It's compiled ready to use.
Read the documentation at http://developer.sonymobile.com/wp/2011/05/06/how-to-build-a-linux-kernel/
Replace the toolchain path with e.g. "CROSS_COMPILE=/opt/android-ndk-r5b/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/arm-linux-androideabi-" and you are good to go.
ok nice.
Then I tried again and... I've got a different error !
Here is what I have done:
$ ARCH=arm CROSS_COMPILE=~/Toolchain/arm-2011.03-41-arm-none-linux-gnueabi/bin/arm-none-ARCH=arm CROSS_COMPILE=~/Toolchain/android-ndk-r5b/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/arm-linux-androideabi- make fuji_nozomi_defconfig
arch/arm/mach-msm/Kconfig:2107:warning: defaults for choice values not supported
arch/arm/mach-msm/Kconfig:2113:warning: defaults for choice values not supported
#
# configuration written to .config
#
$ ARCH=arm CROSS_COMPILE=~/Toolchain/android-ndk-r5b/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/arm-linux-androideabi- make clean
$ ARCH=arm CROSS_COMPILE=~/Toolchain/android-ndk-r5b/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/arm-linux-androideabi- make
scripts/kconfig/conf --silentoldconfig Kconfig
arch/arm/mach-msm/Kconfig:2107:warning: defaults for choice values not supported
arch/arm/mach-msm/Kconfig:2113:warning: defaults for choice values not supported
make[1]: `include/generated/mach-types.h' is up to date.
arch/arm/kernel/return_address.c:62:2: warning: #warning "TODO: return_address should use unwind tables"
arch/arm/mach-msm/qdsp6v2/audio_acdb.c: In function 'store_vocvol_cal':
/prj/mms/smdswv/users/jmgrimaud/Xperia/6.1.A.0.452/kernel/arch/arm/include/asm/atomic.h:249: error: 'asm' operand requires impossible reload
make[2]: *** [arch/arm/mach-msm/qdsp6v2/audio_acdb.o] Error 1
make[1]: *** [arch/arm/mach-msm/qdsp6v2] Error 2
make: *** [arch/arm/mach-msm] Error 2
zongojim said:
ok nice.
Then I tried again and... I've got a different error !
Here is what I have done:
$ ARCH=arm CROSS_COMPILE=~/Toolchain/arm-2011.03-41-arm-none-linux-gnueabi/bin/arm-none-ARCH=arm CROSS_COMPILE=~/Toolchain/android-ndk-r5b/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/arm-linux-androideabi- make fuji_nozomi_defconfig
arch/arm/mach-msm/Kconfig:2107:warning: defaults for choice values not supported
arch/arm/mach-msm/Kconfig:2113:warning: defaults for choice values not supported
#
# configuration written to .config
#
$ ARCH=arm CROSS_COMPILE=~/Toolchain/android-ndk-r5b/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/arm-linux-androideabi- make clean
$ ARCH=arm CROSS_COMPILE=~/Toolchain/android-ndk-r5b/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/arm-linux-androideabi- make
scripts/kconfig/conf --silentoldconfig Kconfig
arch/arm/mach-msm/Kconfig:2107:warning: defaults for choice values not supported
arch/arm/mach-msm/Kconfig:2113:warning: defaults for choice values not supported
make[1]: `include/generated/mach-types.h' is up to date.
arch/arm/kernel/return_address.c:62:2: warning: #warning "TODO: return_address should use unwind tables"
arch/arm/mach-msm/qdsp6v2/audio_acdb.c: In function 'store_vocvol_cal':
/prj/mms/smdswv/users/jmgrimaud/Xperia/6.1.A.0.452/kernel/arch/arm/include/asm/atomic.h:249: error: 'asm' operand requires impossible reload
make[2]: *** [arch/arm/mach-msm/qdsp6v2/audio_acdb.o] Error 1
make[1]: *** [arch/arm/mach-msm/qdsp6v2] Error 2
make: *** [arch/arm/mach-msm] Error 2
Click to expand...
Click to collapse
Only specify ONE toolchain ...
Also, I'm note quite sure if I used 4.4.0 or 4.4.3, since both are included in the same r5b distribution. You can also try;
CROSS_COMPILE=~/Toolchain//android-ndk-r5b/toolchains/arm-eabi-4.4.0/prebuilt/linux-x86/bin/arm-eabi-
Thank you kuisma.
Sorry it was a copy/paste error, I had for sure specified only one toolchain.
So I am making a new test with CROSS_COMPILE=~/Toolchain/android-ndk-r5b/toolchains/arm-eabi-4.4.0/prebuilt/linux-x86/bin/arm-eabi-
I'll keep you informed
---------- Post added at 11:51 AM ---------- Previous post was at 11:15 AM ----------
It built, thanks again for your support, kuisma !
Not sure it is still in the scope of this topic, but continuing to execute the instructions found in developer.sonymobile.com/2011/05/06/how-to-build-a-linux-kernel/, I have some questions regarding Step C, absolutly not clear for me
What should I do exactly to prepare my boot.img ? What have I to do to create a ramdisk.img file, or where can I find it ? (in fact I do not know what it the ramdisk in the picture...is it required ?)
zongojim said:
Thank you kuisma.
Sorry it was a copy/paste error, I had for sure specified only one toolchain.
So I am making a new test with CROSS_COMPILE=~/Toolchain/android-ndk-r5b/toolchains/arm-eabi-4.4.0/prebuilt/linux-x86/bin/arm-eabi-
I'll keep you informed
---------- Post added at 11:51 AM ---------- Previous post was at 11:15 AM ----------
It built, thanks again for your support, kuisma !
Not sure it is still in the scope of this topic, but continuing to execute the instructions found in developer.sonymobile.com/2011/05/06/how-to-build-a-linux-kernel/, I have some questions regarding Step C, absolutly not clear for me
What should I do exactly to prepare my boot.img ? What have I to do to create a ramdisk.img file, or where can I find it ? (in fact I do not know what it the ramdisk in the picture...is it required ?)
Click to expand...
Click to collapse
Start with the original root filesystem from the standard boot.img you are already running.
You'll find my tool working with boot.img here: http://whiteboard.ping.se/Android/Unmkbootimg
Also, read the links on the page my signature links to, to get more information about how to build boot images, root file systems etc.
The ramdisk contains the root filesystem, and yes, it's very much needed.
Ok understood
last point: how to retrieve the boot.img from my Xperia S phone ? (that is already unlocked)
zongojim said:
Ok understood
last point: how to retrieve the boot.img from my Xperia S phone ? (that is already unlocked)
Click to expand...
Click to collapse
Last? Ok, I'll take your word for it.
http://www.youtube.com/watch?v=bB77gWRUI_A
Remember, Google is your friend.
help me somebody please
i'm trying to build custom kernel for my xperia M dual
got sources from sony's website, doing build by guide
here is an error:
Code:
In file included from drivers/usb/gadget/android.c:51:0:
drivers/usb/gadget/f_qdss.c: In function 'qdss_bind_config':
drivers/usb/gadget/f_qdss.c:586:38: warning: argument to 'sizeof' in 'strncmp' call is the same expression as the second source; did you mean to provide an explicit length? [-Wsizeof-pointer-memaccess]
error, forbidden warning: f_qdss.c:586
make[3]: *** [drivers/usb/gadget/android.o] Error 1
make[2]: *** [drivers/usb/gadget] Error 2
make[1]: *** [drivers/usb] Error 2
make: *** [drivers] Error 2
is it an NDK version issue?
I'm running:
Code:
make -j8 ARCH=arm CROSS_COMPILE=/home/dev/MentorGraphics/Sourcery_CodeBench_Lite_for_ARM_GNU_Linux/bin/arm-none-linux-gnueabi-
thanks

Guide on how I build my own CM10 test builts

This is a follow up on my "old" "Guide on how I build my own CM9 test builts" thread.
Guide how I build CM10 for my Mango.
For the first time you try to build CM10.
Create ~/bin and download repo to that directory. Afterwards set executable bit to make it possible to ”execute”.
Code:
mkdir -p ~/bin
curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
chmod a+x ~/bin/repo
Now reboot the computer.
Create ~/android/system and initialize the repository.
Code:
mkdir -p ~/android/system
cd ~/android/system/
repo init -u git://github.com/CyanogenMod/android.git -b jellybean
Unpack the attached local_manifest.xml.bz2 and place local_manifest.xml into ~/android/system/.repo
Synchronise towards the current git repositories.
Code:
repo sync
Setup the environmental settings and initialize the Mango build.
Code:
. build/envsetup.sh
breakfast mango
Initialize the Mango build.
Code:
cd ~/android/system/device/semc/mango/
./setup-makefiles.sh
Download the prebuilts
Code:
~/android/system/vendor/cm/get-prebuilts
Check for new changes
Code:
cd ~/android/system/
repo sync
Setup the environment again and build the ROM (takes long time)
Code:
. build/envsetup.sh
brunch mango
You will now find the build here (change DATE into the date).
~/android/system/out/target/product/mango/cm-10-DATE-UNOFFICIAL-mango.zip
The next times you try to build it, you only need to do the following.
Delete build.prop, if not will build.prop not get generated.
Code:
rm -f ~/android/system/out/target/product/mango/system/build.prop
Syncronise the git repositories.
Code:
cd ~/android/system/
repo sync
Setup the environmental settings.
Code:
. build/envsetup.sh
Configure/build.
Code:
brunch mango
You will now find the build here (change DATE into the date).
~/android/system/out/target/product/mango/cm-10-DATE-UNOFFICIAL-mango.zip
EDIT (August 14. 2012): If the boot.img is not booting, is it most likely due to the bootloader bug.
To make it "work", do the following (replace mango with your own device)
Code:
cd out/target/product/mango/
rm -f ./boot.img ./combinedroot.cpio ./combinedroot.fs ./ramdisk.img
cp ./root/logo.rle ./root/waste_of_space1
cp ./root/logo.rle ./root/waste_of_space2
cp ./combinedroot/logo.rle ./combinedroot/waste_of_space1
cp ./combinedroot/logo.rle ./combinedroot/waste_of_space2
cd ../../../..
brunch mango
just a technical: is it really necessary to reboot the computer after downloading the repo binary? and if so, why is that??
bokrug said:
just a technical: is it really necessary to reboot the computer after downloading the repo binary? and if so, why is that??
Click to expand...
Click to collapse
It is only necessary on some Linux distributions, where you will not be able to execute anything from that directory, before a reboot. You can try to see if you can do it without. If it is working, do you not need it.
hnl_dk said:
It is only necessary on some Linux distributions, where you will not be able to execute anything from that directory, before a reboot. You can try to see if you can do it without. If it is working, do you not need it.
Click to expand...
Click to collapse
There's no really need to reboot - edit .bashrc in your home directory and add
Code:
export PATH=~/bin/:$PATH
Save, then run:
Code:
source ~/.bashrc
It have to work on all distros
pikpok said:
There's no really need to reboot - edit .bashrc in your home directory and add
Code:
export PATH=~/bin/:$PATH
Save, then run:
Code:
source ~/.bashrc
It have to work on all distros
Click to expand...
Click to collapse
I just want to show the "universal" way.
Not everyone is using bash
hnl_dk said:
I just want to show the "universal" way.
Not everyone is using bash
Click to expand...
Click to collapse
If someone use another shell, e.g. zsh, then he'll know what files he have to edit IMO rebooting is wasting time.
pikpok said:
If someone use another shell, e.g. zsh, then he'll know what files he have to edit IMO rebooting is wasting time.
Click to expand...
Click to collapse
no it is not, as you do not need to edit any files. It will work automatically.
It is as much a waste of time to edit the resource-definition scripts.
hnl_dk said:
no it is not, as you do not need to edit any files. It will work automatically.
It is as much a waste of time to edit the resource-definition scripts.
Click to expand...
Click to collapse
Reboot - about 1 min
Edit one file and paste single command in terminal - for me it's 10secs
But it comes to offtop discussion, so it would be better to end it now
@edit - now when I think about it... bin in home folder won't be added to PATH automatically, at least in Arch Linux. Maybe Ubuntu is more "intelligent" :laugh:
pikpok said:
Reboot - about 1 min
Edit one file and paste single command in terminal - for me it's 10secs
But it comes to offtop discussion, so it would be better to end it now
@edit - now when I think about it... bin in home folder won't be added to PATH automatically, at least in Arch Linux. Maybe Ubuntu is more "intelligent" :laugh:
Click to expand...
Click to collapse
It does not take that long for me to make a reboot
No matter what, is it always good to have more methods to make something work.
It did the last time I tried Arch Linux... and no I am not using Ubuntu (too flashy for me )
Assuming that there is an entry in your ~/.profile that adds ~/bin to PATH, a reboot won't do anything that logout/login wouldn't. Furthermore, logout/login (in this case) won't do anything that sourcing ~/.profile wouldn't. So, simply issuing "source ~/.profile" is sufficient on most distributions. If you are using a distribution or a shell that doesn't do this by default, then you probably already know what you need to do.
I do, however, commend hnl_dk's efforts to make things simpler for newcomers to Android and Linux, even if it's not the the "fastest" or the "best" way. Whenever you start getting into one of those "what if?" arguments, things tend to spiral out of control. Sometimes it's better to just make a few assumptions and go with what is most likely to work.
A reboot might be a bit of an overkill, though. :laugh:
Can't run 64-bit prebuilts on my 32-bit Linux
I have a 32-bit Linux box so get the errors:
/bin/bash: prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.6/bin/arm-linux-androideabi-gcc: cannot execute binary file
Had a quick look around, but are there gcc etc. prebuilts for 32-bit Linux boxes?
TIA,
AK-A
ak-a said:
I have a 32-bit Linux box so get the errors:
/bin/bash: prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.6/bin/arm-linux-androideabi-gcc: cannot execute binary file
Had a quick look around, but are there gcc etc. prebuilts for 32-bit Linux boxes?
TIA,
AK-A
Click to expand...
Click to collapse
Did you try to build it as described?
It is working fine on my 32bit debian machine.
If not, please describe hos you try it build it.
hnl_dk said:
Did you try to build it as described?
It is working fine on my 32bit debian machine.
If not, please describe hos you try it build it.
Click to expand...
Click to collapse
Yeah, followed the instructions as per the first post. Will re-try and see if I missed/messed something and report back.
Hey !!! Do you think I should post my AOSP errors in this thread...so that its easier for us to keep track..?? :highfive:
As this is a Tutorial Thread for "how to build cm10 on your own" I don't think it makes sense posting errormessages of errm. "android open source project"? As I am writing this I recognize that I do not really understand what you mean.
CosmoDroid said:
Hey !!! Do you think I should post my AOSP errors in this thread...so that its easier for us to keep track..?? :highfive:
Click to expand...
Click to collapse
Like Snoopo is saying, should that be in this thread. Compiling AOSP is not as "user friendly" as CM, as our devices are officially supported by CM and not AOSP.
If you want, can you make a new thread about compiling "AOSP - Jelly bean".
i always stop at "repo sync"
i always stop at "repo sync"
and it always tell me
"Fetching projects: 21% (66/313) fatal: unable to connect to github.com:
github.com[0: 207.97.227.239]: errno=??????"
can you help me
thanks
shufuking said:
i always stop at "repo sync"
and it always tell me
"Fetching projects: 21% (66/313) fatal: unable to connect to github.com:
github.com[0: 207.97.227.239]: errno=??????"
can you help me
thanks
Click to expand...
Click to collapse
Same also happens for me, then I try again and again and again and then it is working.
Lots of people are accessing github, and there is only a limited "whole" for the data to get through.
hnl_dk said:
Same also happens for me, then I try again and again and again and then it is working.
Lots of people are accessing github, and there is only a limited "whole" for the data to get through.
Click to expand...
Click to collapse
thanks for your suggestion
finally i make it.
another question.
when i perform " brunch smultron"
i got lots of "cannot execute binary file"
and final "make: *** [out/target/product/smultron/obj/lib/crtbegin_static.o] Error 126"
do you know what it means?
shufuking said:
thanks for your suggestion
finally i make it.
another question.
when i perform " brunch smultron"
i got lots of "cannot execute binary file"
and final "make: *** [out/target/product/smultron/obj/lib/crtbegin_static.o] Error 126"
do you know what it means?
Click to expand...
Click to collapse
without more details, my best guess is that you may be building it on a FAT32 or NTFS partition?
then there is a good chance that linux is not able to read the executable bits.

Kernel compile error

Hello everyone. I have just started taking interest in the android world and have started to learn how to compile kernels.
I own a SAMSUNG GALAXY S2 I9100G.
I have downloaded the aosp kernel source for my mobile from the cyanogenmod's github.
And followed guides to compile.
(i was able to compile a stock kernel but am having problems in compilling an aosp kernel )
I follow these commands:-
1. Make cyanogenmod_i9100g_defconfig
2. Make menuconfig
3. Make -j4
And this is the error i get
Code:
/home/incarnation95/Downloads/arm-2011.03/bin/arm-none-eabi-ld: cannot open linker script file /arch/arm/mach-omap2/sec_omap.lds: No such file or directory
make[1]: *** [arch/arm/mach-omap2/mailbox_mach.o] Error 1
make: *** [arch/arm/mach-omap2] Error 2
Can anyone help mr figure out where the problem might be?
I did search 4-5 times before posting here but didnt find any solution.
Thanks in advance
Was chatting with incarnation95 offline, on resolving this issue, so here's for the benefit of others facing this same problem .
Go and open up the Makefile.sec , for my case the absolute path was :
/home/currway/kernelmod/fuss132/arch/arm/mach-omap2# vi Makefile.sec
In the content , find this line below and edit it to have the absolute path instead , so that sec_omap.lds can be references correctly:
dflags-$(CONFIG_MACH_OMAP4_SAMSUNG) += \
-T /home/currway/kernelmod/fuss132/arch/arm/mach-omap2/sec_omap.lds

[ISSUE] Compile cyanoboot: No rule to make target

Hi,
I'm trying to compile the cyanoboot project found at: github.com/CMNookTablet/acclaim_cyanoboot. I have no experience with c++ compiling but I've followed the read-me and seem to have hit a brick wall. I've extracted the downloaded source files and navigated to them in cygwin, I then run the command:
make clean
which looks like it is successful. After that I run
make omap4430sdp_config
which also seems to work but doesn't create any files(not sure if it should?). Then, when I run the final make command I get the error:
makefile:98: /cygdrive/c/cyanoboot/config.mk: No such file or directory
make: *** No rule to make target `/cygdrive/c/cyanoboot/config.mk'. Stop.
This config.mk file definitely does exist, you can see it at the git hub link above and I haven't changed any files. I've been struggling with this for a few hours now and I just cant figure it out. Any help is much appreciated. Thanks.

Categories

Resources