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. The display resolution and timings are configured in GraphLab. The display controller is initialized during the early GraphLab stage, and Linux inherits the existing display state during the DRM handover.
Because the display pipeline is already active when the kernel starts, no resolution or timing configuration is required on the Linux side. The Linux DRM driver simply attaches to the existing display pipeline.