Avatar of zc2
zc2Flag for United States of America

asked on 

rebuilt kernel - some binaries do not execute anymore

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.




config-2.6.32-custom.txt
LinuxAndroid

Avatar of undefined
Last Comment
zc2
Avatar of Hugh McCurdy
Hugh McCurdy
Flag of United States of America image

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

/home/hmccurdy/java/android-sdk-linux_x86/platform-tools

$ 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.

Avatar of arnold
arnold
Flag of United States of America image

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.
Avatar of arnold
arnold
Flag of United States of America image

you could use
strace -f adb
and see what it is doing when it fails.
Avatar of zc2
zc2
Flag of United States of America image

ASKER

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?
ASKER CERTIFIED SOLUTION
Avatar of Hugh McCurdy
Hugh McCurdy
Flag of United States of America image

Blurred text
THIS SOLUTION IS ONLY AVAILABLE TO MEMBERS.
View this solution by signing up for a free trial.
Members can start a 7-Day free trial and enjoy unlimited access to the platform.
See Pricing Options
Start Free Trial
SOLUTION
Avatar of arnold
arnold
Flag of United States of America image

Blurred text
THIS SOLUTION IS ONLY AVAILABLE TO MEMBERS.
View this solution by signing up for a free trial.
Members can start a 7-Day free trial and enjoy unlimited access to the platform.
Avatar of zc2
zc2
Flag of United States of America image

ASKER

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.
Linux
Linux

Linux is a UNIX-like open source operating system with hundreds of distinct distributions, including: Fedora, openSUSE, Ubuntu, Debian, Slackware, Gentoo, CentOS, and Arch Linux. Linux is generally associated with web and database servers, but has become popular in many niche industries and applications.

71K
Questions
--
Followers
--
Top Experts
Get a personalized solution from industry experts
Ask the experts
Read over 600 more reviews

TRUSTED BY

IBM logoIntel logoMicrosoft logoUbisoft logoSAP logo
Qualcomm logoCitrix Systems logoWorkday logoErnst & Young logo
High performer badgeUsers love us badge
LinkedIn logoFacebook logoX logoInstagram logoTikTok logoYouTube logo