A specific project of ours requires a rather “complex” SD card setup. The specific requirement is in the form of RAID1 with underlining dm_integrity. Building it from an OpenWRT (non-Teltonika source base) was confirmed. However, we would like to keep the Teltonika source baseline for commercial support and remote manage capablity reasons.
Changing the “feeds.conf.default” to the latest (non-tagged) versions seem to allow the cryptsetup to be selected. However, then the question becomes, what, if any of the patches that Teltonika provides are impacted, and secondly, the build fails as it could not find the libpopt library: “configure: error: You need popt 1.7 or newer to compile.”
Do anyone here have a solution to the compilation problem, or would Teltonika enable cryptsetup as part of their SDK capability?
I received feedback that the SDK is provided specifically for such cases, so this is not considered a workaround but rather part of the standard custom development process.
If storage space is a concern, you can remove unnecessary packages based on your specific use case to optimize resources.
Additionally, if the project you’re working on is large-scale and may involve purchasing more devices, I recommend reaching out to our sales team by filling out the contact form here: Contact Us – Teltonika Networks
They may be able to coordinate the development of a custom firmware tailored for your project, which could help streamline your development process.
Understood. However, would you mind sharing with me how I add the libpopt to the feeds? integritysetup is not available via the openwrt opkg feeds, and it seems that libpopt feed for the SDK is missing.
Yes, I see now, thanks. It was in the Openwrt source tree, but not in the packages feed that was specified. I created my own custom feed and copied the contents of the popt/libpopt in there. It is now building fine and correctly. Thank you.
For others that need to do this, you will have to add the popt as part of the “./scripts/dockerbuild ./scripts/feeds install popt” command so that it is known for the building of cryptsetup (obviously you have to ./scripts/dockerbuild ./scripts/feeds install cryptsetup) when your feeds are not tagged.
Hi, this is not an assistance thing, but for others to maybe benefit from this or even help improve upon it. dm-integrity isn’t “enabled” by default, and there is no option for it within the menuconfig.
So, we cheated …
We edited the ./package/kernel/linux/modules/block.mk file and changed the following:
That made it so that the dm-integrity module be built as part of the kmod-dm … however, this is not an elegant solution, as dm-integrity should probably have its own “define KernelPackage/dm-integrity” … but it is working and we have integrity devices now …