CN117648110A - 一种脱离aosp编译环境单独打包内核镜像的方法 - Google Patents
一种脱离aosp编译环境单独打包内核镜像的方法 Download PDFInfo
- Publication number
- CN117648110A CN117648110A CN202410116435.6A CN202410116435A CN117648110A CN 117648110 A CN117648110 A CN 117648110A CN 202410116435 A CN202410116435 A CN 202410116435A CN 117648110 A CN117648110 A CN 117648110A
- Authority
- CN
- China
- Prior art keywords
- kernel
- file
- image
- image file
- img
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 33
- 238000004806 packaging method and process Methods 0.000 title claims abstract description 15
- 238000011084 recovery Methods 0.000 claims description 18
- 238000005192 partition Methods 0.000 claims description 12
- 238000012986 modification Methods 0.000 claims description 10
- 230000004048 modification Effects 0.000 claims description 10
- 238000011161 development Methods 0.000 abstract description 9
- 230000000694 effects Effects 0.000 description 5
- 230000006837 decompression Effects 0.000 description 2
- 238000012858 packaging process Methods 0.000 description 2
- 238000012857 repacking Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Landscapes
- Stored Programmes (AREA)
Abstract
本申请涉及一种脱离AOSP编译环境单独打包内核镜像的方法,涉及计算机软件的技术领域,该方法包括获取包含内核的内核镜像文件,检查内核镜像文件的加密情况,解压内核镜像文件,并保存内核镜像文件对应的镜像信息,修改内核镜像文件,基于保存的内核镜像文件对应的镜像信息对修改后的内核镜像文件进行重新打包,得到新的内核镜像文件,基于加密情况对新的内核镜像文件进行加密。本申请达到了可降低内核开发过程中对AOSP的依赖、服务器的磁盘和算力资源的消耗,确保上层AOSP版本状态的一致性,极大提高了AOSP内核开发效率,节约时间,节省人力成本的效果。
Description
技术领域
本申请涉及计算机软件的领域,尤其涉及一种脱离AOSP编译环境单独打包内核镜像的方法。
背景技术
众所周知在开发AOSP系统时,需要占用大量的磁盘资源来存放AOSP的代码,在编译时更是需要占用大量的服务器算力资源;而开发内核,相对AOSP来说只会占用很小一部分,可以释放出大量的服务器磁盘资源,所以在开发AOSP系统内核的过程中,需要拉取一整包AOSP的SDK造成了服务器磁盘资源上的浪费,而AOSP 里内核镜像的生成又依赖于SDK的编译链,且每次AOSP的编译都要启动ninja先对AOSP的代码检查看是否需要编译,对于服务器性能不是很好的情况时,ninja的启动会特别缓慢,如果在检查完有部分文件需要编译时,还会进行AOSP的编译,此种情况会大大降低内核调试的效率,大量的时间浪费在这种无意义的等待上。
有鉴于此,内核开发时迫切需要设计一种新的修改镜像里面内核的方法,以便提高内核的开发效率。
发明内容
为解决上述技术问题,本发明提供了一种脱离AOSP编译环境单独打包内核镜像的方法,采用如下技术方案:
一种脱离AOSP编译环境单独打包内核镜像的方法,包括:
步骤S101,获取包含内核的内核镜像文件;
步骤S102,检查内核镜像文件的加密情况;
步骤S103,解压内核镜像文件,并保存内核镜像文件对应的镜像信息;
步骤S104,修改内核镜像文件;
步骤S105,基于步骤S103保存的内核镜像文件对应的镜像信息对步骤S104修改后的内核镜像文件进行重新打包,得到新的内核镜像文件;
步骤S106,基于步骤S102的加密情况对步骤S105得到的新的内核镜像文件进行加密。
在另一种可能实现的方式中,所述内核镜像文件包括boot.img以及recovery.img。
在另一种可能实现的方式中,在步骤S102检查内核镜像文件的加密情况时,镜像的加密信息被保存到临时文件。
在另一种可能实现的方式中,所述保存内核镜像文件对应的镜像信息,包括:
将解压完成的内核镜像文件保存在临时目录中,并将解码时的镜像信息保存至临时文件中。
在另一种可能实现的方式中,所述步骤S104,修改内核镜像文件,包括:
对所述内核镜像文件进行局部修改。
在另一种可能实现的方式中,所述步骤S103得到的镜像信息包括启动环境变量、安全补丁、头部版本以及版本信息。
在另一种可能实现的方式中,所述步骤S102的加密情况包括是否开启AVB加密、镜像分区大小、镜像类型、加密算法类型和卷数。
在另一种可能实现的方式中,所述boot.img是AOSP 一个分区镜像,是运行系统必须加载的文件,其中必定包含内核kernel和文件系统ramdisk.img,或可选的厂家订制资源文件区second。
在另一种可能实现的方式中,所述recovery.img是AOSP 一个分区镜像,用于进入恢复模式,当系统因某些原因不能正常进入时,可以进入恢复模式进行恢复系统,其中必定包含内核kernel和文件系统ramdisk-recovery.img,或可选的厂家订制资源文件区second。
在另一种可能实现的方式中,内核启动需与所述内核的版本相对应的设备树dtb支撑,所述方法还包括:
步骤S201,获取所述设备树dtb对应的设备树镜像文件dtb.img;
步骤S202,对所述设备树镜像文件dtb.img进行解压,得到所述设备树镜像文件dtb.img对应的镜像信息,并进行保存;
步骤S203,对所述设备树镜像文件进行局部修改;
步骤S204,基于步骤S202解压后的镜像信息对步骤S203局部修改后的设备树镜像文件dtb.img进行重新打包。
综上所述,本申请包括以下有益技术效果:
可降低内核开发过程中对AOSP的依赖、服务器的磁盘和算力资源的消耗,确保上层AOSP版本状态的一致性,极大提高了AOSP内核开发效率,节约时间,节省人力成本。
具体实施方式
本领域技术人员在阅读完本说明书后可以根据需要对本实施例做出没有创造性贡献的修改,但只要在本申请的权利要求范围内都受到专利法的保护。
本申请实施例中所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,如无特殊说明,一般表示前后关联对象是一种“或”的关系。
一种脱离AOSP编译环境单独打包内核镜像的方法包括:步骤S101、步骤S102、步骤S103、步骤S104、步骤S105以及步骤S106,其中,
步骤S101,获取包含内核的内核镜像文件。
对于本申请实施例,内核的内核镜像文件包括boot.img以及recovery.img,其中,boot.img是AOSP一个分区镜像,是运行系统必须加载的文件,其中必定包含内核kernel和文件系统ramdisk.img,或可选的厂家订制资源文件区second等,recovery.img也是AOSP一个分区镜像,用于进入恢复模式,当系统因某些原因不能正常进入时,可以进入恢复模式进行恢复系统,其中必定包含内核kernel和文件系统ramdisk-recovery.img,或可选的厂家订制资源文件区second等。
而由于boot.img和recovery.img打包过程和所使用的工具一致,因此在本申请实施例中,以boot.img为实例进行。获取包含内核的内核镜像文件,即为获取boot.img,通过AOSP的out目录获取到镜像文件,并在AOSP内获取到AVB key文件,AVB key文件为密钥文件,获取到密钥文件,以便于后续能够基于秘钥文件对内核镜像文件进行加密处理。
步骤S102,检查内核镜像文件的加密情况。
对于本申请实施例,通过检查avb校验的方式检查内核镜像文件的加密情况。具体的,通过avbtool info_image --image boot.img > .tmp_bootimgcfg命令实现,当输出错误时,说明boot.img中不存在avb打包信息数据,即说明该镜像文件boot.img不支持avb,也即该镜像文件boot.img的加密情况为未加密;当输出有效文本时,说明该镜像文件boot.img中存在avb打包信息数据,即说明该镜像文件boot.img支持avb,在本申请实施例中,输出的有效文本包括镜像分区大小、镜像类型、加密算法类型和卷数,即在本申请实施例中,加密情况包括是否开启AVB加密、镜像分区大小、镜像类型、加密算法类型和卷数,将加密情况保存到临时文件中,在本申请实施例中,临时文件为.tmp_bootimgcfg。
进一步的,在本申请实施例中,将加密情况保存到临时文件时,会首先判断当前目录中是否存在名为.tmp_bootimgcfg的临时文件,当存在,会先把该临时文件清空,然后再将加密情况保存至临时文件中;而当不存在时,首先会创建名为.tmp_bootimgcfg的临时文件,然后再将加密情况保存至临时文件中。
步骤S103,解压内核镜像文件,并保存内核镜像文件对应的镜像信息。
对于本申请实施例,镜像信息包括启动环境变量、安全补丁、头部版本以及版本信息。保存镜像信息时,具体包括:
将解压完成的内核镜像文件保存在临时目录中,并将解码时的镜像信息保存至临时文件中。
在本申请实施例中,以镜像文件boot.img为例,临时目录.tmp_bootimg目录,临时文件为.tmp_bootimgcfg文件,并将解压后的内核镜像文件存放在.tmp_bootimg目录,.tmp_bootimg目录中必定包含有内核kernel和文件系统ramdisk.img以及可选包含在内的厂家订制资源文件区second等,解压时的镜像信息以追加方式存放在.tmp_bootimgcfg中,从而达到解压镜像文件boot.img,并保存对应的镜像信息的效果。具体的实现命令为:unpack_bootimg --boot_img boot.img --out .tmp_bootimg >> .tmp_bootimgcfg。
其中,镜像信息是保存在.tmp_bootimgcfg文件末尾处,因此在该步骤S103中对临时文件重定向时使用“>> .tmp_bootimgcfg”命令区别于步骤S102中“> .tmp_bootimgcfg”的命令。
步骤S104,修改内核镜像文件。
对于本申请实施例,修改内核镜像文件时,只需对该内核镜像文件进行局部修改即可,主要针对kernel内核文件,能直接进行篡改,以镜像文件boot.img为例,修改镜像文件boot.img时,只需替换.tmp_bootimg目录下的kernel文件即可达到修改镜像文件boot.img的效果。
步骤S105,基于步骤S103保存的内核镜像文件对应的镜像信息对步骤S104修改后的内核镜像文件进行重新打包,得到新的内核镜像文件。
对于本申请实施例,通过如下命令实现重新打包内核镜像文件的效果,命令如下:
mkbootimg --kernel $KERNEL_FILE --ramdisk $RAMDISK_FILE --os_version$AndroidVersion --os_patch_level $SecurityLevel --header_version $HeadVersion--cmdline "$CmdLine" -o $ImageName
其中,$KERNEL_FILE是经过步骤S104修改后的内核镜像文件,$RAMDISK_FILE为本申请实施例中的文件系统ramdisk.img,$AndroidVersion、$SecurityLevel、$HeadVersion和$CmdLine是解压镜像时获取的信息(分别对应AOSP版本、安全补丁头部信息版本及启动环境变量)保存在.tmp_bootimgcfg, $ImageName输出镜像的名字。
仍以镜像文件boot.img为例,进行重新打包时,通过如下命令实现:
mkbootimg --kernel .tmp_bootimg/kernel --ramdisk .tmp_bootimg/ramdisk--os_version 12 --os_patch_level 2022-07-05 --header_version 2--cmdline "console=ttyFIQ0 firmware_class.path=/vendor/etc/firmware init=/init rootwaitro loop.max_part=7 androidboot.console=ttyFIQ0 androidboot.wificountrycode=CNandroidboot.hardware=rk30board" -o boot.img
该命令的含义为把.tmp_bootimg目录下的kernel和ramdisk打包成一个boot.img,并指定AOSP的版本为12,当前的安全补丁是2022-07-05日的,以及头部信息版本为2,启动环境变量为console=ttyFIQ0 firmware_class.path=/vendor/etc/firmwareinit=/init rootwait ro loop.max_part=7 androidboot.console=ttyFIQ0androidboot.wificountrycode=CN androidboot.hardware=rk30board",-o是输出镜像名字为boot.img的文件到当前目录。
步骤S106,基于步骤S102的加密情况对步骤S105得到的新的内核镜像文件进行加密。
对于本申请实施例,当加密情况中包含未加密的信息时,说明该新的内核镜像文件不需要进行avb加密,即不执行步骤S106,仅执行到步骤S105,即完成内核镜像的打包操作;而当加密情况中包含已加密的信息时,说明该新的内核镜像文件需要avb加密,即通过如下命令实现加密过程:
avbtool add_hash_footer --image $BOOTIMG_FILE --partition_size $ImgSize --partition_name $ImgType --algorithm $AlgoType --rollback_index $RollbackIndex --key $SignFile
其中,$BOOTIMG_FILE为镜像文件,$ImgSize、$ImgType、$AlgoType和$RollbackIndex都是经过步骤S102时,解析.tmp_bootimgcfg文本得到的内容,具体的,$ImgSize为镜像分区大小,$ImgType为镜像类型,$AlgoType为加密算法类型,$RollbackIndex为卷数,$SignFile的内容是需要在AOSP内获取,为所添加的秘钥文件,对应本申请实施例中步骤S101获取到的AVB key文件。接上例,对需要avb加密的镜像文件boot.img进行加密时,具体通过下述命令执行:
avbtool add_hash_footer --image boot.img --partition_size 0x4000000--partition_name boot --algorithm SHA256_RSA4096 --rollback_index 0 --keykey_rsa4096.pem
其中,add_hash_footer表示对镜像添加hash校验秘钥--key所对应的文件key_rsa4096.pem就是所添加的秘钥,并把boot.img按0x4000000的大小重新打包一次且其中AVB校验信息数据,数据包含镜像类型boot,算法类型SHA256_RSA4096,分区卷数0,该卷数的含义在于当所打包的文件过大时,会分成N个0x4000000大小的img包,N - 1就是卷数,这里的0代表一个0x4000000大小的img包就能包含boot.img全部内容,通常情况下该数值都是0。
本申请实施例的一种可能的实现方式,由于设备树镜像文件dtb.img是AOSP一个镜像,在AOSP标准里面用于存放内核所使用的设备树(dtb)文件,在系统启动阶段会根据设备树dtb的内容来加载设备,即在内核启动时需要对应该内核版本的设备树dtb来支撑,因此当在步骤S104修改了内核后,也需对与该内核版本对应的设备树dtb进行修改,具体包含步骤S201、步骤S202、步骤S203以及步骤S204,其中,
步骤S201,获取设备树dtb对应的设备树镜像文件dtb.img。
对于本申请实施例,通过AOSP的out目录获取到设备树镜像文件dtb.img。
步骤S202,对设备树镜像文件dtb.img进行解压,得到设备树镜像文件dtb.img对应的镜像信息,并进行保存。
对于本申请实施例,通过如下命令实现对设备树镜像文件dtb.img的解压操作:
mkdtimg dump dtb.img -b .tmp_dtb -o .tmp_dtbcfg
该命令的具体含义为:把dtb.img进行拆分,拆分后的文件存放在.tmp_dtb目录内,拆分时的镜像信息保存在.tmp_dtbcfg文件。
上述命令的格式为:mkdtimg dump $IMAGE -b $PATH -o $FILE
其中,$IMAGE为待解包的dtb.img,$PATH为解包的文件存放位置,$FILE为解包镜像信息保存文件。
步骤S203,对设备树镜像文件进行局部修改。
对于本申请实施例,通过替换.tmp_dtb内目标dtb文件,即可达到对设备树镜像文件进行局部修改的效果。
在本申请实施例中,当开发板不同时,对应的设备的使用情况也不同,目标dtb文件为描述当前开发板对应的设备的使用情况的一个二进制文件,通过dts(device treesource)文件使用dtc(device tree compile)工具编译得到。
步骤S204,基于步骤S202解压后的镜像信息对步骤S203局部修改后的设备树镜像文件dtb.img进行重新打包。
对于本申请实施例,将.tmp_dtb目录下的所有文件,打包成dtb.img镜像文件,具体通过如下命令实现:
mkdtimg create dtb.img .tmp_dtb/.dtb
该命令的格式为::mkdtimg create $IMAGE $DTB_FILE
其中,$IMAGE为打包镜像的名字,$DTB_FILE为dtb镜像文件集合
本申请实施例的另一种可能实现的方式,厂家不同时,对应的设备树dtb文件的存放位置不同,有些厂家的boot.img的second部分存放了包含设备树dtb文件,本申请实施例以瑞芯微平台设备树dtb文件存在内核镜像文件中的情况为例进行了进一步的举例说明,方法如下:
由于boot.img和recovery.img打包过程和所使用的工具一致,在此本申请实施例以boot.img为实例进行。
步骤S101,获取内核镜像文件boot.img,与上述步骤S101的实施例相同,不多加赘述。
步骤S102,检查内核镜像文件的加密情况,与上述步骤S102的实施例相同,不多加赘述。
步骤S103,解压内核镜像文件,并保存内核镜像文件对应的镜像信息,与上述步骤S103的实施例相同:解压完成的内核镜像文件保存在临时目录.tmp_bootimg中,解码时的镜像信息保存至临时文件.tmp_bootimgcfg中。
步骤S104,修改内核镜像文件,具体包括如下步骤:
步骤Sa,解压.tmp_bootimg下second文件,具体通过如下命令实现:
resource_tool --unpack --verbose --image=.tmp_bootimg/second
上述命令的含义:对second文件进行解压,解压后得到图片资源和dtb存放到.tmp_resource目录下。
步骤Sb,替换.tmp_resource目录下dtb文件,并重新打包second文件,具体通过如下命令实现:
resource_tool --pack --root=.tmp_resource --image=second
上述命令的含义:对.tmp_resource目录下的文件,进行打包生成文件名为second的文件。
步骤Sc,替换.tmp_bootimg目录下second和kernel文件。
步骤S105,基于步骤S103保存的内核镜像文件对应的镜像信息对步骤S104修改后的内核镜像文件进行重新打包,得到新的内核镜像文件。
mkbootimg --kernel .tmp_bootimg/kernel --ramdisk .tmp_bootimg/ramdisk--second .tmp_bootimg/second --os_version 12 --os_patch_level 2022-07-05 --header_version 2 --cmdline "console=ttyFIQ0 firmware_class.path=/vendor/etc/firmware init=/init rootwait ro loop.max_part=7 androidboot.console=ttyFIQ0androidboot.wificountrycode=CN androidboot.hardware=rk30board" -o boot.img
上述打包命令的含义:把.tmp_bootimg目录下的修改后的second、kernel和ramdisk打包成一个boot.img,并指定AOSP的版本为12,当前的安全补丁是2022-07-05日的,以及头部信息版本为2,启动环境变量为console=ttyFIQ0 firmware_class.path=/vendor/etc/firmware init=/init rootwait ro loop.max_part=7androidboot.console=ttyFIQ0 androidboot.wificountrycode=CNandroidboot.hardware=rk30board",-o是输出镜像名字为boot.img的文件到当前目录;
上述指令格式:mkbootimg --kernel $KERNEL_FILE --ramdisk $RAMDISK_FILE--second $Second --os_version $AndroidVersion --os_patch_level $SecurityLevel--header_version $HeadVersion --cmdline "$CmdLine" -o $ImageName
需要注意:KERNEL_FILE是经过S104的步骤Sc替换后的内核镜像文件,RAMDISK_FILE是解码镜像时获得并保存在.tmp_bootimg目录,Second是经过S104的步骤Sc替换后的厂家订制资源文件,AndroidVersion、SecurityLevel、HeadVersion和CmdLine是解压镜像时获取的信息保存在.tmp_bootimgcfg,$ImageName输出镜像的名字。
步骤S106,根据步骤S102的加密情况对重新打包后的镜像文件进行加密,与上述实施例中的步骤S106的实现过程相同,在此不多加赘述。
以上仅是本申请的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (10)
1.一种脱离AOSP编译环境单独打包内核镜像的方法,其特征在于,包括:
步骤S101,获取包含内核的内核镜像文件;
步骤S102,检查内核镜像文件的加密情况;
步骤S103,解压内核镜像文件,并保存内核镜像文件对应的镜像信息;
步骤S104,修改内核镜像文件;
步骤S105,基于步骤S103保存的内核镜像文件对应的镜像信息对步骤S104修改后的内核镜像文件进行重新打包,得到新的内核镜像文件;
步骤S106,基于步骤S102的加密情况对步骤S105得到的新的内核镜像文件进行加密。
2.根据权利要求1所述的一种脱离AOSP编译环境单独打包内核镜像的方法,其特征在于,所述内核镜像文件包括boot.img以及recovery.img。
3.根据权利要求1所述的一种脱离AOSP编译环境单独打包内核镜像的方法,其特征在于,在步骤S102检查内核镜像文件的加密情况时,镜像的加密信息被保存到临时文件。
4.根据权利要求1所述的一种脱离AOSP编译环境单独打包内核镜像的方法,其特征在于,所述保存内核镜像文件对应的镜像信息,包括:
将解压完成的内核镜像文件保存在临时目录中,并将解码时的镜像信息保存至临时文件中。
5.根据权利要求1所述的一种脱离AOSP编译环境单独打包内核镜像的方法,其特征在于,所述步骤S104,修改内核镜像文件,包括:
对所述内核镜像文件进行局部修改。
6.根据权利要求1所述的一种脱离AOSP编译环境单独打包内核镜像的方法,其特征在于,所述步骤S103得到的镜像信息包括启动环境变量、安全补丁、头部版本以及版本信息。
7.根据权利要求1所述的一种脱离AOSP编译环境单独打包内核镜像的方法,其特征在于,所述步骤S102的加密情况包括是否开启AVB加密、镜像分区大小、镜像类型、加密算法类型和卷数。
8.根据权利要求2所述的一种脱离AOSP编译环境单独打包内核镜像的方法,其特征在于,所述boot.img是AOSP一个分区镜像,是运行系统必须加载的文件,其中必定包含内核kernel和文件系统ramdisk.img,或可选的厂家订制资源文件区second。
9.根据权利要求2所述的一种脱离AOSP编译环境单独打包内核镜像的方法,其特征在于,所述recovery.img是AOSP一个分区镜像,用于进入恢复模式,当系统因某些原因不能正常进入时,可以进入恢复模式进行恢复系统,其中必定包含内核kernel和文件系统ramdisk-recovery.img,或可选的厂家订制资源文件区second。
10.根据权利要求1所述的一种脱离AOSP编译环境单独打包内核镜像的方法,其特征在于,内核启动需与所述内核的版本相对应的设备树dtb支撑,所述方法还包括:
步骤S201,获取所述设备树dtb对应的设备树镜像文件dtb.img;
步骤S202,对所述设备树镜像文件dtb.img进行解压,得到所述设备树镜像文件dtb.img对应的镜像信息,并进行保存;
步骤S203,对所述设备树镜像文件进行局部修改;
步骤S204,基于步骤S202解压后的镜像信息对步骤S203局部修改后的设备树镜像文件dtb.img进行重新打包。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410116435.6A CN117648110A (zh) | 2024-01-29 | 2024-01-29 | 一种脱离aosp编译环境单独打包内核镜像的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410116435.6A CN117648110A (zh) | 2024-01-29 | 2024-01-29 | 一种脱离aosp编译环境单独打包内核镜像的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117648110A true CN117648110A (zh) | 2024-03-05 |
Family
ID=90045384
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410116435.6A Pending CN117648110A (zh) | 2024-01-29 | 2024-01-29 | 一种脱离aosp编译环境单独打包内核镜像的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117648110A (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103793254A (zh) * | 2014-02-24 | 2014-05-14 | 东莞市远峰科技有限公司 | 一种android系统及其定制剪裁方法 |
CN104765607A (zh) * | 2015-04-01 | 2015-07-08 | 闻泰通讯股份有限公司 | 免编译修改刷机包的方法 |
CN104809414A (zh) * | 2015-05-04 | 2015-07-29 | 深圳市创世达实业有限公司 | 一种防止冷启动攻击的u盘加密密钥存放方法 |
US20190369975A1 (en) * | 2019-08-14 | 2019-12-05 | Intel Corporation | Methods, systems, and apparatus for a generic firmware-based kernel library mechanism |
CN110647753A (zh) * | 2019-09-30 | 2020-01-03 | Oppo广东移动通信有限公司 | 内核文件的获取方法、装置、设备及存储介质 |
CN110888650A (zh) * | 2019-10-12 | 2020-03-17 | 苏州浪潮智能科技有限公司 | 一种操作系统镜像的定制方法及系统 |
CN113961236A (zh) * | 2021-10-15 | 2022-01-21 | 杭州安恒信息技术股份有限公司 | 固件文件的修改方法、系统、可读存储介质及计算机设备 |
CN116643761A (zh) * | 2023-05-30 | 2023-08-25 | 苏州浪潮智能科技有限公司 | 一种定制化镜像制作及部署方法、装置、终端及介质 |
-
2024
- 2024-01-29 CN CN202410116435.6A patent/CN117648110A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103793254A (zh) * | 2014-02-24 | 2014-05-14 | 东莞市远峰科技有限公司 | 一种android系统及其定制剪裁方法 |
CN104765607A (zh) * | 2015-04-01 | 2015-07-08 | 闻泰通讯股份有限公司 | 免编译修改刷机包的方法 |
CN104809414A (zh) * | 2015-05-04 | 2015-07-29 | 深圳市创世达实业有限公司 | 一种防止冷启动攻击的u盘加密密钥存放方法 |
US20190369975A1 (en) * | 2019-08-14 | 2019-12-05 | Intel Corporation | Methods, systems, and apparatus for a generic firmware-based kernel library mechanism |
CN110647753A (zh) * | 2019-09-30 | 2020-01-03 | Oppo广东移动通信有限公司 | 内核文件的获取方法、装置、设备及存储介质 |
CN110888650A (zh) * | 2019-10-12 | 2020-03-17 | 苏州浪潮智能科技有限公司 | 一种操作系统镜像的定制方法及系统 |
CN113961236A (zh) * | 2021-10-15 | 2022-01-21 | 杭州安恒信息技术股份有限公司 | 固件文件的修改方法、系统、可读存储介质及计算机设备 |
CN116643761A (zh) * | 2023-05-30 | 2023-08-25 | 苏州浪潮智能科技有限公司 | 一种定制化镜像制作及部署方法、装置、终端及介质 |
Non-Patent Citations (8)
Title |
---|
ALDERAAN: "RK3288 Debian系统boot.img/recovery.img 修改内核", pages 1, Retrieved from the Internet <URL:CSDN https://blogs.csdn.net/GerZhouGengCheng/article/details/107610285> * |
ASML: "(转)linux系统替换新内核(编译安装替换与打包替换)", Retrieved from the Internet <URL:https://www.cnblogs.com/DragonStart/articles/7580036.html> * |
CALLOFDUTYOPS: "boot.img修改大全", Retrieved from the Internet <URL:https://blog.csdn.net/callofandroid/article/details/18896089> * |
CODINGCOS: "Android 编译介绍序列文章", pages 1 - 4, Retrieved from the Internet <URL:https://blog.csdn.net/sinat_32960911/article/details/126865607> * |
丕亮辛: "加密文件如何修改", Retrieved from the Internet <URL:https://eyangzhen.com/146540.html> * |
仲治国: "《电脑密码完全解密 系统、软件、网络密码设置与清除详解》", 31 March 2004, 云南人民出版社, pages: 216 - 218 * |
楼中望月: "android AVB2.0(一)工作原理及编译配置", pages 1 - 5, Retrieved from the Internet <URL:https://blog.csdn.net/jackone12347/article/details/119043280> * |
赵克佳: "《UNIX程序设计教程》", 30 April 2001, 清华大学出版社, pages: 75 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109491695B (zh) | 一种集成安卓应用的增量更新方法 | |
US8719810B2 (en) | Program upgrade system and method for over the air-capable mobile terminal | |
EP2549380B1 (en) | Information processing device, virtual machine generation method, and application software distribution system | |
US10579592B2 (en) | Method and apparatus for compressing an application | |
CN111367510B (zh) | 一种安卓功能模块开发的方法及装置 | |
US20070294685A1 (en) | Program upgrade system and method for ota-capable portable device | |
US20070214453A1 (en) | Installation of Software on Removable Media | |
US7533101B2 (en) | Extensible loader | |
KR20050039532A (ko) | 자원 매니페스트 | |
CN105975311B (zh) | 一种应用启动方法及装置 | |
US9513762B1 (en) | Static content updates | |
CN111008009A (zh) | 基于Flutter的业务组件化方法及系统 | |
CN109828776B (zh) | 一种查找缺失资源并补充的方法及系统 | |
CN111562929A (zh) | 补丁文件的生成方法、装置、设备及存储介质 | |
CN113849845B (zh) | 对插件文件打包的方法和装置、计算设备和可读存储介质 | |
CN114047938A (zh) | 一种构建镜像的方法、装置、设备及可读存储介质 | |
CN113741954A (zh) | 系统软件生成方法、装置、电子设备及存储介质 | |
CN111400256B (zh) | 一种应用程序调用资源文件的方法及装置 | |
CN105700900A (zh) | 一种优化无线局域网功能的方法及装置 | |
CN117648110A (zh) | 一种脱离aosp编译环境单独打包内核镜像的方法 | |
CN113641389B (zh) | 基于OpenCPU的软件升级方法、装置及设备 | |
CN115237631A (zh) | 一种基于数据共享插件的易扩展式数据共享系统及方法 | |
US20210157772A1 (en) | Method of creating and using an executable file format with a dynamic extensible header | |
US20170228243A1 (en) | Non-transitory computer-readable recording medium storing control program, control device and control method | |
CN111273940B (zh) | 将程序文件上传至代码仓库的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |