您的位置:首页 > 文旅 > 美景 > 专业手机网站建设设计_龙岩招聘求职网站有哪些_天津抖音seo_广东的seo产品推广服务公司

专业手机网站建设设计_龙岩招聘求职网站有哪些_天津抖音seo_广东的seo产品推广服务公司

2024/12/21 22:46:44 来源:https://blog.csdn.net/W__winter/article/details/142291248  浏览:    关键词:专业手机网站建设设计_龙岩招聘求职网站有哪些_天津抖音seo_广东的seo产品推广服务公司
专业手机网站建设设计_龙岩招聘求职网站有哪些_天津抖音seo_广东的seo产品推广服务公司

头部信息结构体

/** Legacy format image header,* all data in network byte order (aka natural aka bigendian).*/
typedef struct image_header {__be32          ih_magic;       /* Image Header Magic Number  0x27051956  */__be32          ih_hcrc;        /* Image Header CRC Checksum    */__be32          ih_time;        /* Image Creation Timestamp     */__be32          ih_size;        /* Image Data Size              */__be32          ih_load;        /* Data  Load  Address          */__be32          ih_ep;          /* Entry Point Address          */__be32          ih_dcrc;        /* Image Data CRC Checksum      */uint8_t         ih_os;          /* Operating System             */uint8_t         ih_arch;        /* CPU architecture             */uint8_t         ih_type;        /* Image Type                   */uint8_t         ih_comp;        /* Compression Type             */uint8_t         ih_name[IH_NMLEN];      /* Image Name           */
} image_header_t;
  1. __be32 ih_magic - Image Header Magic Number

    1. 描述: 这是一个 4 字节的魔术数字(Magic Number),值为 0x27051956
    2. 作用: 用于标识这个文件是一个有效的 U-Boot 镜像文件。引导加载程序会检查这个值以验证文件格式的合法性。
    3. 字节顺序: 网络字节序(大端字节序),即高位字节在前。
  2. __be32 ih_hcrc - Image Header CRC Checksum

    1. 描述: 这是一个 4 字节的头部校验和(CRC32)。
    2. 作用: 用于验证头部信息的完整性。计算时,CRC 校验和字段本身被置零,计算剩余部分的 CRC 值。加载程序通过检查这个值来确定头部信息是否被篡改或损坏。
    3. 字节顺序: 网络字节序。
  3. __be32 ih_time - Image Creation Timestamp

    1. 描述: 这是一个 4 字节的时间戳,表示镜像的创建时间。
    2. 作用: 以 UNIX 时间(从 1970 年 1 月 1 日 UTC 时间的秒数)表示镜像的生成时间。用于记录和显示镜像生成的时间,帮助用户管理和维护不同版本的镜像文件。
    3. 字节顺序: 网络字节序。
  4. __be32 ih_size - Image Data Size

    1. 描述: 这是一个 4 字节的无符号整数,表示镜像数据的大小。
    2. 作用: 表示内核镜像数据(不包括头部)的实际大小,以字节为单位。用于引导加载程序在加载镜像数据时确定数据块的边界。
    3. 字节顺序: 网络字节序。
  5. __be32 ih_load - Data Load Address

    1. 描述: 这是一个 4 字节的无符号整数,表示镜像数据应被加载到内存中的地址。
    2. 作用: 指示引导加载程序将镜像数据从存储介质加载到内存中的目标地址。这个地址通常是在系统中没有冲突的、适合存放内核镜像的位置。
    3. 字节顺序: 网络字节序。
  6. __be32 ih_ep - Entry Point Address

    1. 描述: 这是一个 4 字节的无符号整数,表示内核镜像的入口地址。
    2. 作用: 指示加载程序在镜像数据被加载到内存后,程序执行的开始地址。当引导加载程序加载并解压镜像后,它会将控制权转交给这个地址,以启动内核。
    3. 字节顺序: 网络字节序。
  7. __be32 ih_dcrc - Image Data CRC Checksum

    1. 描述: 这是一个 4 字节的校验和(CRC32),用于镜像数据部分的完整性验证。
    2. 作用: 用于验证内核镜像数据(不包括头部)的完整性。引导加载程序在加载镜像后,计算数据部分的 CRC 值并与这个字段的值进行比较,以检查镜像数据是否损坏或被篡改。
    3. 字节顺序: 网络字节序。
  8. uint8_t ih_os - Operating System

    1. 描述: 这是一个 1 字节的字段,表示镜像所属的操作系统类型。
    2. 作用: 指示镜像所针对的操作系统,例如:
      /** Operating System Codes*/
      #define IH_OS_INVALID           0       /* Invalid OS   */
      #define IH_OS_OPENBSD           1       /* OpenBSD      */
      #define IH_OS_NETBSD            2       /* NetBSD       */
      #define IH_OS_FREEBSD           3       /* FreeBSD      */
      #define IH_OS_4_4BSD            4       /* 4.4BSD       */
      #define IH_OS_LINUX             5       /* Linux        */
      #define IH_OS_SVR4              6       /* SVR4         */
      #define IH_OS_ESIX              7       /* Esix         */
      #define IH_OS_SOLARIS           8       /* Solaris      */
      #define IH_OS_IRIX              9       /* Irix         */
      #define IH_OS_SCO               10      /* SCO          */
      #define IH_OS_DELL              11      /* Dell         */
      #define IH_OS_NCR               12      /* NCR          */
      #define IH_OS_LYNXOS            13      /* LynxOS       */
      #define IH_OS_VXWORKS           14      /* VxWorks      */
      #define IH_OS_PSOS              15      /* pSOS         */
      #define IH_OS_QNX               16      /* QNX          */
      #define IH_OS_U_BOOT            17      /* Firmware     */
      #define IH_OS_RTEMS             18      /* RTEMS        */
      #define IH_OS_ARTOS             19      /* ARTOS        */
      #define IH_OS_UNITY             20      /* Unity OS     */
      #define IH_OS_INTEGRITY         21      /* INTEGRITY    */
      #define IH_OS_OSE               22      /* OSE          */
      #define IH_OS_PLAN9             23      /* Plan 9       */
      #define IH_OS_OPENRTOS          24      /* OpenRTOS     */
    3. 字节顺序: 无需转换(单字节)。
  9. uint8_t ih_arch - CPU Architecture

    1. 描述: 这是一个 1 字节的字段,表示镜像所针对的 CPU 架构。
    2. 作用: 指定镜像的目标 CPU 架构,例如:
      /** CPU Architecture Codes (supported by Linux)*/
      #define IH_ARCH_INVALID       0   /* Invalid CPU    */
      #define IH_ARCH_ALPHA         1   /* Alpha           */
      #define IH_ARCH_ARM           2   /* ARM             */
      #define IH_ARCH_I386          3   /* Intel x86      */
      #define IH_ARCH_IA64          4   /* IA64           */
      #define IH_ARCH_MIPS          5   /* MIPS           */
      #define IH_ARCH_MIPS64        6   /* MIPS 64 Bit    */
      #define IH_ARCH_PPC           7   /* PowerPC         */
      #define IH_ARCH_S390          8   /* IBM S390       */
      #define IH_ARCH_SH            9   /* SuperH          */
      #define IH_ARCH_SPARC         10  /* Sparc           */
      #define IH_ARCH_SPARC64       11  /* Sparc 64 Bit   */
      #define IH_ARCH_M68K          12  /* M68K           */
      #define IH_ARCH_MICROBLAZE    14  /* MicroBlaze     */
      #define IH_ARCH_NIOS2         15  /* Nios-II         */
      #define IH_ARCH_BLACKFIN      16  /* Blackfin       */
      #define IH_ARCH_AVR32         17  /* AVR32           */
      #define IH_ARCH_ST200         18  /* STMicroelectronics ST200  */
      #define IH_ARCH_SANDBOX       19  /* Sandbox architecture (test only) */
      #define IH_ARCH_NDS32         20  /* ANDES Technology - NDS32  */
      #define IH_ARCH_OPENRISC      21  /* OpenRISC 1000  */
      #define IH_ARCH_ARM64         22  /* ARM64           */
      #define IH_ARCH_ARC           23  /* Synopsys DesignWare ARC */
    3. 字节顺序: 无需转换(单字节)。
  10. uint8_t ih_type - Image Type

    1. 描述: 这是一个 1 字节的字段,表示镜像的类型。
    2. 作用: 指定镜像的用途或类型,例如:
      #define IH_TYPE_INVALID         0       /* Invalid Image                */
      #define IH_TYPE_STANDALONE      1       /* Standalone Program           */
      #define IH_TYPE_KERNEL          2       /* OS Kernel Image              */
      #define IH_TYPE_RAMDISK         3       /* RAMDisk Image                */
      #define IH_TYPE_MULTI           4       /* Multi-File Image             */
      #define IH_TYPE_FIRMWARE        5       /* Firmware Image               */
      #define IH_TYPE_SCRIPT          6       /* Script file                  */
      #define IH_TYPE_FILESYSTEM      7       /* Filesystem Image (any type)  */
      #define IH_TYPE_FLATDT          8       /* Binary Flat Device Tree Blob */
      #define IH_TYPE_KWBIMAGE        9       /* Kirkwood Boot Image          */
      #define IH_TYPE_IMXIMAGE        10      /* Freescale IMXBoot Image      */
      #define IH_TYPE_UBLIMAGE        11      /* Davinci UBL Image            */
      #define IH_TYPE_OMAPIMAGE       12      /* TI OMAP Config Header Image  */
      #define IH_TYPE_AISIMAGE        13      /* TI Davinci AIS Image         */
      #define IH_TYPE_KERNEL_NOLOAD   14      /* OS Kernel Image, can run from any load address */
      #define IH_TYPE_PBLIMAGE        15      /* Freescale PBL Boot Image     */
      #define IH_TYPE_MXSIMAGE        16      /* Freescale MXSBoot Image      */
      #define IH_TYPE_GPIMAGE         17      /* TI Keystone GPHeader Image   */
      #define IH_TYPE_ATMELIMAGE      18      /* ATMEL ROM bootable Image     */
      #define IH_TYPE_SOCFPGAIMAGE    19      /* Altera SOCFPGA Preloader     */
      #define IH_TYPE_X86_SETUP       20      /* x86 setup.bin Image          */
      #define IH_TYPE_LPC32XXIMAGE    21      /* x86 setup.bin Image          */
      #define IH_TYPE_LOADABLE        22      /* A list of typeless images    */
      #define IH_TYPE_RKIMAGE         23      /* Rockchip Boot Image          */
      #define IH_TYPE_RKSD            24      /* Rockchip SD card             */
      #define IH_TYPE_RKSPI           25      /* Rockchip SPI image           */
      #define IH_TYPE_ZYNQIMAGE       26      /* Xilinx Zynq Boot Image */#define IH_TYPE_COUNT           27      /* Number of image types */
      
    3. 字节顺序: 无需转换(单字节)。
  11. uint8_t ih_comp - Compression Type

    1. 描述: 这是一个 1 字节的字段,表示镜像所使用的压缩类型。
    2. 作用: 指示内核镜像的压缩算法,例如:
      /** Compression Types*/
      #define IH_COMP_NONE            0       /*  No   Compression Used       */
      #define IH_COMP_GZIP            1       /* gzip  Compression Used       */
      #define IH_COMP_BZIP2           2       /* bzip2 Compression Used       */
      #define IH_COMP_LZMA            3       /* lzma  Compression Used       */
      #define IH_COMP_LZO             4       /* lzo   Compression Used       */
      #define IH_COMP_LZ4             5       /* lz4   Compression Used       */
      
    3. 字节顺序: 无需转换(单字节)。
  12. uint8_t ih_name[IH_NMLEN] - Image Name

    1. 描述: 这是一个固定长度(通常为 32 字节)的字符串字段,用于描述镜像的名称或用途。
    2. 作用: 提供镜像的描述信息,例如版本号、编译日期、构建信息等。帮助用户识别和管理不同版本的镜像文件。
    3. 字节顺序: 无需转换(字符串)。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com