Frequently Asked Questions
Quick answers to common questions about GraphLab Boot.
General
Does GraphLab Boot modify U-Boot?
On the current Verdin iMX8MP reference stack, yes. The integration includes
small U-Boot SPL adaptations plus boot partition artifacts
(initstub.bin, license.bin).
Does it replace Plymouth?
No. GraphLab Boot hands over into the normal Linux DRM/KMS pipeline, so Plymouth, PSplash, and other DRM-based userspace can run normally after handover. To avoid flicker, keep the display mode consistent across the handover and avoid forced modesets during startup.
How does it affect boot time?
GraphLab Boot does not add to the total boot time. The M7 firmware runs in parallel with the main boot process on a separate core. The visible effect is that the display becomes active immediately instead of showing a blank screen, while the time required to reach the application remains unchanged.
Is source code required?
No. GraphLab Boot is delivered as prebuilt binaries
(M7 firmware and initstub) together with a Yocto integration layer.
No source code changes are required for standard integration.
Integration
Which Linux kernels are supported?
The currently validated stack is based on Toradex Linux 6.6
(linux-toradex 6.6-2.2.x) with the GraphLab DRM integration.
Other kernel versions may work but require validation and possible BSP adjustments.
See Prerequisites
for platform requirements.
Can I use my existing BSP?
Yes. GraphLab Boot integrates into existing BSPs without replacing the platform stack.
The integration typically consists of:
- Adding reserved-memory nodes to the device tree
- Deploying the boot artifacts to the boot FAT partition
Does it work with Torizon?
Yes. GraphLab Boot is compatible with Toradex BSPs used by Torizon-based systems.
Integration happens at the BSP level via the meta-graphlab Yocto layer.
GraphLab Boot does not depend on the Torizon container runtime.
Licensing
How does the license work?
Each device receives a unique 128-byte signed license blob from the GraphLab Portal. The license is bound to the device hardware UUID. The M7 firmware verifies the signature during every boot.
Can I use the same license on multiple devices?
No. Each license is cryptographically bound to a specific device UUID. A license generated for one device will fail verification on any other device.
What happens if the license is invalid or missing?
If the device does not have a valid license, GraphLab Boot enters provisioning mode.
During startup a provisioning QR code is displayed on the screen, allowing the device to be registered and licensed through the GraphLab Portal.
The system continues to boot normally, but a visual watermark remains on the display for the entire runtime until a valid license is installed.
Display
Can I use a custom resolution?
Yes. Resolution and refresh rate are defined on the display license in the GraphLab Portal
when you request or register a display pipeline for your panel.
The M7 firmware and initstub.bin use that display context; Linux inherits the active pipeline during DRM handover.
GraphLab Boot Configs customize splash, boot UI, and status text for a licensed display. They do not replace the display license definition. A config can only be used on projects that share the same platform and display. The editor walks through four steps: splash placement, boot UI (with live preview), status messages, and VPS payload preview. See Boot Config Editor for details.
Because the display pipeline is already active when the kernel starts, no separate resolution or timing configuration is required on the Linux side. The Linux DRM driver attaches to the existing display pipeline.
Why can’t I create a boot config or project?
Projects need a chosen environment (Development or Production) and device license allocation from your company pool. Groups inside a project need an active platform license and display license allowed for that environment. Boot configs require a licensed display when creating a config. Request missing entitlements in Shop (Shop). Confirm active status under Licenses.
Why can’t I change porch timings?
Porch timings live on the display integration. During evaluation, edit them under Hardware. After a commercial upgrade, settings are locked — only GraphLab can change them. See Hardware.