Rebuild kernel on beaglebone black

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…