Device enablement
Device enablement is a service available for OEMs who want to bring up their hardware to run Ubuntu. Embedded applications depend on the kernel, drivers, libraries, filesystems and runtimes. Canonical builds these primitives for you. Canonical delivers a custom kernel matching a standard Ubuntu LTS release.
Scope and capabilities
Canonical creates a production image and a development image for your device. These images are built on a custom kernel, based on the build support package (BSP) provided by the OEM/ODM. All hardware interfaces are enabled in the production image.
We require several units of the target device, along with the associated peripherals, for testing. You ensure that software delivered to Canonical, including all drivers and firmware in the BSP, is licensed under the necessary rights for Canonical to redistribute and publish the software.
Bug reporting
Canonical has established standard QA processes and procedures for device enablement. These cover bug tracking, triage, and resolution through Launchpad. A private area of Launchpad is dedicated to bugs related to device enablement. Both the customer and Canonical have access to this area.
Hardware testing
Canonical provides Checkbox, a software tool for automated hardware testing. Checkbox runs test cases that certify that target devices fully work with Ubuntu.
We carry out automated hardware tests on customer provided hardware in house. We then provide you with a summary validation report including test cases, a list of issues found that remain open, and severity of open issues.
Maintenance and security
We monitor software continuously and rigorously to quickly identify and fix any issues that may arise. Monitoring is achieved by continuously performing automated tests on customer hardware. This ensures that the custom OS images we deliver to the customer continue to perform as expected.
Should a high or critical security CVE threat emerge, we provide maintenance updates. Canonical systematically runs automated Checkbox tests to verify updates do not introduce any software regressions.
- Maintenance follows the Ubuntu stable release update process as currently defined at https://wiki.ubuntu.com/StableReleaseUpdates.
- Maintenance updates follow the kernel SRU cadence. Specific kernel SRU cadence dates and schedule is posted to the kernel-sru-announce mailing list, as well as on the front page of https://kernel.ubuntu.com/.
- Operating system updates and driver updates follow the above noted kernel SRU cadence; generally on a cadence of once per month.
Helpful resources
- Ubuntu IoT and device services
- Board enablement overview
- Ubuntu kernel lifecycle
- Ubuntu stable release process