這是一個最小的控制檯形象的例子: 食譜核心/圖片/ core-image-small.bb
DESCRIPTION = "Minimal console image."
IMAGE_INSTALL= "\
base-files \
base-passwd \
busybox \
sysvinit \
initscripts \
${ROOTFS_PKGMANAGE_BOOTSTRAP} \
${CORE_IMAGE_EXTRA_INSTALL} \
"
IMAGE_LINGUAS = " "
LICENSE = "MIT"
inherit core-image
IMAGE_ROOTFS_SIZE ?= "8192"
這個配方產生一個約6.4MB的圖像。如果您通過將DISTRO = "poky-tiny"
添加到conf/local.conf
來使用poky-tiny,則圖像大約爲4MB。
要構建這個,你將需要添加 INSANCE_SKIP_glibc-locale = "installed-vs-shipped"
你也可以使用PACKAGE_CLASSES ?= package_ipk
包管理器,因爲它是最輕的,並從生產的根文件系統完全移除package-management
功能。
如果您選擇有packagegroup-core-boot
在你的形象,你可以使用了BusyBox的MDEV設備管理器代替的udev通過在conf/local.conf
VIRTUAL-RUNTIME_dev_manager = "mdev"
如果您正在運行在塊設備上的根文件系統,使用ext2的規定,而不是不帶日誌的ext3或ext4
通過在bbappend中提供自己的配置文件,僅配置基本小程序來配置BusyBox。
檢查glibc配置,可通過配置變量DISTRO_FEATURES_LIBC
更改該配置。您可以在poky-tiny
分配中找到示例。
考慮切換到一個比較笨的C庫。使用uclibc
或musl
而不是標準的glibc http://www.etalabs.net/compare_libcs.html
使用MUSL的,在local.conf中
TCLIBC = "musl"
添加meta-musl
到conf/bblayers.conf
你需要ngix?你打算提供網頁嗎?他們將儲存在哪裏?在同一個128MB?如果沒有運行ngix,你真的需要hte fcgi和vsftpd嗎?這個問題可能更適合https://www.superuser.com – Tschallacka
是的,我需要所有這些。目前一切正常。 – BachehKaraji