Linux kernel Yocto/Bitbake:如何处理系统生成的每个二进制文件?
用例: 我正在为我的Raspberry Pi开发物联网Linux系统。只读rootfs不是一个选项,因为我想动态升级可执行文件。我想的是我的解决方案:我开发了一个可以对ELF文件(Linux可执行文件和库)进行签名的工具。它使用一些pub/priv密钥对节进行签名,将签名保存到一个节中,并在执行之前检查文件(与DigSig类似,但需要借助openssl lib)。库加载器(glibc)也被修改为在加载之前检查所有的linux“.so”-库。最后,我想在开源许可下发布项目和我的解决方案。目前它还没有完成,离稳定还很远 开发状态:Linux kernel Yocto/Bitbake:如何处理系统生成的每个二进制文件?,linux-kernel,openssl,glibc,yocto,bitbake,Linux Kernel,Openssl,Glibc,Yocto,Bitbake,用例: 我正在为我的Raspberry Pi开发物联网Linux系统。只读rootfs不是一个选项,因为我想动态升级可执行文件。我想的是我的解决方案:我开发了一个可以对ELF文件(Linux可执行文件和库)进行签名的工具。它使用一些pub/priv密钥对节进行签名,将签名保存到一个节中,并在执行之前检查文件(与DigSig类似,但需要借助openssl lib)。库加载器(glibc)也被修改为在加载之前检查所有的linux“.so”-库。最后,我想在开源许可下发布项目和我的解决方案。目前它还没
- ELF文件签名工具已完成李>
- 内核被修改(新的安全模块/own syscall函数用于检查elf二进制签名)
- Glibc已针对我的本地源代码进行了修改和修补
- Quemu经过修补以支持我的新系统调用
- Yocto环境已建立。图像在我的RaspberryPi 2测试机上运行
在谷歌搜索了几个小时,查看了yocto的文档后,我没有任何解决方案。如果有人能帮助我,那就太好了。我想你可以在poky/meta/classes中定制package.bbclass,特别是split_和_strip_files函数可以帮助剥离每个文件
oe.utils.multi-process\u exec(sfiles,oe.package.runstrip)
您可以添加签名,然后在poky/meta/lib/oe/package.py中添加自定义工具