Mazda Connect Boot Chain
The Gen 6 Mazda Connect head unit boots an ARM Linux stack on an NXP i.MX6 SoC. Power-on to first display takes roughly 25 seconds; the interactive UI is ready around 48 seconds; full service startup runs 55–65 seconds. This page walks the chain stage by stage, with the timing and the fuse-level details a tinkerer needs.
Source basis: the i.MX6 boot flow and HABv4 capability are documented by NXP in the i.MX6D product page, including the i.MX 6Dual/6Quad reference and security manuals. CMU-specific boot behavior is cross-checked against silverchris failsafe boot notes and local firmware analysis.
Stages
Section titled “Stages”1. i.MX6 Boot ROM
Section titled “1. i.MX6 Boot ROM”The SoC’s on-chip Boot ROM reads the boot device configuration from fuses and loads code from SPI-NOR flash.
2. IBC1 (Bootstrap)
Section titled “2. IBC1 (Bootstrap)”The first-stage bootloader (IBC1) reads a boot-select byte to determine the boot mode:
| Value | Mode |
|---|---|
0xFF | Normal |
0x00 | Failsafe |
IBC1 selects the appropriate boot image and transfers control to IBC2.
3. IBC2
Section titled “3. IBC2”IBC2 is the second-stage bootloader. It validates the kernel image header, decompresses the kernel, and launches it.
4. Linux Kernel
Section titled “4. Linux Kernel”The kernel mounts the root filesystem from NAND (Datalight Reliance / relfs) and starts init. See Filesystem for the partition layout.
5. JCI Service Manager
Section titled “5. JCI Service Manager”The service manager takes over userspace initialization, launching services in a stage-based order. This stage dominates total boot time — the head unit spends far longer bringing up services than it does in the kernel. See Services for the service-manager architecture.
Boot Timing
Section titled “Boot Timing”From a Gen 6 CMU running v74.00.324A, approximate boot timing:
| Phase | Approximate Time |
|---|---|
| Power-on to kernel start | ~3s |
| Kernel to service manager start | ~5s |
| Service manager to HMI visible | ~15–20s |
| Full service startup | ~45–60s |
Time from power-on to first display is approximately 25 seconds, and the interactive UI is ready around 48 seconds. Full service startup takes roughly 55–65 seconds: Bluetooth, navigation, and CarPlay readiness. The bottleneck is the service stage, not the bootloaders or the kernel; for how startup ordering affects that number, see Boot Ordering.
Secure Boot Status
Section titled “Secure Boot Status”The i.MX6 SoC supports HABv4 (High Assurance Boot) for cryptographic verification of boot stages. On the CMU, HABv4 is not enabled — no authentication occurs between boot stages. Each stage loads and runs the next without verifying its signature, which is what makes the failsafe path and unsigned image loading possible.
This is externally documented by ZDI in their November 2024 research.
Related Pages
Section titled “Related Pages”- Services — service manager architecture
- Filesystem — partition layout
- Hardware Platform — i.MX6 SoC and board details
- Boot Ordering — why the service stage is the slow one
- Attack Surface — security exposure on Mazda Connect