Open Source

In the competitive and fast-paced embedded industry, it’s crucial for businesses to focus on delivering innovative, next-generation solutions that set their products apart from the competition.

At Amarula Solutions, we understand the importance of developing engaging features that can make the difference between a successful launch and a failed one. That’s why we believe in rapid development of next-generation solutions, starting at the root level of the system’s software environment – the Linux kernel and Bootloader U-Boot. By advocating for open source principles and believing in “Everything in Mainline”.

Our methodology offers significant advantages for our customers, including lower maintenance costs and higher quality code. We have found that mainlining code changes requires a small amount of time in the product development cycle, which is profitable in the long run. By prioritizing open source development and working closely with the community, we can help our customers stay ahead of the curve and deliver innovative solutions that set them apart from the competition.

Mainline

Mainlining refers to the process of integrating code changes made in a particular fork or branch of a project into the mainline of the project. This allows for improvements to be made to the codebase while still ensuring the overall stability and functionality of the project.

Although getting code changes into the official Mainline kernel, uboot, and other community maintained software can be a challenging process, it is essential to ensure that the code is thoroughly tested, documented, and compatible with other software components. By following this process, we ensure that our code changes are of high quality and are accepted into the official Mainline kernel and other software projects.

At Amarula Solutions, we have been working closely with the kernel, U-Boot, and other open source communities for years. We are dedicated to mainlining our open source solutions and continuously maintaining the code based on the requirements of our clients. By doing so, we can guarantee that our solutions are optimized, free of bugs, well-reviewed, and that our clients have access to the best possible software solutions. Therefore we advocate: “Everything in Mainline”.


Open source Multimedia

In today’s internet-driven generation, multimedia technology is evolving at a rapid rate, with new multimedia standards constantly being introduced. This can create challenges for businesses, who must adapt their applications to meet these new standards.

At Amarula Solutions, we understand the importance of staying ahead of the curve when it comes to multimedia development. That’s why we are currently working on a generic, modular, and open source multimedia framework that will enable easy compatibility between multimedia applications and various multimedia standards.

Our framework is being designed with the end-user in mind, with a set of standard APIs and a modular architecture that can be easily customized to support new video, audio, and container formats. Additionally, we are optimizing the framework for memory usage and CPU performance to ensure a seamless user experience for audio/video editors, transcoding applications, and streaming.

By developing this framework, we aim to simplify multimedia development for developers and provide a superior experience for end-users. Whether you’re a content creator, multimedia developer, or organization looking for multimedia solutions, Amarula Solutions has the expertise and experience to help you achieve your goals with our innovative multimedia solutions.


System Security

Today’s world is internet woven and lots of data exchanges happen via wired or wireless. In such circumstances data security breaches are unfortunately all too common, it is essential to take proactive measures to ensure the security of embedded systems.

We are taking security seriously by implementing techniques such as Verified Boot, Kernel module validation, and executing only signed binaries. These are all important measures for ensuring the integrity, authenticity, and confidentiality of embedded system data.

Our team is staying up to date with the latest developments in embedded Linux security. As security threats continue to evolve and become more sophisticated, it’s essential to stay vigilant and proactive in identifying and addressing potential vulnerabilities in embedded systems.


Build Automation

A build system automation framework can help simplify the process of building and deploying Embedded Linux systems, reducing the time and effort required for the task. By seamlessly integrating various build system components, we achieve greater efficiency and consistency in the build process, resulting in higher-quality images and faster time to market.

There are various build system frameworks available of which Buildroot and Yocto are the most popular ones. Each one of the systems have their own advantages and disadvantages. Here at Amarula Solutions we are working on designing our own automation framework by considering factors as flexibility, scalability, ease of use, customizability.

We aim to achieve a more efficient and streamlined build process, enabling you to deliver high-quality Embedded Linux systems more quickly and effectively.


Continuous Delivery

At Amarula Solutions, we understand the importance of efficient and secure software development in modern businesses. Therefore, we have developed our own comprehensive CI/CD pipeline called Amarula Continuous Delivery. This powerful product is available to our customers to help them seamlessly integrate a fully integrated development environment with automated organizational tasks, such as account management and hour reporting.

Amarula’s Continuous Delivery is a powerful suite of tools that streamlines software development. Our pipeline includes a range of tools that are designed to make the development process as smooth and efficient as possible.

The pipeline incorporates private network integration to ensure secure development, OpenID for authentication, Jira and Confluence for issue tracking and knowledge sharing, Gerrit for code review, Gitea for repository management, Jenkins for continuous integration, Ansible for node management, Docker for building agents, Archiva for artifact deployment, and Codechecker for static code analysis and  management.

Additionally, our team communication is powered by Mattermost, which provides excellent team communication and bot support. And, to ensure the highest levels of code security and quality, our pipeline also includes secure tools such as Mend and SonarQube.

With Amarula Continuous Delivery, our clients can benefit from a highly effective development pipeline that ensures seamless collaboration, streamlined development, and secure, high-quality code.


OTA Update

Over-The-Air updates, can be a major challenge in the Embedded Linux ecosystem. This is because embedded devices often have limited resources such as storage and processing power, which can make it difficult to perform updates in a timely and efficient manner. Additionally, OTA updates must be performed in a secure and reliable way, to prevent potential security breaches or loss of data.

Our team can assist you in implementing methods such as delta update mechanisms, dual-partition systems, code signing, encryption, and secure boot. These approaches help reduce the amount of data transferred, minimize downtime, and ensure updates are performed securely and reliably.

By utilizing these techniques, your embedded Linux devices can receive OTA updates without sacrificing performance or security, keeping your devices upto-date and secure.


Have a project idea in mind?