I’m trying to rebuild the kernel on the beagle bone black. I tried using these instructions but i’m stuck at the installation of the .bin file from the am335x linux sdk (PROCESSOR-SDK-LINUX-AM335X Software development kit (SDK) | TI.com). I’m getting the following error:
bash: ./ti-processor-sdk-linux-am335x-evm-09.03.05.02-Linux-x86-Install.bin: cannot execute binary file: Exec format error
I tried multiple versions 09.03.05.02, 09.01.00.001, 08.02.00.24, and 07.03.00.005 and I get the same error. Any help would be amazing thank you.
Those bin files are x86 install binaries… Run it first on an x86 machine.
Regards,
I am using the beaglebone black that is using the am3358 processor and it is 32bit processor. Isn’t it already an x86 machine?
No it’s a 32bit ARM, Cortex-A8, way different micro architecture then x86.
How exactly are you running this .bin file? I will chmod +x filename.bin and then ./filename.bin. I did this in vmware with a 32 bit version of linux with no success (the pc is 64 bit). I also took a laptop (64 bit) with linux and put 32 bit version on a bootable usb with no success. I dont have a 32 bit pc or laptop available to me atm.
I have had this issue with older versions of specific files while multilib
was needed.
Also, from a short search, I found this idea:
sudo dpkg --add-architecture i386 && sudo apt update
followed by:
sudo apt install <package-name>:i386
If you are using a newer version of Debian (Trixie), I cannot help. I am still learning the way to handle specifics on i386 varieties.
Seth
P.S. If you are building on the am335x BBB, I cannot help either. That seems like it would take days just to compile the kernel. You can always cross_compile your images on a Debian machine and then port it to the am335x BBB for installation.
something like…
make ARCH=arm CROSS_COMPILE=<YOUR_TOOLCHAIN>- menuconfig
or...since the am335x is in the kernel, one could always use the defconfig.
like so:
make ARCH=arm CROSS_COMPILE=<YOUR_TOOLCHAIN>- some_defconfig
make -j$(nproc)
I see there are BeagleBoard.org · GitHub files too (read only).
Look here: linux/arch/arm/configs/omap2plus_defconfig at master · beagleboard/linux · GitHub
That should be your defconfig starter derived by beagleboard.org personnel.
It should help I think. Also, I found these ideas:
3.2.1. Users Guide — Processor SDK Linux for AM335X Documentation
Try file ./filename.bin
to see what kind of architecture it requires to run…
I did file ./filename.bin on the ti processor bin file and it says ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), statically linked, no section header. I tried running it on a 64 bit version of linux on a vm no luck. I tried using qemu sudo qemu-x86_64 filename.bin on the vm no luck there as well.
And that host the VM is running on has a what CPU?
Like Robert already told you, I’m still thinking you’re trying to run
x86 code on an ARM platform. That’s just not possible.
voodoo@hestia:~/Downloads$ sha256sum ti-processor-sdk-linux-am335x-evm-09.03.05.02-Linux-x86-Install.bin
aab745e9c4d5184eee76eec725423b3f46185dbf72dc7e975f9eb1d7b5be4ee9 ti-processor-sdk-linux-am335x-evm-09.03.05.02-Linux-x86-Install.bin
voodoo@hestia:~/Downloads$ file ti-processor-sdk-linux-am335x-evm-09.03.05.02-Linux-x86-Install.bin
ti-processor-sdk-linux-am335x-evm-09.03.05.02-Linux-x86-Install.bin: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), statically linked, no section header
voodoo@hestia:~/Downloads$ chmod +x ti-processor-sdk-linux-am335x-evm-09.03.05.02-Linux-x86-Install.bin
voodoo@hestia:~/Downloads$ uname -a
Linux hestia 6.16.7-r1 #10 SMP PREEMPT_DYNAMIC Tue Sep 16 08:52:50 CDT 2025 x86_64 GNU/Linux
voodoo@hestia:~/Downloads$ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux 13 (trixie)
Release: 13
Codename: trixie
In case your x11/wayland is the issue, you can use these options:
voodoo@hestia:~/Downloads$ ./ti-processor-sdk-linux-am335x-evm-09.03.05.02-Linux-x86-Install.bin --unattendedmodeui none --mode text
----------------------------------------------------------------------------
Welcome to the ti-processor-sdk-linux-am335x-evm-09.03.05.02 Setup Wizard.
----------------------------------------------------------------------------
Linux Environment Support Message
It is highly recommend that the install this SDK into a Ubuntu 22.04
distribution environment. This is the environment that was used to develop and
test this SDK.
Please note that this suggestion does not prevent the SDK from installing on
other Linux Distributions.
Press [Enter] to continue:
Regards,
I downloaded debian 13 amd 64 and created a vm in vmware with it and was able to install the sdk. Amd64 is equivalent to x86_64 apparently.
Regards,