Allwinner A133 Firmware Work «99% HIGH-QUALITY»

A standard Allwinner A133 firmware image (e.g., for Android or Tina Linux) follows a fixed partition scheme. The sys_partition.fex file defines the layout:

| Partition | Offset | Size | Content | |-------------|--------|--------|-----------------------------| | boot0 | 8KB | 24KB | First stage bootloader | | boot0-rescue| 32KB | 24KB | Backup boot0 | | env | 64KB | 16KB | U-Boot environment | | boot | 16MB | 32MB | Linux kernel + DTB | | rootfs | 48MB | 512MB+ | SquashFS/ext4 root filesystem| | recovery | - | 32MB | Recovery kernel | | UDISK | - | Remainder | User data |

Writing this layout can be done via FEL (using live-suit or sunxi-fel spiflash commands), via fastboot (fastboot flash), or by directly writing raw images to the eMMC/SD card with dd. allwinner a133 firmware work

After compiling, Allwinner uses a unique packing system. Run:

./pack

This generates:

  • Kernel & Device Tree:
  • Boot scripts & uEnv/boot.scr:
  • Root filesystem:

  • Unlike a PC, A133 firmware is not a single file. It requires a specific partition layout:

    The A133 follows a multi-stage boot process. Each stage loads the next, verifies integrity (if secure boot is enabled), and configures low-level hardware. A standard Allwinner A133 firmware image (e

    Power ON → BROM → SPL (Boot0) → ATF → U-Boot → Kernel (Linux/Android)
    

    | Stage | Location | Primary Role | |-------|----------|---------------| | BROM | Internal Mask ROM (4KB) | Basic DRAM initialization, loads SPL from boot media | | SPL (boot0) | eMMC/NAND/SD Card (first 32KB) | Full DRAM init, clocks, loads ATF & U-Boot | | ATF | eMMC/NAND | ARM Trusted Firmware (EL3), secure monitor, PSCI | | U-Boot | eMMC/NAND | Device tree fixup, load kernel, bootargs, fastboot, display init | | Kernel | eMMC/NAND/SD | Linux or Android boot |

    There is an ongoing effort to mainline A133 support in Linux kernel 6.x. However, for firmware work, stick to the BSP. This generates:

    Verdict: Use the BSP for production devices. Use mainline only for learning or headless servers.