掌機 - Miyoo Mini Flip - Dump U-Boot Env



dump.py

import os
import sys

FILE = sys.argv[1]

START = 0x5f004
END   = 0x60000

with open(FILE, "rb") as f:
    f.seek(START)
    data = f.read(END - START)

offset = START

for item in data.split(b"\0"):
    if not item:
        offset += 1
        continue

    try:
        s = item.decode("utf-8")
    except UnicodeDecodeError:
        s = item.decode("latin-1")

    print(f"{s}")
    offset += len(item) + 1

執行

$ python3 ./dump.py spi.bin 
    SdUpgradeImage=miyoo285_fw.img
    baudrate=115200
    bootargs=console=ttyS0,115200 root=/dev/mtdblock4 rootfstype=squashfs ro init=/linuxrc LX_MEM=0x7f00000 mma_heap=mma_heap_name0,miu=0,sz=0x1500000 mma_memblock_remove=1 highres=off mmap_reserved=fb,miu=0,sz=0x300000,max_start_off=0x7C00000,max_end_off=0x7F00000
    bootcmd=gpio output 73 1;sleepms 50;gpio output 73 0;sleepms 150;gpio output 73 1;sleepms 200;gpio output 85 1; bootlogo 0 0 0 0 0; mw 1f001cc0 11; gpio out 8 0; sf probe 0;sf read 0x22000000 ${sf_kernel_start} ${sf_kernel_size}; gpio out 8 1; sleepms 1000; gpio output 4 1; bootm 0x22000000
    bootdelay=0
    cpu_part_start=14270000
    dispout=LCD752560
    ethact=sstar_emac
    ethaddr=00:30:1b:ba:02:db
    filesize=1e4f0
    miyoo_version=202510011046
    sf_kernel_size=200000
    sf_kernel_start=60000
    sf_part_size=20000
    sf_part_start=270000
    stderr=serial
    stdin=serial
    stdout=serial
    usb_folder=images