Edit online

配置文件总览

该 JSON 文件通过嵌套对象的方式,描述一个待生成的镜像文件所包含的数据和信息。 其中最终输出的 “image” 对象,由 “info” 数据,”updater” 数据,”target” 数据组成, 制作 “image” 的过程中需要生成和使用的临时文件由 “temporary” 描述。

{
    "image": {
            "info": {
                    "platform": "aic1602",
                    "product": "fpga_nand",
                    "version": "1.0.0",
                    "media": {
                            "type": "spi-nand",
                            "device_id": 0,
                            "nand_id" : ["0xef", "0xba", "0x21"],
                    }
            },

            "updater": {
                    "spl": {
                            "file": "u-boot-spl-updater.aic",
                            "attr": ["required", "run"],
                            "ram": "0x00103000"
                    },
                    "bootui": {
                            "file": "bootui.img",
                            "attr": "optional",
                            "ram": "0x80300000"
                    },
                    "env": {
                            "file": "env.bin",
                            "attr": ["required"],
                            "ram": "0x83100000"
                    },
                    "uboot": {
                            "file": "u-boot-updater.aic",
                            "attr": ["required", "run"],
                            "ram": "0x80007F00"
                    }
            },

            "target": {
                    "spl": {
                            "file": "u-boot-spl.aic",
                            "attr": ["mtd", "required", "burn"],
                            "part": ["spl"]
                    },
                    "uboot": {
                            "file": "u-boot-dtb.img",
                            "attr": ["mtd", "required", "burn"],
                            "part": ["uboot"]
                    },
                    "env": {
                            "file": "env.bin",
                            "attr": ["mtd", "required", "burn"],
                            "part": ["env", "envbak"]
                    },
                    "bootui": {
                            "file": "bootui.img",
                            "attr": ["mtd", "optional", "burn"],
                            // <mtd part name>:<ubi volume name>
                            "part": ["bootui"]
                    },
                    "dtb": {
                            "file": "u-boot.dtb",
                            "attr": ["mtd", "required", "burn"],
                            "part": ["dtb"]
                    },
                    "kernel": {
                            "file": "Image.gz",
                            "attr": ["mtd", "required", "burn"],
                            "part": ["kernel"]
                    },
                    "rootfs": {
                            "file": "rootfs.ubifs",
                            "attr": ["ubi", "optional", "burn"],
                            "part": ["ubiroot:rootfs"]
                    },
                    "app": {
                            "file": "user.img",
                            "attr": ["ubi", "optional", "burn"],
                            "part": ["ubisystem:user"]
                    }
            }
    },

    "temporary": {
            "aicboot": {
                    "u-boot-spl.aic": {
                            "head_ver": "0x00010000",
                            "anti-rollback counter": 1,
                            "loader": {
                                    "file": "u-boot-spl.bin",
                                    "load address": "0x103100",
                                    "entry point": "0x103100",
                            },
                            "resource": {
                                    "private": "private.bin",
                                    "pubkey": "rsa_pub_key.der",
                                    "pbp": "aic1602.pbp",
                            },
                            "encryption": {
                                    "algo": "aes-128-cbc",
                                    "key": "aes-128-cbc-key.bin",
                                    "iv": "aes-128-cbc-iv.bin",
                            },
                            "signature": {
                                    "algo": "rsa,2048",
                                    "privkey": "rsa-2048-private.der",
                            },
                    },
            },
            "itb": {
                    "u-boot.itb": {
                            "its": "u-boot.its"
                    },
            },
    },
}