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

View File

@@ -50,7 +50,7 @@ The i.MX6 UltraLite (Cortex-A7) is a 32-bit processor:
│ → Compiled with 64-bit time_t │
├─────────────────────────────────────┤
│ C Library (glibc) │
│ → glibc 2.34+ with 64-bit time_t │
│ → musl 1.2+ with 64-bit time_t │
├─────────────────────────────────────┤
│ Linux Kernel │
│ → 5.1+ with CONFIG_TIME_LOW_RES │
@@ -69,7 +69,7 @@ Yocto Project 5.0 (Scarthgap) released April 2024 provides:
| **GCC** | 13.x | Supports 64-bit time_t | ✅ |
| **BitBake** | 2.6 | Build system support | ✅ |
**Critical:** glibc 2.34+ uses 64-bit `time_t` BY DEFAULT for 32-bit ARM in Yocto.
**Critical:** musl 1.2+ uses 64-bit `time_t` BY DEFAULT for 32-bit ARM in Yocto.
---
@@ -88,9 +88,9 @@ From TQ documentation:
### 3.2 Machine Configuration
For TQMa6UL-AB on MBa6x:
For TQMa6UL-AB on MBa6ULx:
```
MACHINE = "tqma6ulx-mba6ulx"
MACHINE = "tqma6ul-multi-mba6ulx"
```
Verified supported features with kernel 6.6:
@@ -176,7 +176,7 @@ grep -r "time_t\|gettimeofday\|stime" ${IMAGE_ROOTFS}/usr/bin/
### 6.1 Findings
1. **Yocto Scarthgap (5.0) is 2038-compliant** for 32-bit ARM
2. **TQ BSP scarthgap.TQ.ARM.BSP.0006** uses compliant kernel 6.6 + glibc 2.38
2. **TQ BSP scarthgap.TQ.ARM.BSP.0006** uses compliant kernel 6.6 + musl 1.2
3. **Migration from PTXdist is mandatory** for systems operating beyond 2038
4. **Offline mirror required** for software approval process

View File

