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 …

Improving Yocto Build Time

Yocto is an excellent distribution builder, however building any Linux distribution from scratch is resource intensive and may take a frustrating long time. This blog posts examines some of the most common techniques that can be used to reduce build times (and resource use). Downloads During a build, bitbake fetches source code from the internet …

2 Second Linux Boot on i.MX8

Earlier this year we we wrote a blog post that looked at the steps required to enable hardware accelerated image classification on an i.MX8 based Coral Dev Board. We created a Linux ‘Tux mascot detector’ that was able to detect if an object placed in front of a camera was the Tux mascot or something …

Reducing Boot Time with systemd

It’s no surprise that systemd has become the init system of choice for both embedded and desktop Linux distributions – it’s modern, packed full of features and is able to replace an ever increasing number of ancient utilities and daemons. When compared to it’s predecessor (SysVinit) – it also provides a much greater scope for …

Keeping Track of Time with Systemd

Nearly all smart devices obtain and keep track of time – it’s something that ‘just works’ and something which we often take for granted. Yet under-the-hood there is a surprising amount of complexity – software needs to obtain an accurate external source of time (e.g. NTP), it needs to handle drift and gradual synchronisation between …