1. 修改 IMAGE_INSTALL
变量
IMAGE_INSTALL变量中的所有包都会安装到最终镜像包中,这里可以对IMAGE_INSTALL变量进行remove和append操作完成最终镜像包大小的控制
通过修改 IMAGE_INSTALL
变量,可以添加或移除镜像中包含的软件包。
示例:
可以在 local.conf或对应的.bb文件或.bbappend文件
中:
# 添加软件包
IMAGE_INSTALL:append = " package1 package2"# 移除软件包
IMAGE_INSTALL:remove = " package3 package4"
2. 使用 PACKAGE_CLASSES
PACKAGE_CLASSES
选择不同的包管理类,以减小镜像大小。例如,可以使用 package_ipk
而不是 package_deb
或 package_rpm
。
这三种包管理器适用的情况如下
package_ipk
:适合资源受限的嵌入式设备,包管理工具为opkg,约1-2MB大小
。package_deb
:适合桌面和服务器环境,包管理工具为dpkg
和apt,约10-20MB大小
。package_rpm
:适合桌面和服务器环境,包管理工具为rpm
和yum
/dnf,约15-30MB大小
。
示例:
在 local.conf或对应的.bb文件或.bbappend文件
中:
PACKAGE_CLASSES = "package_ipk"
如果你的系统是一个固定功能的设备,不需要在运行时安装或更新软件包,也可以选择在构建镜像时去除包管理器,具体配置如下
#在
local.conf
中,确保IMAGE_FEATURES
不包含package-management
特性,并将PACKAGE_CLASSES
设为空值IMAGE_FEATURES_remove = "package-management"
PAC