Fixes for tiny distros and linux-yocto-tiny
cover Fixes for tiny distros and linux-yocto-tiny
In preparation for defining a poky-tiny distribution for meta-yocto, I found I needed the following patches. They mostly enable finer grained configuration of dependencies and allow for building without widechar support.
The linux-yocVto-tiny recipe isn't poky-tiny specific and could be of use to others, so I opted to keep it with the other linux-yocto recipes. It is a placeholder until the linux-yocto_3.2 recipes are ready for oe-core. At that time, linux-yocto-tiny will drop all config fragments in favor of the to-be-in-tree versions and make use of a new yocto/standard/tiny/base branch. For now, this recipe allows us to build a reasonably small kernel with fewer dependencies.
Thanks,
Darren
The following changes since commit 8f348ccad083d6c02c200652ff6295e701e88f0d:
coreutils: ensure --color works so DEPEND on libcap (2011-12-24 10:05:35 +0000)
are available in the git repository at:
git://git.yoctoproject.org/user-contrib/dvhart/oe-core dvhart/tiny
http://git.yoctoproject.org/cgit.cgi/user-contrib/dvhart/oe-core/log/?h=dvhart/tiny
Darren Hart (3):
eglibc: Only add eglibc-utils to PACKAGES if wchar is supported
linux-yocto-tiny: New kernel recipe for tiny distros
task-core-boot: Allow DISTRO to disable keymaps via VIRTUAL-RUNTIME_keymaps
Richard Purdie (1):
native.bbclass: Fix variable remapping coverage
meta/classes/native.bbclass | 2 +- meta/recipes-core/eglibc/eglibc-package.inc | 6 +- meta/recipes-core/tasks/task-core-boot.bb | 8 +- meta/recipes-devtools/autoconf/autoconf.inc | 2 + meta/recipes-devtools/autoconf/autoconf_2.68.bb | 8 - meta/recipes-devtools/automake/automake_1.11.1.bb | 4 +- .../recipes-devtools/python/python-native_2.7.2.bb | 2 + meta/recipes-gnome/gnome/gconf_3.2.3.bb | 1 + meta/recipes-kernel/linux/linux-yocto-tiny/ata.cfg | 9 + .../recipes-kernel/linux/linux-yocto-tiny/core.cfg | 19 + .../linux/linux-yocto-tiny/debug.cfg | 5 + .../linux/linux-yocto-tiny/devtmpfs.cfg | 6 + .../linux/linux-yocto-tiny/e1000.cfg | 7 + .../recipes-kernel/linux/linux-yocto-tiny/ext2.cfg | 1 + .../recipes-kernel/linux/linux-yocto-tiny/ext3.cfg | 2 + .../recipes-kernel/linux/linux-yocto-tiny/lzma.cfg | 3 + meta/recipes-kernel/linux/linux-yocto-tiny/net.cfg | 26 + .../linux/linux-yocto-tiny/qemux86/defconfig | 613 ++++++++++++++++++++ .../linux/linux-yocto-tiny/ramfs.cfg | 6 + .../linux/linux-yocto-tiny/rtc-pc.cfg | 13 + .../linux/linux-yocto-tiny/serial.cfg | 7 + meta/recipes-kernel/linux/linux-yocto-tiny/smp.cfg | 7 + meta/recipes-kernel/linux/linux-yocto-tiny_3.0.bb | 36 ++ meta/recipes-support/boost/boost.inc | 1 + 24 files changed, 777 insertions(+), 17 deletions(-) create mode 100644 meta/recipes-kernel/linux/linux-yocto-tiny/ata.cfg create mode 100644 meta/recipes-kernel/linux/linux-yocto-tiny/core.cfg create mode 100644 meta/recipes-kernel/linux/linux-yocto-tiny/debug.cfg create mode 100644 meta/recipes-kernel/linux/linux-yocto-tiny/devtmpfs.cfg create mode 100644 meta/recipes-kernel/linux/linux-yocto-tiny/e1000.cfg create mode 100644 meta/recipes-kernel/linux/linux-yocto-tiny/ext2.cfg create mode 100644 meta/recipes-kernel/linux/linux-yocto-tiny/ext3.cfg create mode 100644 meta/recipes-kernel/linux/linux-yocto-tiny/lzma.cfg create mode 100644 meta/recipes-kernel/linux/linux-yocto-tiny/net.cfg create mode 100644 meta/recipes-kernel/linux/linux-yocto-tiny/qemux86/defconfig create mode 100644 meta/recipes-kernel/linux/linux-yocto-tiny/ramfs.cfg create mode 100644 meta/recipes-kernel/linux/linux-yocto-tiny/rtc-pc.cfg create mode 100644 meta/recipes-kernel/linux/linux-yocto-tiny/serial.cfg create mode 100644 meta/recipes-kernel/linux/linux-yocto-tiny/smp.cfg create mode 100644 meta/recipes-kernel/linux/linux-yocto-tiny_3.0.bb
Signature · 1 line
1.7.6.4
PATCH 1/4 native.bbclass: Fix variable remapping coverage
From: Richard Purdie <[email protected]>
When looking for RDEPENDS to process, bitbake iterates through PACKAGES *and* PN. Since native.bbclass sets PACKAGES to be empty, its pointless remapping the list of PACKAGES since this does nothing. There is a problem since *_${PN} are used by bitbake but not remapped by the native.bbclass class extension code.
This changes the code to remap _${PN} in both expanded and unexpanded forms. We use the unexpanded form since d.expandkeys() has not been called at the point this code executes. Remapping the expanded form is belt and braces to cover any case where the unexpanded key form may not be present.
As a result of this, various surprising dependencies are uncovered and the patch rectifies those. These are real bugs since they're injecting unneeded (unremapped) dependencies into the dependency chain. Workarounds for this kind of problem in autoconf are removed.
--- meta/classes/native.bbclass | 2 +- meta/recipes-devtools/autoconf/autoconf.inc | 2 ++ meta/recipes-devtools/autoconf/autoconf_2.68.bb | 8 -------- meta/recipes-devtools/automake/automake_1.11.1.bb | 4 ++-- .../recipes-devtools/python/python-native_2.7.2.bb | 2 ++ meta/recipes-gnome/gnome/gconf_3.2.3.bb | 1 + meta/recipes-support/boost/boost.inc | 1 + 7 files changed, 9 insertions(+), 11 deletions(-)
meta/classes/native.bbclass +1 -1
@@ -127,7 +127,7 @@ python native_virtclass_handler () { d.setVar(varname, " ".join(newdeps)) map_dependencies("DEPENDS", e.data) - for pkg in (e.data.getVar("PACKAGES", True).split() + [""]): + for pkg in [e.data.getVar("PN", True), "", "${PN}"]: map_dependencies("RDEPENDS", e.data, pkg) map_dependencies("RRECOMMENDS", e.data, pkg) map_dependencies("RSUGGESTS", e.data, pkg)
meta/recipes-devtools/autoconf/autoconf.inc +2 -0
@@ -6,6 +6,8 @@ LICENSE = "GPLv3" HOMEPAGE = "http://www.gnu.org/software/autoconf/" SECTION = "devel" DEPENDS += "m4-native" +DEPENDS_virtclass-native = "m4-native gnu-config-native" +DEPENDS_virtclass-nativesdk = "m4-nativesdk gnu-config-nativesdk" RDEPENDS_${PN} = "m4 gnu-config" SRC_URI = "${GNU_MIRROR}/autoconf/autoconf-${PV}.tar.bz2 \
meta/recipes-devtools/autoconf/autoconf_2.68.bb +0 -8
@@ -4,8 +4,6 @@ PR = "r4" PARALLEL_MAKE = "" -DEPENDS += "m4-native" -RDEPENDS_${PN} = "m4 gnu-config" LICENSE = "GPLv2 & GPLv3" LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe \ file://COPYINGv3;md5=d32239bcb673463ab874e80d47fae504"
@@ -22,12 +20,6 @@ SRC_URI += "file://autoreconf-include.patch \ SRC_URI[md5sum] = "864d785215aa60d627c91fcb21b05b07" SRC_URI[sha256sum] = "c491fb273fd6d4ca925e26ceed3d177920233c76d542b150ff35e571454332c8" -DEPENDS_virtclass-native = "m4-native gnu-config-native" -RDEPENDS_${PN}_virtclass-native = "m4-native gnu-config-native" - -DEPENDS_virtclass-nativesdk = "m4-nativesdk gnu-config-nativesdk" -RDEPENDS_${PN}_virtclass-nativesdk = "m4-nativesdk gnu-config-nativesdk" - SRC_URI_append_virtclass-native = " file://fix_path_xtra.patch" EXTRA_OECONF += "ac_cv_path_M4=m4"
meta/recipes-devtools/automake/automake_1.11.1.bb +2 -2
@@ -3,7 +3,7 @@ LICENSE="GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" DEPENDS_virtclass-native = "autoconf-native" -RDEPENDS_automake += "\ +RDEPENDS_${PN} += "\ autoconf \ perl \ perl-module-bytes \
@@ -27,7 +27,7 @@ RDEPENDS_automake += "\ perl-module-text-parsewords \ perl-module-vars " -RDEPENDS_automake-native = "autoconf-native perl-native-runtime" +RDEPENDS_${PN}_virtclass-native = "autoconf-native perl-native-runtime" PATHFIXPATCH = "file://path_prog_fixes.patch" PATHFIXPATCH_virtclass-native = ""
meta/recipes-devtools/python/python-native_2.7.2.bb +2 -0
@@ -16,6 +16,8 @@ S = "${WORKDIR}/Python-${PV}" inherit native +RPROVIDES += "python-distutils-native python-compression-native python-textutils-native" + EXTRA_OEMAKE = '\ BUILD_SYS="" \ HOST_SYS="" \
meta/recipes-gnome/gnome/gconf_3.2.3.bb +1 -0
@@ -39,6 +39,7 @@ do_install_append() { # disable dbus-x11 when x11 isn't in DISTRO_FEATURES RDEPENDS_${PN} += "${@base_contains('DISTRO_FEATURES', 'x11', 'dbus-x11', '', d)}" +RDEPENDS_${PN}_virtclass-native = "" FILES_${PN} += "${libdir}/GConf/* \ ${libdir}/gio/*/*.so \
meta/recipes-support/boost/boost.inc +1 -0
@@ -74,6 +74,7 @@ FILES_${PN}-dev = "${includedir} ${libdir}/libboost_*.so ${libdir}/libboost_*.a" # "boost" is a metapackage which pulls in all boost librabries PACKAGES += "${PN}" RRECOMMENDS_${PN} += "${BOOST_PACKAGES}" +RRECOMMENDS_${PN}_virtclass-native = "" ALLOW_EMPTY_${PN} = "1" # to avoid GNU_HASH QA errors added LDFLAGS to ARCH; a little bit dirty but at least it works
Signature · 1 line
1.7.6.4
PATCH 2/4 eglibc: Only add eglibc-utils to PACKAGES if wchar is supported
In reply to Darren Harteglibc-utils RDEPENDS on bash which requires gettext which requires wchar support. If wchar support is not included in DISTRO_FEATURES, gettext will fail to compile.
By removing eglibc-utils from the PACKAGES listing, bitbake doesn't try to build the dependency chain.
--- meta/recipes-core/eglibc/eglibc-package.inc | 6 +++++- 1 files changed, 5 insertions(+), 1 deletions(-)
meta/recipes-core/eglibc/eglibc-package.inc +5 -1
@@ -20,7 +20,11 @@ USE_LDCONFIG ?= "1" PKGSUFFIX = "" PKGSUFFIX_virtclass-nativesdk = "-nativesdk" -PACKAGES = "${PN}-dbg ${PN} catchsegv${PKGSUFFIX} sln${PKGSUFFIX} nscd${PKGSUFFIX} ldd${PKGSUFFIX} ${PN}-utils eglibc-extra-nss${PKGSUFFIX} eglibc-thread-db${PKGSUFFIX} ${PN}-pic ${PN}-dev ${PN}-doc libcidn${PKGSUFFIX} libmemusage${PKGSUFFIX} libsegfault${PKGSUFFIX} ${PN}-pcprofile libsotruss${PKGSUFFIX}" +PACKAGES = "${PN}-dbg ${PN} catchsegv${PKGSUFFIX} sln${PKGSUFFIX} nscd${PKGSUFFIX} ldd${PKGSUFFIX} eglibc-extra-nss${PKGSUFFIX} eglibc-thread-db${PKGSUFFIX} ${PN}-pic ${PN}-dev ${PN}-doc libcidn${PKGSUFFIX} libmemusage${PKGSUFFIX} libsegfault${PKGSUFFIX} ${PN}-pcprofile libsotruss${PKGSUFFIX}" + +# eglibc-utils rdepends on bash which depends on gettext which requires wchar +# support. Only include it in the PACKAGES list if we can build the RDEPENDS. +PACKAGES += ${@base_contains('DISTRO_FEATURES', 'libc-posix-clang-wchar', '${PN}-utils', '', d)} # The ld.so in this eglibc supports the GNU_HASH RPROVIDES_${PN} = "glibc${PKGSUFFIX} rtld(GNU_HASH)"
Signature · 1 line
1.7.6.4
Re: [PATCH 2/4] eglibc: Only add eglibc-utils to PACKAGES if wchar is supported
Op 29 dec. 2011, om 00:38 heeft Darren Hart het volgende geschreven:
Quoted 3 lines
eglibc-utils RDEPENDS on bash which requires gettext which requires wchar support. If wchar support is not included in
DISTRO_FEATURES, gettext will fail to compile.
What code in there actually depends on bash and can't we fix it to work with stock sh?
Quoted 29 lines
By removing eglibc-utils from the PACKAGES listing, bitbake doesn't try to build the dependency chain.
Signed-off-by Darren Hart <[email protected]>---
meta/recipes-core/eglibc/eglibc-package.inc | 6 +++++-1 files changed, 5 insertions(+), 1 deletions(-)meta/recipes-core/eglibc/eglibc-package.inc +0
-0@@ -20,7 +20,11 @@ USE_LDCONFIG ?= "1"PKGSUFFIX = ""
PKGSUFFIX_virtclass-nativesdk = "-nativesdk"meta/recipes-core/eglibc/eglibc-package.inc +5
-1-PACKAGES = "${PN}-dbg ${PN} catchsegv${PKGSUFFIX} sln${PKGSUFFIX} nscd${PKGSUFFIX} ldd${PKGSUFFIX} ${PN}-utils eglibc-extra-nss${PKGSUFFIX} eglibc-thread-db${PKGSUFFIX} ${PN}-pic ${PN}-dev ${PN}-doc libcidn${PKGSUFFIX} libmemusage${PKGSUFFIX} libsegfault${PKGSUFFIX} ${PN}-pcprofile libsotruss${PKGSUFFIX}" +PACKAGES = "${PN}-dbg ${PN} catchsegv${PKGSUFFIX} sln${PKGSUFFIX} nscd${PKGSUFFIX} ldd${PKGSUFFIX} eglibc-extra-nss${PKGSUFFIX} eglibc-thread-db${PKGSUFFIX} ${PN}-pic ${PN}-dev ${PN}-doc libcidn${PKGSUFFIX} libmemusage${PKGSUFFIX} libsegfault${PKGSUFFIX} ${PN}-pcprofile libsotruss${PKGSUFFIX}" + +# eglibc-utils rdepends on bash which depends on gettext which requires wchar +# support. Only include it in the PACKAGES list if we can build the RDEPENDS. +PACKAGES += ${@base_contains('DISTRO_FEATURES', 'libc-posix-clang-wchar', '${PN}-utils', '', d)}# The ld.so in this eglibc supports the
GNU_HASHRPROVIDES_${PN} = "glibc${PKGSUFFIX}rtld(GNU_HASH)"Signature · 1 line
1.7.6.4
Re: [PATCH 2/4] eglibc: Only add eglibc-utils to PACKAGES if wchar is supported
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Quoted 10 lines · Koen Kooi
Op 29 dec. 2011, om 00:38 heeft Darren Hart het volgende geschreven:
Quoted 3 lines
eglibc-utils RDEPENDS on bash which requires gettext which requires wchar support. If wchar support is not included in
DISTRO_FEATURES, gettext will fail to compile.What code in there actually depends on bash and can't we fix it to work with stock sh?
I believe it is xtrace and tzconfig (or tzselect?) that depend on bash. I'm sure this is fixable. If we were to fix it, I would also want to separate out eglibc-utils as a separate recipe or somehow make it optional to install. I believe there will continue to be refinements to how we package eglibc in support of tiny distros.
xtrace looks easy enough to fix, although it also assumes wants a terminal program and defaults to xterm. So we should also depend on screen or similar.
Not sure about tzconfig/select. Will have a closer look next week.
Can we use this as is for now and improve it over time as we look at other eglibc packaging issues?
- --
Darren
Quoted 34 lines
Quoted 34 lines
By removing eglibc-utils from the PACKAGES listing, bitbake doesn't try to build the dependency chain.
Signed-off-by Darren Hart <[email protected]> ---meta/recipes-core/eglibc/eglibc-package.inc | 6 +++++- 1 files
changed, 5 insertions(+), 1 deletions(-)(quoted diff) +0
-0b/meta/recipes-core/eglibc/eglibc-package.inc index 020f558..ab62654 100644 --- a/meta/recipes-core/eglibc/eglibc-package.inc +++ b/meta/recipes-core/eglibc/eglibc-package.inc @@ -20,7 +20,11 @@
USE_LDCONFIG?= "1" PKGSUFFIX = "" PKGSUFFIX_virtclass-nativesdk = "-nativesdk"-PACKAGES = "${PN}-dbg ${PN} catchsegv${PKGSUFFIX} sln${PKGSUFFIX} nscd${PKGSUFFIX} ldd${PKGSUFFIX} ${PN}-utils eglibc-extra-nss${PKGSUFFIX} eglibc-thread-db${PKGSUFFIX} ${PN}-pic ${PN}-dev ${PN}-doc libcidn${PKGSUFFIX} libmemusage${PKGSUFFIX} libsegfault${PKGSUFFIX} ${PN}-pcprofile libsotruss${PKGSUFFIX}" +PACKAGES = "${PN}-dbg ${PN} catchsegv${PKGSUFFIX} sln${PKGSUFFIX} nscd${PKGSUFFIX} ldd${PKGSUFFIX} eglibc-extra-nss${PKGSUFFIX} eglibc-thread-db${PKGSUFFIX} ${PN}-pic ${PN}-dev ${PN}-doc libcidn${PKGSUFFIX} libmemusage${PKGSUFFIX} libsegfault${PKGSUFFIX} ${PN}-pcprofile libsotruss${PKGSUFFIX}"
+ +# eglibc-utils rdepends on bash which depends on gettext which requires wchar +# support. Only include it in the PACKAGES list if we can build the RDEPENDS. +PACKAGES += ${@base_contains('DISTRO_FEATURES', 'libc-posix-clang-wchar', '${PN}-utils', '', d)}
Quoted 3 lines
Quoted 3 lines
# The ld.so in this eglibc supports the
GNU_HASHRPROVIDES_${PN} = "glibc${PKGSUFFIX}rtld(GNU_HASH)" -- 1.7.6.4
- --
Darren Hart
Intel Open Source Technology Center
Yocto Project - Linux Kernel
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
iQEcBAEBAgAGBQJO/Jb9AAoJEKbMaAwKp364FGEIAL7Ze6QD3R8ral0igFLbEUez 7Q3N6XbvdTJF7yYtEfVKJq5B1jqYwr+DEm2mTQKcqBopFfNVG26PUzs1SaxmAAel EhYr0X/vgejPv0VD0YyLVqZd3WQalpVRq4RGZGNaZFelU0lDWNHjiUch2qiom17G iIdQCZye83g3KQ8Ft9xyc3As4P3ieFPmZjQ6CU1lTp4ovREAFyov5c/Qbia0w4KS OrpS1CPUkyU6agqQnZxaeqFUowwWu9eAT4eXyjX7GrKi8Pdtwl76XOQ8IzywaUqr RIrxRkUENphQqKUk9zAHUmAvDNmVwsWzrWVIZjoRI85fNzlCXKNwzqqpO8X72f0= =rv80
-----END PGP SIGNATURE-----
PATCH 3/4 linux-yocto-tiny: New kernel recipe for tiny distros
In reply to Darren Hartlinux-yocto-tiny drops the linux-tools and sets the KMACHINE branch to standard/tiny.
--- meta/recipes-kernel/linux/linux-yocto-tiny/ata.cfg | 9 + .../recipes-kernel/linux/linux-yocto-tiny/core.cfg | 19 + .../linux/linux-yocto-tiny/debug.cfg | 5 + .../linux/linux-yocto-tiny/devtmpfs.cfg | 6 + .../linux/linux-yocto-tiny/e1000.cfg | 7 + .../recipes-kernel/linux/linux-yocto-tiny/ext2.cfg | 1 + .../recipes-kernel/linux/linux-yocto-tiny/ext3.cfg | 2 + .../recipes-kernel/linux/linux-yocto-tiny/lzma.cfg | 3 + meta/recipes-kernel/linux/linux-yocto-tiny/net.cfg | 26 + .../linux/linux-yocto-tiny/qemux86/defconfig | 613 ++++++++++++++++++++ .../linux/linux-yocto-tiny/ramfs.cfg | 6 + .../linux/linux-yocto-tiny/rtc-pc.cfg | 13 + .../linux/linux-yocto-tiny/serial.cfg | 7 + meta/recipes-kernel/linux/linux-yocto-tiny/smp.cfg | 7 + meta/recipes-kernel/linux/linux-yocto-tiny_3.0.bb | 36 ++ 15 files changed, 760 insertions(+), 0 deletions(-) create mode 100644 meta/recipes-kernel/linux/linux-yocto-tiny/ata.cfg create mode 100644 meta/recipes-kernel/linux/linux-yocto-tiny/core.cfg create mode 100644 meta/recipes-kernel/linux/linux-yocto-tiny/debug.cfg create mode 100644 meta/recipes-kernel/linux/linux-yocto-tiny/devtmpfs.cfg create mode 100644 meta/recipes-kernel/linux/linux-yocto-tiny/e1000.cfg create mode 100644 meta/recipes-kernel/linux/linux-yocto-tiny/ext2.cfg create mode 100644 meta/recipes-kernel/linux/linux-yocto-tiny/ext3.cfg create mode 100644 meta/recipes-kernel/linux/linux-yocto-tiny/lzma.cfg create mode 100644 meta/recipes-kernel/linux/linux-yocto-tiny/net.cfg create mode 100644 meta/recipes-kernel/linux/linux-yocto-tiny/qemux86/defconfig create mode 100644 meta/recipes-kernel/linux/linux-yocto-tiny/ramfs.cfg create mode 100644 meta/recipes-kernel/linux/linux-yocto-tiny/rtc-pc.cfg create mode 100644 meta/recipes-kernel/linux/linux-yocto-tiny/serial.cfg create mode 100644 meta/recipes-kernel/linux/linux-yocto-tiny/smp.cfg create mode 100644 meta/recipes-kernel/linux/linux-yocto-tiny_3.0.bb
meta/recipes-kernel/linux/linux-yocto-tiny/ata.cfg new file +9 -0
@@ -0,0 +1,9 @@ +# IDE disk support +# Dependencies +CONFIG_PCI=y +CONFIG_BLOCK=y +CONFIG_BLK_DEV_SD=y +CONFIG_ATA=y +CONFIG_ATA_SFF=y +CONFIG_ATA_BMDMA=y +CONFIG_ATA_PIIX=y
meta/recipes-kernel/linux/linux-yocto-tiny/core.cfg new file +19 -0
@@ -0,0 +1,19 @@ +# Basic facilities that shall be present in all kernels + +# Needed to execute... anything (like init) +CONFIG_BINFMT_ELF=y + +# Needed by at least the telephony daemon +CONFIG_SIGNALFD=y + +# At least bootlogd requires this +CONFIG_UNIX98_PTYS=y + +# Required for basic IPC and pthread locking support +CONFIG_SYSVIPC=y +CONFIG_FUTEX=y +CONFIG_RT_MUTEXES=y + +CONFIG_PROC_FS=y +CONFIG_SYSFS=y +
meta/recipes-kernel/linux/linux-yocto-tiny/debug.cfg new file +5 -0
@@ -0,0 +1,5 @@ +# Debug options +# +98k bzImage +CONFIG_PRINTK=y +CONFIG_EARLY_PRINTK=y +CONFIG_PRINTK_TIME=y
meta/recipes-kernel/linux/linux-yocto-tiny/devtmpfs.cfg new file +6 -0
@@ -0,0 +1,6 @@ +# For /dev and udev +# Could eliminate for a static /dev tree +# +1.5k bzImage +CONFIG_HOTPLUG=y +CONFIG_DEVTMPFS=y +CONFIG_DEVTMPFS_MOUNT=y
meta/recipes-kernel/linux/linux-yocto-tiny/e1000.cfg new file +7 -0
@@ -0,0 +1,7 @@ +# e1000 PCI network card support (qemu default) +# FIXME: This appears in dmesg, but a probe fails +# bzImage +31k +CONFIG_PCI=y +CONFIG_NETDEVICES=y +CONFIG_NETDEV_1000=y +CONFIG_E1000=y
meta/recipes-kernel/linux/linux-yocto-tiny/ext2.cfg new file +1 -0
@@ -0,0 +1 @@ +CONFIG_EXT2_FS=y
meta/recipes-kernel/linux/linux-yocto-tiny/ext3.cfg new file +2 -0
@@ -0,0 +1,2 @@ +# bzImage +61k +CONFIG_EXT3_FS=y
meta/recipes-kernel/linux/linux-yocto-tiny/lzma.cfg new file +3 -0
@@ -0,0 +1,3 @@ +# bzImage -235k (-15% of bzImage size) +CONFIG_KERNEL_LZMA=y +
meta/recipes-kernel/linux/linux-yocto-tiny/net.cfg new file +26 -0
@@ -0,0 +1,26 @@ +# +246k bzImage + +# Basic socket support +CONFIG_NET=y +CONFIG_UNIX=y +CONFIG_NETWORK_FILESYSTEMS=y +CONFIG_NLATTR=y + +# INET TCP/IP +CONFIG_INET=y +CONFIG_TCP_CONG_CUBIC=y +CONFIG_DEFAULT_TCP_CONG="cubic" + +# Disable certain new defaults +# bzImage ~ -200k +# Using allnoconfig internally would eliminate the need for this +# CONFIG_XFRM is not set +# CONFIG_IPV6 is not set +# CONFIG_WIRELESS is not set +# CONFIG_IPCOMP_XFRM is not set +# IPSEC +# CONFIG_INET_XFRM_MODE_TRANSPORT is not set +# CONFIG_INET_XFRM_MODE_TUNNEL is not set +# CONFIG_INET_XFRM_MODE_BEET is not set +# +# CONFIG_INET_DIAG is not set
meta/recipes-kernel/linux/linux-yocto-tiny/qemux86/defconfig new file +613 -0
613 lines not on this page · raw message
meta/recipes-kernel/linux/linux-yocto-tiny/ramfs.cfg new file +6 -0
@@ -0,0 +1,6 @@ +CONFIG_BLK_DEV=y +CONFIG_BLK_DEV_INITRD=y +CONFIG_BLK_DEV_RAM=y +CONFIG_BLK_DEV_RAM_COUNT=1 +CONFIG_BLK_DEV_RAM_SIZE=6144 +
meta/recipes-kernel/linux/linux-yocto-tiny/rtc-pc.cfg new file +13 -0
@@ -0,0 +1,13 @@ +# Dependencies +CONFIG_ACPI=y +CONFIG_HPET=y +CONFIG_HPET_TIMER=y + +CONFIG_HPET_EMULATE_RTC=y +CONFIG_RTC_LIB=y +CONFIG_RTC_CLASS=y +CONFIG_RTC_HCTOSYS=y +CONFIG_RTC_HCTOSYS_DEVICE="rtc0" +CONFIG_RTC_INTF_PROC=y +CONFIG_RTC_INTF_DEV=y +CONFIG_RTC_DRV_CMOS=y
meta/recipes-kernel/linux/linux-yocto-tiny/serial.cfg new file +7 -0
@@ -0,0 +1,7 @@ +CONFIG_SERIAL_8250=y +CONFIG_SERIAL_8250_CONSOLE=y +CONFIG_SERIAL_8250_NR_UARTS=4 +CONFIG_SERIAL_8250_RUNTIME_UARTS=4 +# CONFIG_SERIAL_8250_EXTENDED is not set +CONFIG_SERIAL_CORE=y +CONFIG_SERIAL_CORE_CONSOLE=y
meta/recipes-kernel/linux/linux-yocto-tiny/smp.cfg new file +7 -0
@@ -0,0 +1,7 @@ +# bzImage +104k +CONFIG_HOTPLUG=y +CONFIG_HOTPLUG_CPU=y +CONFIG_SMP=y +CONFIG_SCHED_SMT=y +CONFIG_SCHED_MC=y +
meta/recipes-kernel/linux/linux-yocto-tiny_3.0.bb new file +36 -0
@@ -0,0 +1,36 @@ +inherit kernel +require recipes-kernel/linux/linux-yocto.inc + +#KMACHINE = "yocto/standard/tiny/base" +KMACHINE = "yocto/standard/base" +KBRANCH = ${KMACHINE} + +LINUX_VERSION ?= "3.0.12" + +SRCREV_machine ?= "f389d310965a56091f688b28ea8be6d9cbb7fbbe" +SRCREV_meta ?= "04a52a32cbdf0972033b97b83eaa83eb275dfdc9" + +PR = "r1" +PV = "${LINUX_VERSION}+git${SRCPV}" + +SRC_URI = "git://git.yoctoproject.org/linux-yocto-3.0;protocol=git;nocheckout=1;branch=${KBRANCH},meta;name=machine,meta \ + file://core.cfg \ + file://serial.cfg \ + file://ext2.cfg \ + file://rtc-pc.cfg \ + file://ramfs.cfg \ + file://devtmpfs.cfg \ + file://net.cfg \ + file://debug.cfg \ + file://lzma.cfg \ + " + + +# Enable qemux86 specific emulated options +SRC_URI_append_qemux86 = " file://defconfig file://ata.cfg file://e1000.cfg" + +#COMPATIBLE_MACHINE = "(qemuarm|qemux86|qemuppc|qemumips|qemux86-64)" +COMPATIBLE_MACHINE = "(qemux86)" + +# Functionality flags +KERNEL_FEATURES=""
Signature · 1 line
1.7.6.4
PATCH 4/4 task-core-boot: Allow DISTRO to disable keymaps via VIRTUAL-RUNTIME_keymaps
In reply to Darren Hartkeymaps pulls in gettext, which can't build without wide character support.
Rather than have to add a -tiny variant of every MACHINE to drop "keyboard" from the MACHINE_FEATURES, just enable the DISTRO to define what gets added to RDEPENDS_task-core-boot when MACHINE_FEATURES includes keyboard via the VIRTUAL-RUNTIME_keymaps variable. By default, keep "keymaps".
--- meta/recipes-core/tasks/task-core-boot.bb | 8 +++----- 1 files changed, 3 insertions(+), 5 deletions(-)
meta/recipes-core/tasks/task-core-boot.bb +3 -5
@@ -17,14 +17,12 @@ PR = "r9" MACHINE_ESSENTIAL_EXTRA_RDEPENDS ?= "" MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS ?= "" -# Distro can override dev_manager provider +# Distro can override the following VIRTUAL-RUNTIME providers: VIRTUAL-RUNTIME_dev_manager ?= "udev" -# Distro can override login_manager provider VIRTUAL-RUNTIME_login_manager ?= "tinylogin" -# Distro can override init_manager provider VIRTUAL-RUNTIME_init_manager ?= "sysvinit" -# Distro can override initscripts provider VIRTUAL-RUNTIME_initscripts ?= "initscripts" +VIRTUAL-RUNTIME_keymaps ?= "keymaps" PACKAGES = "\ task-core-boot \
@@ -37,7 +35,7 @@ RDEPENDS_task-core-boot = "\ base-passwd \ busybox \ ${VIRTUAL-RUNTIME_initscripts} \ - ${@base_contains("MACHINE_FEATURES", "keyboard", "keymaps", "", d)} \ + ${@base_contains("MACHINE_FEATURES", "keyboard", "${VIRTUAL-RUNTIME_keymaps}", "", d)} \ modutils-initscripts \ netbase \ ${VIRTUAL-RUNTIME_login_manager} \
Signature · 1 line
1.7.6.4
Quoted 20 lines · Darren Hart
In preparation for defining a poky-tiny distribution for meta-yocto, I found I needed the following patches. They mostly enable finer grained configuration of dependencies and allow for building without widechar support.
The linux-yocVto-tiny recipe isn't poky-tiny specific and could be of use to others, so I opted to keep it with the other linux-yocto recipes. It is a placeholder until the linux-yocto_3.2 recipes are ready for oe-core. At that time, linux-yocto-tiny will drop all config fragments in favor of the to-be-in-tree versions and make use of a new yocto/standard/tiny/base branch. For now, this recipe allows us to build a reasonably small kernel with fewer dependencies.
Thanks,
Darren
The following changes since commit
8f348ccad083d6c02c200652ff6295e701e88f0d:
Quoted 8 lines
coreutils: ensure --color works so DEPEND on libcap (2011-12-24 10:05:35 +0000)
are available in the git repository at:
git://git.yoctoproject.org/user-contrib/dvhart/oe-coredvhart/tiny
http://git.yoctoproject.org/cgit.cgi/user-contrib/dvhart/oe-core/log/?h=dvhart/tinyDarren Hart (3):
eglibc: Only add eglibc-utils to PACKAGES if wchar is supported
This patch was not taken at this time due to the comment on the Mailing List
Quoted 2 lines
linux-yocto-tiny: New kernel recipe for tiny distros
task-core-boot: Allow DISTRO to disable keymaps via VIRTUAL-RUNTIME_keymaps
These two were merged into OE-Core
Quoted 5 lines
Richard Purdie (1):
native.bbclass: Fix variable remapping coverage
Richard rejected his own patch as being too much of WIP.
Thanks
Sau!
Quoted 41 lines
meta/classes/native.bbclass | 2 +- meta/recipes-core/eglibc/eglibc-package.inc | 6 +- meta/recipes-core/tasks/task-core-boot.bb | 8 +- meta/recipes-devtools/autoconf/autoconf.inc | 2 + meta/recipes-devtools/autoconf/autoconf_2.68.bb | 8 - meta/recipes-devtools/automake/automake_1.11.1.bb | 4 +- .../recipes-devtools/python/python-native_2.7.2.bb | 2 + meta/recipes-gnome/gnome/gconf_3.2.3.bb | 1 + meta/recipes-kernel/linux/linux-yocto-tiny/ata.cfg | 9 + .../recipes-kernel/linux/linux-yocto-tiny/core.cfg | 19 + .../linux/linux-yocto-tiny/debug.cfg | 5 + .../linux/linux-yocto-tiny/devtmpfs.cfg | 6 + .../linux/linux-yocto-tiny/e1000.cfg | 7 + .../recipes-kernel/linux/linux-yocto-tiny/ext2.cfg | 1 + .../recipes-kernel/linux/linux-yocto-tiny/ext3.cfg | 2 + .../recipes-kernel/linux/linux-yocto-tiny/lzma.cfg | 3 + meta/recipes-kernel/linux/linux-yocto-tiny/net.cfg | 26 + .../linux/linux-yocto-tiny/qemux86/defconfig | 613 ++++++++++++++++++++ .../linux/linux-yocto-tiny/ramfs.cfg | 6 + .../linux/linux-yocto-tiny/rtc-pc.cfg | 13 + .../linux/linux-yocto-tiny/serial.cfg | 7 + meta/recipes-kernel/linux/linux-yocto-tiny/smp.cfg | 7 + meta/recipes-kernel/linux/linux-yocto-tiny_3.0.bb | 36 ++ meta/recipes-support/boost/boost.inc | 1 + 24 files changed, 777 insertions(+), 17 deletions(-)create mode 100644 meta/recipes-kernel/linux/linux-yocto-tiny/ata.cfg create mode 100644 meta/recipes-kernel/linux/linux-yocto-tiny/core.cfg create mode 100644 meta/recipes-kernel/linux/linux-yocto-tiny/debug.cfg create mode 100644 meta/recipes-kernel/linux/linux-yocto-tiny/devtmpfs.cfg create mode 100644 meta/recipes-kernel/linux/linux-yocto-tiny/e1000.cfg create mode 100644 meta/recipes-kernel/linux/linux-yocto-tiny/ext2.cfg create mode 100644 meta/recipes-kernel/linux/linux-yocto-tiny/ext3.cfg create mode 100644 meta/recipes-kernel/linux/linux-yocto-tiny/lzma.cfg create mode 100644 meta/recipes-kernel/linux/linux-yocto-tiny/net.cfg create mode 100644 meta/recipes-kernel/linux/linux-yocto-tiny/qemux86/defconfig create mode 100644 meta/recipes-kernel/linux/linux-yocto-tiny/ramfs.cfg create mode 100644 meta/recipes-kernel/linux/linux-yocto-tiny/rtc-pc.cfg create mode 100644 meta/recipes-kernel/linux/linux-yocto-tiny/serial.cfg create mode 100644 meta/recipes-kernel/linux/linux-yocto-tiny/smp.cfg create mode 100644 meta/recipes-kernel/linux/linux-yocto-tiny_3.0.bb
Quoted 38 lines · Saul Wold
Quoted 20 lines · Darren Hart
In preparation for defining a poky-tiny distribution for meta-yocto, I found I needed the following patches. They mostly enable finer grained configuration of dependencies and allow for building without widechar support.
The linux-yocVto-tiny recipe isn't poky-tiny specific and could be of use to others, so I opted to keep it with the other linux-yocto recipes. It is a placeholder until the linux-yocto_3.2 recipes are ready for oe-core. At that time, linux-yocto-tiny will drop all config fragments in favor of the to-be-in-tree versions and make use of a new yocto/standard/tiny/base branch. For now, this recipe allows us to build a reasonably small kernel with fewer dependencies.
Thanks,
Darren
The following changes since commit
8f348ccad083d6c02c200652ff6295e701e88f0d:Quoted 8 lines
coreutils: ensure --color works so DEPEND on libcap (2011-12-24 10:05:35 +0000)
are available in the git repository at:
git://git.yoctoproject.org/user-contrib/dvhart/oe-coredvhart/tiny
http://git.yoctoproject.org/cgit.cgi/user-contrib/dvhart/oe-core/log/?h=dvhart/tinyDarren Hart (3):
eglibc: Only add eglibc-utils to PACKAGES if wchar is supportedThis patch was not taken at this time due to the comment on the Mailing List
Quoted 2 lines
linux-yocto-tiny: New kernel recipe for tiny distros
task-core-boot: Allow DISTRO to disable keymaps via VIRTUAL-RUNTIME_keymapsThese two were merged into OE-Core
Quoted 1 line
Quoted 5 lines
Quoted 3 lines
Richard Purdie (1):
native.bbclass: Fix variable remapping coverageRichard rejected his own patch as being too much of WIP.
OK, just so everyone understands, poky-tiny (merged to meta-yocto) will not build until we come up with alternatives to the two patches above.
--
Darren
Quoted 49 lines
Thanks
Sau!Quoted 25 lines
meta/classes/native.bbclass | 2 +- meta/recipes-core/eglibc/eglibc-package.inc | 6 +- meta/recipes-core/tasks/task-core-boot.bb | 8 +- meta/recipes-devtools/autoconf/autoconf.inc | 2 + meta/recipes-devtools/autoconf/autoconf_2.68.bb | 8 - meta/recipes-devtools/automake/automake_1.11.1.bb | 4 +- .../recipes-devtools/python/python-native_2.7.2.bb | 2 + meta/recipes-gnome/gnome/gconf_3.2.3.bb | 1 + meta/recipes-kernel/linux/linux-yocto-tiny/ata.cfg | 9 + .../recipes-kernel/linux/linux-yocto-tiny/core.cfg | 19 + .../linux/linux-yocto-tiny/debug.cfg | 5 + .../linux/linux-yocto-tiny/devtmpfs.cfg | 6 + .../linux/linux-yocto-tiny/e1000.cfg | 7 + .../recipes-kernel/linux/linux-yocto-tiny/ext2.cfg | 1 + .../recipes-kernel/linux/linux-yocto-tiny/ext3.cfg | 2 + .../recipes-kernel/linux/linux-yocto-tiny/lzma.cfg | 3 + meta/recipes-kernel/linux/linux-yocto-tiny/net.cfg | 26 + .../linux/linux-yocto-tiny/qemux86/defconfig | 613 ++++++++++++++++++++ .../linux/linux-yocto-tiny/ramfs.cfg | 6 + .../linux/linux-yocto-tiny/rtc-pc.cfg | 13 + .../linux/linux-yocto-tiny/serial.cfg | 7 + meta/recipes-kernel/linux/linux-yocto-tiny/smp.cfg | 7 + meta/recipes-kernel/linux/linux-yocto-tiny_3.0.bb | 36 ++ meta/recipes-support/boost/boost.inc | 1 + 24 files changed, 777 insertions(+), 17 deletions(-)Quoted 16 lines
create mode 100644 meta/recipes-kernel/linux/linux-yocto-tiny/ata.cfg create mode 100644 meta/recipes-kernel/linux/linux-yocto-tiny/core.cfg create mode 100644 meta/recipes-kernel/linux/linux-yocto-tiny/debug.cfg create mode 100644 meta/recipes-kernel/linux/linux-yocto-tiny/devtmpfs.cfg create mode 100644 meta/recipes-kernel/linux/linux-yocto-tiny/e1000.cfg create mode 100644 meta/recipes-kernel/linux/linux-yocto-tiny/ext2.cfg create mode 100644 meta/recipes-kernel/linux/linux-yocto-tiny/ext3.cfg create mode 100644 meta/recipes-kernel/linux/linux-yocto-tiny/lzma.cfg create mode 100644 meta/recipes-kernel/linux/linux-yocto-tiny/net.cfg create mode 100644 meta/recipes-kernel/linux/linux-yocto-tiny/qemux86/defconfig create mode 100644 meta/recipes-kernel/linux/linux-yocto-tiny/ramfs.cfg create mode 100644 meta/recipes-kernel/linux/linux-yocto-tiny/rtc-pc.cfg create mode 100644 meta/recipes-kernel/linux/linux-yocto-tiny/serial.cfg create mode 100644 meta/recipes-kernel/linux/linux-yocto-tiny/smp.cfg create mode 100644 meta/recipes-kernel/linux/linux-yocto-tiny_3.0.bb
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
Signature · 3 lines
Darren Hart Intel Open Source Technology Center Yocto Project - Linux Kernel
Quoted 40 lines · Darren Hart
Quoted 38 lines · Saul Wold
Quoted 20 lines · Darren Hart
In preparation for defining a poky-tiny distribution for meta-yocto, I found I needed the following patches. They mostly enable finer grained configuration of dependencies and allow for building without widechar support.
The linux-yocVto-tiny recipe isn't poky-tiny specific and could be of use to others, so I opted to keep it with the other linux-yocto recipes. It is a placeholder until the linux-yocto_3.2 recipes are ready for oe-core. At that time, linux-yocto-tiny will drop all config fragments in favor of the to-be-in-tree versions and make use of a new yocto/standard/tiny/base branch. For now, this recipe allows us to build a reasonably small kernel with fewer dependencies.
Thanks,
Darren
The following changes since commit
8f348ccad083d6c02c200652ff6295e701e88f0d:Quoted 8 lines
coreutils: ensure --color works so DEPEND on libcap (2011-12-24 10:05:35 +0000)
are available in the git repository at:
git://git.yoctoproject.org/user-contrib/dvhart/oe-coredvhart/tiny
http://git.yoctoproject.org/cgit.cgi/user-contrib/dvhart/oe-core/log/?h=dvhart/tinyDarren Hart (3):
eglibc: Only add eglibc-utils to PACKAGES if wchar is supportedThis patch was not taken at this time due to the comment on the Mailing List
Quoted 2 lines
linux-yocto-tiny: New kernel recipe for tiny distros
task-core-boot: Allow DISTRO to disable keymaps via VIRTUAL-RUNTIME_keymapsThese two were merged into OE-Core
Quoted 1 line
Quoted 8 lines
Quoted 5 lines
Quoted 3 lines
Richard Purdie (1):
native.bbclass: Fix variable remapping coverageRichard rejected his own patch as being too much of WIP.
OK, just so everyone understands, poky-tiny (merged to meta-yocto) will not build until we come up with alternatives to the two patches above.
I rejected my own patch as it results in other build failures. I'm working on addressing that but fixing one thing properly is breaking other things and its a mess with changes like:
The first patch is a harder problem, I'm still trying to find something better way to address it. I did wonder if we could just disable nls entirely for tiny...
Cheers,
Richard
Quoted 5 lines · Saul Wold
Quoted 2 lines · Darren Hart
Darren Hart (3):
eglibc: Only add eglibc-utils to PACKAGES if wchar is supportedThis patch was not taken at this time due to the comment on the Mailing List
Saul,
Koen raised some concerns and suggested modifying xtrace and tzselect to not depend on bash. I responded and suggested we keep that as a future enhancement as it also pulls in some additional repackaging work.
Koen, any further thoughts from you?
Saul, what are you looking for as a resolution?
Signature · 3 lines
Darren Hart Intel Open Source Technology Center Yocto Project - Linux Kernel
Quoted 10 lines · Darren Hart
Quoted 5 lines · Saul Wold
Quoted 2 lines · Darren Hart
Darren Hart (3):
eglibc: Only add eglibc-utils to PACKAGES if wchar is supportedThis patch was not taken at this time due to the comment on the Mailing List
Saul,
Quoted 7 lines
Koen raised some concerns and suggested modifying xtrace and tzselect to not depend on bash. I responded and suggested we keep that as a future enhancement as it also pulls in some additional repackaging work.
Koen, any further thoughts from you?
Saul, what are you looking for as a resolution?
The problem is bash depends on gettext, right? Would USE_NLS="no" as policy in poky-tiny address this (see gettext.bbclass)?
I can't see you caring about NLS in tiny...
Cheers,
Richard
Quoted 8 lines · Saul Wold
Quoted 5 lines · Darren Hart
Richard Purdie (1):
native.bbclass: Fix variable remapping coverageRichard rejected his own patch as being too much of WIP.
Richard, what's next here? Do you want me to work on finishing this patch off? Can you comment on what about it is a WIP?
Signature · 3 lines
Darren Hart Intel Open Source Technology Center Yocto Project - Linux Kernel
Quoted 5 lines · Darren Hart
Quoted 4 lines · Saul Wold
Quoted 1 line · Darren Hart
Quoted 7 lines
Quoted 4 lines
Quoted 3 lines
Richard Purdie (1):
native.bbclass: Fix variable remapping coverageRichard rejected his own patch as being too much of WIP.
Richard, what's next here? Do you want me to work on finishing this patch off? Can you comment on what about it is a WIP?
My patch breaks meta-toolchain builds so I can't accept it until that is fixed. I didn't look at it over the holidays but I'm working on it now.
Cheers,
Richard