fix: correct machine, config, and C library references (verified by build test)

Critical corrections based on actual build test on 2026-03-01:

1. Machine: tqma6ulx-mba6ulx → tqma6ul-multi-mba6ulx
   (the -multi variant is the correct one for the MBa6ULx carrier)

2. Config: imx → mainline
   (TQMa6UL machines are NOT in the imx config, only in mainline)

3. Carrier: MBa6x → MBa6ULx
   (MBa6x is for the Quad/Dual, MBa6ULx is for the UltraLite)

4. C library: glibc 2.38 → musl 1.2+
   (BSP uses musl: TARGET_SYS=arm-tq-linux-musleabi)

5. README rewritten with verified build output

Verified: DISTRO=spaetzle 5.0.11, BB_VERSION=2.8.0
This commit is contained in:
Siggi (OpenClaw)
2026-03-01 19:48:45 +00:00
parent 0e3463df39
commit 227e1f259f
4 changed files with 100 additions and 96 deletions

144
README.md
View File

@@ -1,16 +1,18 @@
# TQMa6UL Yocto BSP Mirror Project
# TQMa6UL Yocto BSP Mirror & Build Documentation
**Project ID:** TQMA6-YOCTO-2038
**Date:** 2026-03-01
**Target Hardware:** TQMa6UL-AB (i.MX6 UltraLite) on MBa6x Carrier
**Yocto Version:** Scarthgap (5.0) LTS
**Project ID:** TQMA6-YOCTO-2038
**Date:** 2026-03-01
**Target Hardware:** TQMa6UL-AB (i.MX6 UltraLite) on MBa6ULx Carrier
**Yocto Version:** Scarthgap (5.0.11) LTS
**Objective:** Create offline mirror for software approval, ensure 2038 compliance
---
## Overview
This project addresses the requirement to migrate from legacy PTXdist-based BSP to Yocto Project for TQMa6UL hardware. The primary driver is Year 2038 compliance for military/long-term deployments.
This project addresses the requirement to migrate from legacy PTXdist-based BSP
to Yocto Project for TQMa6UL hardware. The primary driver is Year 2038
compliance for military/long-term deployments.
### 2038 Problem Context
@@ -19,86 +21,88 @@ The Year 2038 Problem (Y2K38) affects 32-bit systems using signed 32-bit time_t:
- Systems will overflow and behave unpredictably after this date
- Critical for military/aerospace systems with 15+ year service life
### Solution: Yocto Scarthgap (5.0 LTS)
### Solution: Yocto Scarthgap + musl
**Key Features:**
- 64-bit time_t by default on 32-bit ARM (glibc 2.38+)
- Linux Kernel 6.6 LTS (includes CONFIG_COMPAT_32BIT_TIME)
- Long-term support until April 2028 (extendable)
- Full source availability for audit
Yocto Scarthgap (5.0 LTS) with musl libc provides:
- 64-bit time_t by default on 32-bit ARM (musl 1.2+)
- Long-term support until April 2028+
- Comprehensive license manifests for approval
**2038 Compliance Verification:**
| Component | Version | 2038 Ready | Notes |
|-----------|---------|------------|-------|
| Linux Kernel | 6.6.y | ✅ | CONFIG_COMPAT_32BIT_TIME |
| glibc | 2.38+ | ✅ | 64-bit time_t default |
| Yocto | 5.0 (Scarthgap) | ✅ | Built-in 2038 support |
| TQ BSP | scarthgap.TQ.ARM.BSP.0006 | ✅ | Verified with kernel 6.6 |
## Board Identification
---
| Field | Value |
|-------|-------|
| **SoM** | TQMa6UL (sticker: `TQMA6U-AB`) |
| **SoC** | NXP i.MX6 UltraLite (Cortex-A7, single core) |
| **Carrier** | MBa6ULx |
| **Machine** | `tqma6ul-multi-mba6ulx` |
| **BSP Config** | `mainline` (**not** `imx`!) |
## Repository Structure
> ⚠️ **Critical:** The TQMa6UL machines are **only** available in the `mainline`
> config template. The `imx` config does NOT include this board.
## Verified Build Configuration
*Tested 2026-03-01 on Debian 13 (Python 3.13):*
```
tqma6-yocto-mirror/
├── docs/
│ ├── 01-analysis/ # 2038 analysis and requirements
│ ├── 02-mirror-creation/ # Step-by-step mirror creation
│ ├── 03-license-analysis/ # License compliance documentation
│ └── 04-deployment/ # Corporate network deployment
├── configs/ # Configuration files
├── scripts/ # Automation scripts
└── README.md # This file
BB_VERSION = 2.8.0
BUILD_SYS = x86_64-linux
NATIVELSBSTRING = universal
TARGET_SYS = arm-tq-linux-musleabi
MACHINE = tqma6ul-multi-mba6ulx
DISTRO = spaetzle
DISTRO_VERSION = 5.0.11
TUNE_FEATURES = arm vfp cortexa7 neon thumb callconvention-hard
TARGET_FPU = hard
```
---
### 2038 Compliance Status
## Quick Links
| Component | Version | 2038-safe? | Notes |
|-----------|---------|-----------|-------|
| **Kernel** | Mainline 6.x | ✅ | 64-bit time syscalls |
| **musl libc** | 1.2+ | ✅ | 64-bit `time_t` since 1.2.0 |
| **Userspace** | Scarthgap | ✅ | Rebuilt against 64-bit `time_t` |
| **U-Boot** | Mainline | ✅ | No time_t issues in bootloader |
- [2038 Problem Analysis](docs/01-analysis/2038-problem-analysis.md)
- [Mirror Creation Guide](docs/02-mirror-creation/step-by-step-mirror-creation.md)
- [License Table Template](docs/03-license-analysis/license-table-template.csv)
- [Deployment Guide](docs/04-deployment/corporate-network-deployment.md)
> **Note:** This BSP uses **musl libc** (`arm-tq-linux-musleabi`), NOT glibc.
> musl has provided 64-bit `time_t` unconditionally on all 32-bit architectures
> since version 1.2.0 (February 2020).
---
## Documentation
## Project Status
| Document | Description |
|----------|-------------|
| [2038 Compliance Analysis](docs/01-analysis/2038-problem-analysis.md) | Detailed 2038 risk assessment |
| [Mirror Creation Guide](docs/02-mirror-creation/step-by-step-mirror-creation.md) | Step-by-step build instructions |
| [License Summary](docs/03-license-analysis/license-summary.md) | License overview and compliance |
| [License Table](docs/03-license-analysis/UT-license-table.csv) | CSV format for import |
| [Air-Gapped Deployment](docs/04-deployment/corporate-network-deployment.md) | Offline build setup |
| Phase | Status | Description |
|-------|--------|-------------|
| Analysis | ✅ Complete | 2038 compliance verified for Scarthgap |
| Documentation | 🔄 In Progress | Creating step-by-step guides |
| Mirror Creation | ⏳ Pending | Execute on Ubuntu 22.04 outside corporate network |
| License Analysis | ⏳ Pending | Generate complete license table |
| Deployment | ⏳ Pending | Install in corporate network |
## Quick Start
---
```bash
# 1. Clone
git clone --recurse-submodules https://github.com/tq-systems/ci-meta-tq.git
cd ci-meta-tq
## Hardware Target
# 2. Setup
export ACCEPT_FSL_EULA=1
export MACHINE=tqma6ul-multi-mba6ulx
. ./setup-environment build_ut mainline
echo 'ACCEPT_FSL_EULA = "1"' >> build_ut/conf/local.conf
**Board:** TQMa6UL-AB RK REV.0405
**SoC:** NXP i.MX6 UltraLite (Cortex-A7, 32-bit)
**Carrier:** MBa6x REV.020x
**Key Features:**
- 528 MHz Cortex-A7
- 512MB DDR3
- 4GB eMMC
- Dual Ethernet (1G + 100M)
- Industrial temp range
# 3. Fetch (for mirror creation)
bitbake tq-image-small-debug --runall=fetch
**Machine Configuration:** `tqma6ulx-mba6ulx` (to be confirmed during build)
# 4. Build
bitbake tq-image-small-debug
```
---
## References
## License
Documentation: CC-BY-SA 4.0
Scripts: MIT
All Yocto and TQ BSP components follow their respective upstream licenses.
See [License Analysis](docs/03-license-analysis/) for complete breakdown.
---
**Maintainer:** Siggi ⚙️ (OpenClaw Agent)
**Repository:** https://code.gegen.autos/openclaw/tqma6-yocto-mirror
- [TQ-Systems ci-meta-tq](https://github.com/tq-systems/ci-meta-tq)
- [TQMa6UL Product Page](https://www.tq-group.com/en/products/tq-embedded/arm-architecture/tqma6ul/)
- [Yocto Scarthgap Docs](https://docs.yoctoproject.org/5.0/)
- [musl 64-bit time_t](https://musl.libc.org/time64.html)