Boot Config Editor
How the GraphLab Portal configures boot firmware via the VPS builder — splash image, boot UI palette, and status text.
Overview
GraphLab Boot Configs (/initstub in the portal) produce a signed
initstub.bin for a specific platform + display license.
Screen resolution, refresh rate, and porch timings come from the display license and embedded init sequence —
you do not edit timings in the editor.
New configs bootstrap from portal defaults (GraphLab splash + default boot UI). Editing an existing config imports splash, boot UI, and status entries from the saved binary when present.
Create flow
Creating a new config starts with a four-step hardware wizard, then opens the editor. Resolution, interface, and porch timings come from the selected display integration — you do not pick them separately in the editor.
| Wizard step | What you do |
|---|---|
| 1. Platform (SoM) | Choose a platform with an active license. |
| 2. Display integration | Pick a screen license. Evaluation integrations show porch timings (editable on Hardware); commercial shows them read-only. |
| 3. Interface | Information only — interface is fixed on the display integration and cannot be changed here. |
| 4. Controller | Select the SoM display controller that matches the integration interface. |
After the wizard, configure splash, boot UI, and status text in the editor, then Save to request a VPS firmware build. The display license is fixed when a config is created; it cannot be changed on edit. Assign the finished config to a project whose platform and display match.
Editor sections
The editor is a single-section wizard. Use the sidebar (desktop) or tabs (mobile), or Previous / Next at the bottom of each step. Switching sections scrolls the active panel to the top of the page.
| Step | Purpose | IBL1 entry |
|---|---|---|
| 1. Splash image | Upload or keep splash PNG/JPEG/WebP; set width, height, anchor, and X/Y offset | Type 3 (splash blob) |
| 2. Boot UI settings | Font and background colors, spinner style, spinner palette, live device preview | Type 6 (GSET payload) |
| 3. Boot status messages | Map status IDs to user-visible strings shown during early boot | Type 5 (status text blob) |
| 4. VPS payload | Read-only preview of the JSON payload sent to the build service | — |
1. Splash image
- Upload is optional — leave empty to keep the current splash (GraphLab default on new configs).
- Anchor places the splash within the licensed screen (nine anchor points).
- Offset X / Y fine-tune position in pixels after anchoring.
- Display layout preview shows the full screen rectangle at license resolution with the splash positioned and clipped correctly.
2. Boot UI settings
Boot UI settings are stored as a GSET blob (schema version 1).
The editor keeps a JSON representation in sync with the color pickers and spinner style cards.
Spinner styles
| Style | Description |
|---|---|
| 1 | Four-ring spinner using BG, Outer, Mid, and Inner palette colors |
| 2 | Thin arc indicator (GraphLab default) |
| 3 | Gradient ring using the full spinner palette |
Live preview
The preview panel at the top of step 2 composites:
- Licensed screen size (same scaling as the splash Display layout canvas)
- Boot UI background color on the full screen
- Splash image from step 1 at the configured anchor and offset
- BOOT / GraphLab branding, animated spinner, and the first status message overlaid with device-like spacing
Branding is centered around 40% from the top, the spinner around 78%, and status text near the bottom (8% margin). Text size scales with screen height.
Boot UI JSON schema (GSET)
{
"schema": 1,
"fontColor": "#FFFFFFFF",
"spinner": {
"style": 2,
"colors": {
"bg": "#B9C9D5",
"outer": "#A7D8EA",
"mid": "#F3CAA9",
"inner": "#BFEBD9"
}
},
"background": {
"color": "#FF000000"
}
}
- Colors accept
#RRGGBBor#AARRGGBB(alpha first for background and font). spinner.stylemust be1,2, or3.- Spinner color fields control the active indicator palette on device.
3. Boot status messages
Each non-empty row becomes an entry in the status-text map (numeric ID → string). Leave a field empty to omit that ID from the built payload. The boot UI preview uses the first configured message for the status line when available.
4. VPS payload
Shows the normalized configuration object used when building initstub.bin
(splash dimensions, boot UI JSON, status map, and display context from the license).
Use it to verify what will be sent before saving or building.
Save, VPS build, and revisions
- Save stores the config in your company library and submits a build job to the GraphLab VPS builder.
- The VPS builds
initstub.binremotely; the portal records each revision when the build succeeds. - Build status is shown in the library; previous revisions can be downloaded when available.
What you configure vs. what comes from the license
| Source | Fields |
|---|---|
| Display license | Screen width/height, refresh rate, platform/display binding, tier, interface, porch timings (locked when commercial) |
| Boot config editor | Splash image and placement, boot UI colors/spinner, status strings |
| Embedded init sequence | MMIO / porch timing ops from the display integration (commercial configs always use integration values on save) |
See also: Licensing, Hardware (porch timings on evaluation), Shop (ordering licenses), and Quickstart for flashing and verification.