rebuilt kernel - some binaries do not execute anymore

Posted on 2011-10-08
Medium Priority
Last Modified: 2013-12-15
Hello experts!

I have rebuilt the kernel (from Debian sources, v2.6.32) to remove all the drivers I don't use. It works fine, but the Android SDK's adb does not start anymore, it says "adb: cannot execute binary file". When I booted the stock Debian kernel back, adb loads just fine. I've attached the config file of my rebuilt kernel.

Question by:zc2
  • 3
  • 2
  • 2
LVL 13

Expert Comment

by:Hugh McCurdy
ID: 36937447
Change to the folder with adb.  Might be something like this (except it almost certainly won't have hmccurdy in the path)


$ ldd  adb

See if any of the libraries aren't found.  

You can also type
$ file adb
However, I don't think they have a 64bit version.  Mine says 32bits.  Might want to check that and make sure your kernel build is OK with 32 bit binaries.

LVL 81

Expert Comment

ID: 36938431
The kernel will/should not affect the execution of a program unless the program is trying to attach to an external peripheral that your rebuilt kernel no longer supports/sees.
i.e. the docking station. You removed the USB related modules/drivers from the kernel.
You only have one USB module defined for bluetooth while others are not set.

The path hmccurdy would be correct if the failure you experience occurs following OS Software updates. i.e. updated GLIB, GCC, other libraries to newer versions that include deprecating libraries etc.
LVL 81

Expert Comment

ID: 36938448
you could use
strace -f adb
and see what it is doing when it fails.
Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.

LVL 19

Author Comment

ID: 36938654
Thank you guys for the answers, I will try your suggestiorns later today. Most probably i forgot to enable the 32bit support in my 64 bit kernel. could you please navigate me to the settings in menuconfig, if there any?
LVL 13

Accepted Solution

Hugh McCurdy earned 1000 total points
ID: 36938715
Yes, I think the 32bit support is likely an issue since replacing the kernel is all that's wrong.

If that doesn't solve it, could you share both config files?  (I realize you might not have the stock config available but if you do it would help to have it.)
LVL 81

Assisted Solution

arnold earned 1000 total points
ID: 36938835
CONFIG_X86_32  is the only thing that is not set, while you have others.

LVL 19

Author Closing Comment

ID: 36938882
Thank you very much, I've recompiled the kernel with IA32 support and now adb launches as it should.
I still have another minor issue with the new kernel, going to post a separate question.

Featured Post


Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Creating a Cordova application which allow user to save to/load from his Dropbox account the application database.
Cron is one of the most popular and basic utilities found on Unix systems. Combined with other tools, cron makes it exceptionally easy to automate a broad range of tasks on your server.
This demo shows you how to set up the containerized NetScaler CPX with NetScaler Management and Analytics System in a non-routable Mesos/Marathon environment for use with Micro-Services applications.
When you create an app prototype with Adobe XD, you can insert system screens -- sharing or Control Center, for example -- with just a few clicks. This video shows you how. You can take the full course on Experts Exchange at http://bit.ly/XDcourse.
Suggested Courses

621 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question