如何为Odroid-C2精简core-image-sato并移除指定应用?
精简Odroid-C2的core-image-sato镜像(保留Matchbox桌面)
我之前也碰到过类似的需求,给你几个精准可行的实操方法,帮你移除不需要的Sato应用同时保住核心桌面:
方法一:快速修改local.conf(适合临时调整)
直接在你的Yocto构建目录的conf/local.conf文件里加以下配置,把不需要的包从镜像安装列表里剔除:
# 移除Leafpad文本编辑器 IMAGE_INSTALL_remove += "leafpad" # 移除Sato自带的关机应用 IMAGE_INSTALL_remove += "sato-shutdown-app" # 移除Sato媒体播放器 IMAGE_INSTALL_remove += "sato-media-player" # 移除游戏和益智类应用组 IMAGE_INSTALL_remove += "sato-games sato-puzzles"
添加完重新编译镜像就行:
bitbake core-image-sato
方法二:自定义镜像Recipe(适合长期维护)
如果需要长期维护这个精简版本,建议做一个继承自core-image-sato的自定义镜像Recipe:
- 在你的自定义layer(比如
meta-yourlayer)下创建路径recipes-core/images - 新建文件
core-image-sato-minimal.bb,内容如下:
require recipes-core/images/core-image-sato.bb # 移除指定的Sato应用 IMAGE_INSTALL_remove += "leafpad sato-shutdown-app sato-media-player sato-games sato-puzzles" # 可选:如果还想进一步精简,可以添加更多要移除的组件 # 比如移除Sato的额外插件 # IMAGE_INSTALL_remove += "sato-extra-plugins"
- 在
local.conf里指定编译这个自定义镜像:
IMAGE_FSTYPES = "core-image-sato-minimal"
- 编译镜像:
bitbake core-image-sato-minimal
关键注意事项
- 千万别碰Matchbox桌面的核心组件:
matchbox-desktop、matchbox-panel、matchbox-wm,这些是Sato桌面的基础,删了桌面直接就用不了了。 - 如果发现某些包通过依赖间接被引入,可以改用
PACKAGE_EXCLUDE强制排除(比如PACKAGE_EXCLUDE += "leafpad"),但优先推荐IMAGE_INSTALL_remove,因为它不会影响其他Recipe的依赖逻辑。 - 编译前可以用
bitbake -e core-image-sato | grep IMAGE_INSTALL命令,确认要移除的包已经不在最终安装列表里了。
内容的提问来源于stack exchange,提问作者Gaurav Pathak
相关产品推荐
相关产品推荐

