Device Hub — Note Air 2

Device Hub — Note Air 2

Canonical hardware reference for the Onyx Boox Note Air 2. Data sourced from v4.0 firmware extraction (build 49339). This device is the source of the port — its apps and system image are what we are bringing to the Note Air 1.


Hardware Identity

FieldValue
Marketing nameOnyx Boox Note Air 2
Model (ro.product)NoteAir2
SoCQualcomm SDM662 (Snapdragon 662) — “bengal” platform
CPUKryo 260 (4×A73 + 4×A53), arm64-v8a
GPUAdreno 610
StorageUFS (not eMMC)
Android version11 (SDK 30)
Kernel4.19.157-perf (clang 10.0.7, built 2025-02-10)
VNDK30
Boot image headerv2, page size 4096, gzip kernel + gzip ramdisk
TrebleEnabled (separate system/vendor/product/system_ext)
A/B slotsYes (ro.build.ab_update=true)
Dynamic partitionsYes (super partition)
Virtual A/BYes (ro.virtual_ab.enabled=true)
Userdata FSf2fs
EncryptionFBE (aes-256-xts:aes-256-cts:v2+inlinecrypt_optimized+wrappedkey_v0)
Security patch2024-02-01

Firmware Structure

OTA format: encrypted .upx → decrypt with decryptBooxUpdateUpx.zip → extract payload.bin → dump with payload-dumper-go.

Available Firmware Versions

VersionBuildSizeTypeMD5
v4.0493391.84 GBFull9bcffd5069a01c2f90b90a778e27b376
v4.0.24980750 MBIncremental (from v4.0)91a889a37f5f5e92cde9770d3220feb1
v4.1.150793338 MBIncremental (from v4.0.2)04e3c7d528a572cbb49455eb84afa585

Extracted Partition Images (v4.0)

PartitionSizeTypeNotes
system.img2.1 GBext4AOSP + Onyx apps
product.img564 MBext4Google apps (GMS)
vendor.img489 MBext4Qualcomm bengal HALs
system_ext.img293 MBext4Qualcomm + SystemUI + Settings
boot.img96 MBbootimg v2Kernel 4.19.157 + ramdisk
recovery.img96 MBbootimg v2Stock recovery
modem.img39 MBrawBaseband firmware
xbl.img3.1 MBELFExtensible bootloader (Bengal-specific)
abl.img148 KBELF 32-bit ARMAndroid bootloader

Onyx Apps (portability targets)

Apps in system/app: OnyxLatinIME, Clock, Gallery, Kime, Music, NeoBrowser, VoiceRecorder, ai-assistant, app-market, calculator, dict, floatingbutton, igetshop, kmail, knote2, kreader2, ksync, tscalibration, EasyTransfer, ProductionTest.

Apps in system/priv-app: OnyxOtaService, kcb.

These APKs target SDK 29+ and are the primary portability candidates for the APK-extraction approach.


Porting Verdict

Direct partition-level port is NOT viable. NA2 uses SDM662 (bengal), NA1 uses SDM636 (sdm660) — different SoC families with incompatible kernels, vendor HALs, bootloaders, and partition schemes.

Viable approaches: (1) APK extraction — sideload NA2 Onyx apps on NA1; (2) GSI approach — Android 11 GSI on NA1 + NA2 apps; (3) Feature-level port — cherry-pick specific app updates. See Compatibility Matrix entry for full analysis.

More posts