@@ -15,10 +15,10 @@ Based on sticker analysis and code review:
**Sticker:** TQMA6U-AB RK REV.0405
**Board:** TQMa6UL (NXP i.MX6 UltraLite, Cortex-A7, 32-bit)
**Carrier:** MBa6x
**Carrier:** MBa6ULx
**Code Reference:** `tqma6x` = generic i.MX6 family identifier in legacy codebase
**Machine Configuration:** `tqma6ulx-mba6ulx`
**Machine Configuration:** `tqma6ul-multi-mba6ulx`
*Alternative (ci-meta-tq multi-config):* `tqma6qdl-multi-mba6x`
---
@@ -102,8 +102,8 @@ ls -la sources/
```bash
cd ${UT_BASE}/ci-meta-tq
./ci/ls-configs --file
./ci/ls-machines --file --config=imx
# Should list tqma6ulx-mba6ulx and other machines
./ci/ls-machines --file --config=mainline
# Should list tqma6ul-multi-mba6ulx and other machines
```
---
@@ -120,7 +120,7 @@ mkdir -p ~/.yocto
cat > ~/.yocto/site.conf <<'EOF'
# UT Project Configuration
# Build: UT (Universität/Projekt)
# Target: TQMa6UL on MBa6x
# Target: TQMa6UL on MBa6ULx
# Date: 2026-03-01
# Mirror directories (outside home for space)
@@ -141,13 +141,13 @@ sudo chown -R "$USER:$USER" /srv/yocto
cd ${UT_BASE}/ci-meta-tq
# Set machine for TQMa6UL
export MACHINE=tqma6ulx-mba6ulx
export MACHINE=tqma6ul-multi-mba6ulx
# Alternative if using multi-config:
# export MACHINE=tqma6qdl-multi-mba6x
# Initialize build environment (creates build_ut directory)
. ./setup-environment build_ut imx
. ./setup-environment build_ut mainline
# Verify configuration
bitbake -e | grep -E "^MACHINE=|^DL_DIR=|^SSTATE_DIR="
@@ -163,8 +163,8 @@ This step downloads all required source packages for offline use:
cd ${UT_BASE}/ci-meta-tq
# Ensure environment is set
export MACHINE=tqma6ulx-mba6ulx
. ./setup-environment build_ut imx
export MACHINE=tqma6ul-multi-mba6ulx
. ./setup-environment build_ut mainline
# Build the image (downloads all sources)
bitbake tq-image-small-debug
@@ -221,7 +221,7 @@ Use TQ's provided script to populate the mirror:
cd ${UT_BASE}/ci-meta-tq
# Set machine and config
export MACHINE=tqma6ulx-mba6ulx
export MACHINE=tqma6ul-multi-mba6ulx
# Fill mirror (downloads all git repos and tarballs)
ci/fill_mirror build_ut imx
@@ -237,7 +237,7 @@ du -sh /srv/yocto/sstate-cache/
```bash
cd ${UT_BASE}/ci-meta-tq
. ./setup-environment build_ut imx
. ./setup-environment build_ut mainline
# Generate license manifest
bitbake tq-image-small-debug -c do_populate_lic
@@ -281,7 +281,7 @@ cat > UT-mirror-package/build-instructions/README.txt <<'EOF'
UT Yocto Mirror Package
=======================
Target: TQMa6UL on MBa6x (i.MX6 UltraLite)
Target: TQMa6UL on MBa6ULx (i.MX6 UltraLite)
Yocto: Scarthgap 5.0 LTS
BSP: TQ scarthgap.TQ.ARM.BSP.0006
Build: UT (Universität/Projekt)
@@ -375,7 +375,7 @@ Key packages to verify for military use:
Before delivering mirror:
- [ ] ci-meta-tq cloned with all submodules
- [ ] MACHINE=tqma6ulx-mba6ulx configured
- [ ] MACHINE=tqma6ul-multi-mba6ulx configured
- [ ] Build "UT" completed successfully
- [ ] /srv/yocto/downloads/ populated
- [ ] /srv/yocto/premirror/ populated by ci/fill_mirror

View File

@@ -3,7 +3,7 @@
**Document ID:** DEPLOY-CORP-001-REV2
**Date:** 2026-03-01
**Build Name:** UT (Universität/Projekt)
**Target:** TQMa6UL on MBa6x
**Target:** TQMa6UL on MBa6ULx
**Environment:** Air-gapped corporate network
---
@@ -150,14 +150,14 @@ cd ${UT_BASE}/UT-mirror-package/sources/ci-meta-tq
ls -la sources/
# Set machine for TQMa6UL
export MACHINE=tqma6ulx-mba6ulx
export MACHINE=tqma6ul-multi-mba6ulx
# Initialize build (creates build_ut)
. ./setup-environment build_ut imx
. ./setup-environment build_ut mainline
# Verify configuration
bitbake -e | grep "^MACHINE="
# Should show: MACHINE="tqma6ulx-mba6ulx"
# Should show: MACHINE="tqma6ul-multi-mba6ulx"
```
---
@@ -169,8 +169,8 @@ bitbake -e | grep "^MACHINE="
```bash
# Ensure we're in build environment
cd ${UT_BASE}/UT-mirror-package/sources/ci-meta-tq
export MACHINE=tqma6ulx-mba6ulx
. ./setup-environment build_ut imx
export MACHINE=tqma6ul-multi-mba6ulx
. ./setup-environment build_ut mainline
# Verify no network access is attempted
export BB_NO_NETWORK=1
@@ -204,8 +204,8 @@ bitbake -e virtual/kernel | grep CONFIG_COMPAT_32BIT_TIME
```bash
# Enter build environment
cd ${UT_BASE}/UT-mirror-package/sources/ci-meta-tq
export MACHINE=tqma6ulx-mba6ulx
. ./setup-environment build_ut imx
export MACHINE=tqma6ul-multi-mba6ulx
. ./setup-environment build_ut mainline
# Build target image
bitbake tq-image-small-debug