基于openwrt编译环境的initramfs固件编译方法及系统与流程

文档序号:12122776阅读:来源:国知局

技术特征:

1.基于openwrt编译环境的initramfs固件编译方法,其特征在于:包括如下步骤:

S1,接收用户指令,将编译完成的内核文件vmlinux中的.init.data段内容保存至包含已压缩的rootfs文件的init_data文件中;

S2,将所述init_data文件按照两个分割点拆分为3份,拆分后形成的3个文件分别命名为head、body、tail,其中body文件为压缩后的rootfs文件系统;

S3,接收待更新的rootfs文件,将所述待更新的rootfs文件打包压缩形成新的压缩文件,并使其压缩格式与S2步骤中的body文件的压缩格式及文件大小相同;

S4,将S3步骤生成的压缩文件与S2步骤中的head文件、tail文件合并生成new_init_data文件;

S5,将所述new_init_data文件的内容更新至内核文件vmlinux中的.init.data段中,得到新的vmlinux内核文件;

S6,根据目标系统固件格式将新的vmlinux内核文件打包生成对应的固件。

2.根据权利要求1所述的基于openwrt编译环境的initramfs固件编译方法,其特征在于:所述S2步骤中的两个分割点中,第一个分割点为已压缩的rootfs文件的起始位置,第二个分割点根据固件系统的位数进行确定。

3.根据权利要求2所述的基于openwrt编译环境的initramfs固件编译方法,其特征在于:

在S2步骤中,当所述固件系统的位数为32位,所述第二分割点为倒数第四个字节;

当所述固件系统的位数为64位,所述第二分割点为倒数第八个字节。

4.根据权利要求1所述的基于openwrt编译环境的initramfs固件编译方法,其特征在于:在所述S3步骤中,当所述新压缩文件的大小不足所述S2步骤中的body文件大小时,在所述新压缩文件中填充0字节内容。

5.基于openwrt编译环境的initramfs固件编译系统,其特征在于:包括

文件提取单元,用于接收用户指令,将编译完成的内核文件vmlinux中的.init.data段内容保存至包含已压缩的rootfs文件的init_data文件中;

文件拆分单元,用于将所述init_data文件按照两个分割点拆分为3份,拆分后形成的3个文件分别命名为head、body、tail,其中body文件即为压缩后的rootfs文件系统;

扩容单元,用于接收待更新的rootfs文件,将所述待更新的rootfs文件打包压缩形成新的压缩文件,并使其压缩格式与S2步骤中的body文件的压缩格式及文件大小相同;

合成单元,用于将扩容单元生产的压缩文件与S2步骤中的head文件、tail文件合并生成new_init_data文件;

更新单元,用于将new_init_data文件内容更新至内核文件vmlinux中的.init.data段中,得到新的vmlinux内核文件;

以及,生成单元,用于根据目标系统固件格式将新的vmlinux内核文件打包生成对应的固件。

6.根据权利要求5所述的基于openwrt编译环境的initramfs固件编译系统,其特征在于:所述文件拆分单元的第一个分割点为已压缩的rootfs文件的起始位置;当所述固件系统的位数为32位,所述第二分割点为倒数第四个字节;当所述固件系统的位数为64位,所述第二分割点为倒数第八个字节。

7.根据权利要求5所述的基于openwrt编译环境的initramfs固件编译系统,其特征在于:所述扩容单元中设置有内核patch文件。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1