At The Good Penguin, customer satisfaction has always been of utmost importance to us – we know that keeping our customers happy results in long term relationships which provide mutual benefits. For our customers, they gain a reliable and trusted software partner that delivers excellent value. And for us it provides repeat business and customer …
Author: Andrew Murray
Everything you ought to know (and more) about Yocto’s SDK and Extensible SDK (eSDK)
Yocto is so widely used because of the many benefits it provides to engineers that wish to build customised Linux distributions. However, it does have pain points. One such pain point relates to the difficulty of getting a Yocto development environment setup in the first place – this often involves using third-party tools such as …
Embedded Linux Conference 2023
At The Good Penguin we like to keep up to date with the latest developments in our community, so that’s why we sent most of our team to the Embedded Linux Conference a couple of weeks ago. This year it was hosted as part of the wider Embedded Open Source Summit and located in Prague. …
The Journey of I/O from Userspace to Device
When a Linux userspace application performs disk I/O – such as writing to an SD card, those requests go through a complex journey across multiple kernel components. These components aim to deliver optimal I/O performance whilst balancing a variety of needs such as latency and fairness. However, when things go wrong, it can be challenging …
Automated Testing with GitHub Actions, pytest and a Board Farm
When developing software it can be a real challenge to consistently deliver new features on time and without regressions. It can often feel like development gets stuck at the point of trying to get a new release out of the door with mountains of issues suddenly appearing. In an effort to improve development velocity many …
SWUpdate, Suricatta and Unreliable Connectivity
Many product makers choose to use the open-source SWUpdate software to provide an off the shelf method of software update for their embedded devices. For internet connected devices this is typically configured in Suricatta daemon mode which allows for SWUpdate to poll for software updates from an update server such as the open-source Eclipse Hawkbit. …
Debugging a Memory Leak in a Large and Complex GStreamer Pipeline
GStreamer is a widely used and comprehensive multimedia framework allowing for the creation of a wide range of multimedia applications. It has become the obvious choice for embedded Linux systems, especially given that these days most BSP vendors choose to provide GStreamer plugins for their media accelerators. It’s ease of use allows you to create …
A Year in Review: 2022 at The Good Penguin
As we start the new year, we’d like to take the opportunity to give thanks and appreciation to our customers, employees and partners – We wish you all a productive new year and look forward to working with you on interesting and challenging projects. We also thought it would also be a great time to …
Xmas Charity Fundraiser 2022
This Xmas the Good Penguin is raising money for The Trussell Trust, an organisation that supports a nationwide network of more than 1,300 food banks (approximately two thirds of the food banks in the UK). The food banks, supported by thousands of volunteers, provide both emergency food to people in crisis as well as practical …
Delta OTA Update with SWUpdate
With the complexity and dependence on software ever growing, it’s crucial to be able to perform over-the-air (OTA) updates to devices to provide fixes, features and patches for security vulnerabilities. However, a combination of cheap storage and complex software stacks has resulted in an increase in the size of software distributions thus requiring devices to …