summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2015-12-20 00:05:17 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-02-04 23:45:05 +0000
commit1e95ebd4c3f8364479c371d2c4bc4f643db3262f (patch)
treec1c526ee562ae88f5e26283cd8263776409d1b6f
parent6594bd543f7f0794448f69a2509147fbec59bc20 (diff)
downloadpoky-1e95ebd4c3f8364479c371d2c4bc4f643db3262f.tar.gz
poky-tiny: Use musl for default system C library
poky-tiny is reference for smallest footprint distro that can be generated using yocto project infrastructure. Therefore switch to using musl which gives the smallest footprint with a lot of extra stretching for adding new package if needed, core-image-minimal for qemux86 comes out to be 716K ( rootfs only ), boot tested on qemux86/poky-tiny (From meta-yocto rev: e1b4918a4f3a19a125537a984ce4dadb79badcea) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta-yocto/conf/distro/poky-tiny.conf25
1 files changed, 5 insertions, 20 deletions
diff --git a/meta-yocto/conf/distro/poky-tiny.conf b/meta-yocto/conf/distro/poky-tiny.conf
index ee84d4039d..0ac46ac0b9 100644
--- a/meta-yocto/conf/distro/poky-tiny.conf
+++ b/meta-yocto/conf/distro/poky-tiny.conf
@@ -25,12 +25,12 @@
25# [ ] Define linux-yocto-tiny configs for all supported BSPs 25# [ ] Define linux-yocto-tiny configs for all supported BSPs
26# [ ] Drop ldconfig from the installation 26# [ ] Drop ldconfig from the installation
27# [ ] Modify the runqemu scripts to work with ext2 parameter: 27# [ ] Modify the runqemu scripts to work with ext2 parameter:
28# runqemu qemux86 qemuparams="-nographic" bootparams="console=ttyS0,115200 root=0800" 28# runqemu qemux86 qemuparams="-nographic" bootparams="console=ttyS0,115200 root=0800"
29# [ ] Modify busybox to allow for DISTRO_FEATURES-like confiruration 29# [ ] Modify busybox to allow for DISTRO_FEATURES-like confiruration
30 30
31require conf/distro/poky.conf 31require conf/distro/poky.conf
32DISTRO = "poky-tiny" 32DISTRO = "poky-tiny"
33 33TCLIBC = "musl"
34# FIXME: consider adding a new "tiny" feature 34# FIXME: consider adding a new "tiny" feature
35#DISTRO_FEATURES_append = " tiny" 35#DISTRO_FEATURES_append = " tiny"
36 36
@@ -57,27 +57,11 @@ ENABLE_WIDEC_class-native = "true"
57# eglibc->bash->gettext->libc-posix-clang-wchar dependency. 57# eglibc->bash->gettext->libc-posix-clang-wchar dependency.
58USE_NLS="no" 58USE_NLS="no"
59 59
60# Reconfigure eglibc for a smaller installation
61# Comment out any of the lines below to disable them in the build
62DISTRO_FEATURES_LIBC_TINY = "libc-libm libc-crypt"
63DISTRO_FEATURES_LIBC_TINY_append_x86-64 = " libc-libm-big"
64
65# Required for "who"
66DISTRO_FEATURES_LIBC_MINIMAL = "libc-utmp libc-utmpx libc-getlogin"
67DISTRO_FEATURES_LIBC_REGEX = "libc-posix-regexp"
68DISTRO_FEATURES_LIBC_NET = "libc-inet libc-nis"
69
70DISTRO_FEATURES_LIBC = "${DISTRO_FEATURES_LIBC_TINY} \
71 ${DISTRO_FEATURES_LIBC_MINIMAL} \
72 ${DISTRO_FEATURES_LIBC_REGEX} \
73 ${DISTRO_FEATURES_LIBC_NET} \
74 "
75
76# Comment out any of the lines below to disable them in the build 60# Comment out any of the lines below to disable them in the build
77# DISTRO_FEATURES options: 61# DISTRO_FEATURES options:
78# alsa bluetooth ext2 irda pcmcia usbgadget usbhost wifi nfs zeroconf pci 62# alsa bluetooth ext2 irda pcmcia usbgadget usbhost wifi nfs zeroconf pci
79DISTRO_FEATURES_TINY = "pci" 63DISTRO_FEATURES_TINY = "pci"
80DISTRO_FEATURES_NET = "ipv4" 64DISTRO_FEATURES_NET = "ipv4 ipv6"
81DISTRO_FEATURES_USB = "usbhost" 65DISTRO_FEATURES_USB = "usbhost"
82#DISTRO_FEATURES_USBGADGET = "usbgadget" 66#DISTRO_FEATURES_USBGADGET = "usbgadget"
83#DISTRO_FEATURES_WIFI = "wifi" 67#DISTRO_FEATURES_WIFI = "wifi"
@@ -87,13 +71,14 @@ DISTRO_FEATURES = "${DISTRO_FEATURES_TINY} \
87 ${DISTRO_FEATURES_USB} \ 71 ${DISTRO_FEATURES_USB} \
88 ${DISTRO_FEATURES_USBGADGET} \ 72 ${DISTRO_FEATURES_USBGADGET} \
89 ${DISTRO_FEATURES_WIFI} \ 73 ${DISTRO_FEATURES_WIFI} \
90 ${DISTRO_FEATURES_LIBC} \
91 " 74 "
92 75
93# Enable LFS - see bug YOCTO #5865 76# Enable LFS - see bug YOCTO #5865
94DISTRO_FEATURES_append_libc-uclibc = " largefile" 77DISTRO_FEATURES_append_libc-uclibc = " largefile"
78DISTRO_FEATURES_append_libc-musl = " largefile"
95 79
96DISTRO_FEATURES_class-native = "${DISTRO_FEATURES_DEFAULT} ${DISTRO_FEATURES_LIBC} ${POKY_DEFAULT_DISTRO_FEATURES}" 80DISTRO_FEATURES_class-native = "${DISTRO_FEATURES_DEFAULT} ${DISTRO_FEATURES_LIBC} ${POKY_DEFAULT_DISTRO_FEATURES}"
81DISTRO_FEATURES_class-nativesdk = "${DISTRO_FEATURES_DEFAULT} ${DISTRO_FEATURES_LIBC} ${POKY_DEFAULT_DISTRO_FEATURES}"
97 82
98# Use tmpdevfs and the busybox runtime services 83# Use tmpdevfs and the busybox runtime services
99VIRTUAL-RUNTIME_dev_manager = "" 84VIRTUAL-RUNTIME_dev_manager = ""