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 (https://www.ti.com/tool/download/PROCESSOR-SDK-LINUX-AM335X/09.03.05.02). 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 github.com/beagleboard files too (read only).
Look here: https://github.com/beagleboard/linux/blob/master/arch/arm/configs/omap2plus_defconfig
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…