How to Cross-Compile OpenWRT (python) packages for Omega2+
-
The documentation is lacking this part and also on mentioning somewhere in an easy way what packages are available to install with opkg.
The documentation at https://docs.onion.io/omega2-docs/cross-compiling.html# is not update with the one of the repo so ignore it initially.
I use Debian Sid (linux) so I ignore the part about Docker and download everything. Executing the commands in the readme at https://github.com/OnionIoT/source let me to compile everything, instead use the first link above was generating errors.
I was needing to cross compile python3-evdev and I don't understand why the full set of packages for OpenWRT also if available in the repo are not compiled for Omega by the vendor.
Anyway after a while my workstation compiled everything and also the SDK (to avoid any issue).
After compile the minimum build you can pick all the packages from the OpenWRT repo like the one I was needing withmake menuconfig
.
Searching there enable to you to mark all the packages that you need to be compiled.
Next amake -jN
where is Number of your CPUs + 1 let to compile all of them and you can find in thebin
directory.
Lateropkg install *.ipk
inside your omega (after that you copied the packages that you need in the sd card as example) and that's it.For me was the first time on cross compiling stuff and wasn't easy to understand because it was not clear how to generate packages instead compile custom programs (explained in the wiki).
PS: for who is looking to the python(3)-evdev packages check at https://github.com/Mte90/omega2-python-evdev