All of lore.kernel.org
 help / color / mirror / Atom feed
* [RFC PATCH V2 0/9] New distribution definition for poky-tiny
@ 2011-12-21 18:58 Darren Hart
  2011-12-21 18:58 ` [PATCH 1/9] native.bbclass: Fix variable remapping coverage Darren Hart
                   ` (8 more replies)
  0 siblings, 9 replies; 16+ messages in thread
From: Darren Hart @ 2011-12-21 18:58 UTC (permalink / raw)
  To: Richard Purdie, Yocto Project, raj.khem, koen, kergoth,
	elizabeth.flanagan, martin.jansa, Bruce Ashfield, Tom Zanussi

RFC V2:
    o Use VIRTUAL-RUNTIME_keymaps as suggested by Martin Jansa
    o Drop poky-common abstraction as suggested by Richard Purdie in
      favor of POKY_DEFAULT_EXTRA_R* variables.

Poky-tiny defines a new distro policy for building tiny Linux images.
Rather than create new image tasks and recipes, it reuses existing ones,
modifying them as necessary. I believe it defines policy appropriate for
the distribution, but I'd welcome feedback regarding the distro/image split.
Please see th poky-tiny commit log for details on the policy goals.

In its current form, poky-tiny builds a qemux86 core-image-minimal image
and kernel in 2.6 MB (compressed):

1.2M bzImage-qemux86.bin
1.4M core-image-minimal-qemux86.cpio.gz

After mounting the rootfs:

$ sudo du -hs .
3.4M    .

$ sudo ~/bin/dirsize.py 25000
[sudo] password for dvhart: 
   2927998 .
   1754686 ./lib
   1022080 ./lib/libc-2.13.so
    157124 ./lib/libm-2.13.so
    119036 ./lib/ld-2.13.so
     96128 ./lib/libpthread-2.13.so
     91960 ./lib/libnsl-2.13.so
     83748 ./lib/libresolv-2.13.so
     46656 ./lib/libnss_files-2.13.so
     34588 ./lib/libnss_compat-2.13.so
     30624 ./lib/librt-2.13.so
     26056 ./lib/libcrypt-2.13.so
    549600 ./bin
    549600 ./bin/busybox
    531908 ./sbin
    531908 ./sbin/ldconfig
     71860 ./etc
     28006 ./etc/init.d
Displayed 2789508/2927998 bytes (95.27%)

This image can be tested in qemu with:
qemu-system-i386 -kernel /build/poky/qemux86/tmp/deploy/images/bzImage-qemux86.bin -append "console=ttyS0,115200 root=0800" -nographic /build/poky/qemux86/tmp/deploy/images/core-image-minimal-qemux86.ext2

This results in booting to a busybox shell:
/bin/sh: can't access tty; job control turned off
/ # 

This series includes two patches from others that are still pending inclusion,
but are necessary to build poky-tiny images:
o native.bbclass: Fix variable remapping coverage
o license: Fix manifest conditional

The linux-yocto-tiny recipe is a placeholder until the linux-yocto_3.2 recipes
are ready for master. 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
poky-tiny with a reasonably small kernel.

Several of these patches are known to be suboptimal, but are included to allow
for building and testing the series as well as to illicit feedback.  Many of
these "hacks" could be avoided by defining MACHINE-tiny variants and creating a
core-image-tiny recipe and a task-core-tiny task. I'd prefer to avoid all of
those things if possible by making the existing infrastructure flexible enough
to be used with poky-tiny.

Finally, I appreciate that this series is a mix of patches destined for oe-core
and poky. I felt it would be preferable to keep it all together for the RFC, and
to CC those that I knew would be interested. The final request will be sent
piecemeal through the appropriate channels.

Thanks,

Darren

The following changes since commit dee0fc1462ba18551571c3b2d0f2b443a2feca18:

  multilib.conf: Enable shadow-sysroot and libffi (2011-12-21 17:24:44 +0000)

are available in the git repository at:
  git://git.pokylinux.org/poky-contrib dvhart/tiny-v2
  http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=dvhart/tiny-v2

Beth Flanagan (1):
  license: Fix manifest conditional

Darren Hart (7):
  ncurses: Allow override of ENABLE_WIDEC
  eglibc: Only add eglibc-utils to PACKAGES if wchar is supported
  linux-yocto-tiny: New kernel recipe for poky-tiny distro (INCOMPLETE)
  task-core-boot: Allow DISTRO to disable keymaps via
    VIRTUAL-RUNTIME_keymaps
  distro: Add POKY_DEFAULT_EXTRA_R* variables
  distro: Add poky-tiny distro definition
  image_types: Ensure /init exists for cpio rootfs archives

Richard Purdie (1):
  native.bbclass: Fix variable remapping coverage

 meta-yocto/conf/distro/poky-tiny.conf              |  103 ++++
 meta-yocto/conf/distro/poky.conf                   |    8 +-
 meta/classes/image_types.bbclass                   |   10 +-
 meta/classes/license.bbclass                       |    4 +-
 meta/classes/native.bbclass                        |    2 +-
 meta/recipes-core/eglibc/eglibc-package.inc        |    6 +-
 meta/recipes-core/ncurses/ncurses.inc              |    2 +-
 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 +
 29 files changed, 897 insertions(+), 24 deletions(-)
 create mode 100644 meta-yocto/conf/distro/poky-tiny.conf
 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

-- 
1.7.6.4



^ permalink raw reply	[flat|nested] 16+ messages in thread

* [PATCH 1/9] native.bbclass: Fix variable remapping coverage
  2011-12-21 18:58 [RFC PATCH V2 0/9] New distribution definition for poky-tiny Darren Hart
@ 2011-12-21 18:58 ` Darren Hart
  2011-12-21 19:26   ` Chris Larson
  2011-12-21 18:58 ` [PATCH 2/9] ncurses: Allow override of ENABLE_WIDEC Darren Hart
                   ` (7 subsequent siblings)
  8 siblings, 1 reply; 16+ messages in thread
From: Darren Hart @ 2011-12-21 18:58 UTC (permalink / raw)
  To: Richard Purdie, Yocto Project, raj.khem, koen, kergoth,
	elizabeth.flanagan, martin.jansa, Bruce Ashfield, Tom Zanussi

From: Richard Purdie <richard.purdie@linuxfoundation.org>

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.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
---
 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(-)

diff --git a/meta/classes/native.bbclass b/meta/classes/native.bbclass
index 49823d6..00196ba 100644
--- a/meta/classes/native.bbclass
+++ b/meta/classes/native.bbclass
@@ -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)
diff --git a/meta/recipes-devtools/autoconf/autoconf.inc b/meta/recipes-devtools/autoconf/autoconf.inc
index 08a1b02..1d0cf90 100644
--- a/meta/recipes-devtools/autoconf/autoconf.inc
+++ b/meta/recipes-devtools/autoconf/autoconf.inc
@@ -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 \
diff --git a/meta/recipes-devtools/autoconf/autoconf_2.68.bb b/meta/recipes-devtools/autoconf/autoconf_2.68.bb
index 9028e83..84eb182 100644
--- a/meta/recipes-devtools/autoconf/autoconf_2.68.bb
+++ b/meta/recipes-devtools/autoconf/autoconf_2.68.bb
@@ -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"
diff --git a/meta/recipes-devtools/automake/automake_1.11.1.bb b/meta/recipes-devtools/automake/automake_1.11.1.bb
index ff8353f..6bffecf 100644
--- a/meta/recipes-devtools/automake/automake_1.11.1.bb
+++ b/meta/recipes-devtools/automake/automake_1.11.1.bb
@@ -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 = ""
diff --git a/meta/recipes-devtools/python/python-native_2.7.2.bb b/meta/recipes-devtools/python/python-native_2.7.2.bb
index d036eca..10bfa6c 100644
--- a/meta/recipes-devtools/python/python-native_2.7.2.bb
+++ b/meta/recipes-devtools/python/python-native_2.7.2.bb
@@ -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="" \
diff --git a/meta/recipes-gnome/gnome/gconf_3.2.3.bb b/meta/recipes-gnome/gnome/gconf_3.2.3.bb
index 9d327fc..f7d3594 100644
--- a/meta/recipes-gnome/gnome/gconf_3.2.3.bb
+++ b/meta/recipes-gnome/gnome/gconf_3.2.3.bb
@@ -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 \
diff --git a/meta/recipes-support/boost/boost.inc b/meta/recipes-support/boost/boost.inc
index aa577b3..fc417c9 100644
--- a/meta/recipes-support/boost/boost.inc
+++ b/meta/recipes-support/boost/boost.inc
@@ -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
-- 
1.7.6.4



^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH 2/9] ncurses: Allow override of ENABLE_WIDEC
  2011-12-21 18:58 [RFC PATCH V2 0/9] New distribution definition for poky-tiny Darren Hart
  2011-12-21 18:58 ` [PATCH 1/9] native.bbclass: Fix variable remapping coverage Darren Hart
@ 2011-12-21 18:58 ` Darren Hart
  2011-12-21 18:58 ` [PATCH 3/9] eglibc: Only add eglibc-utils to PACKAGES if wchar is supported Darren Hart
                   ` (6 subsequent siblings)
  8 siblings, 0 replies; 16+ messages in thread
From: Darren Hart @ 2011-12-21 18:58 UTC (permalink / raw)
  To: Richard Purdie, Yocto Project, raj.khem, koen, kergoth,
	elizabeth.flanagan, martin.jansa, Bruce Ashfield, Tom Zanussi

Set ENABLE_WIDEC with ?= instead of = to allow for the external override
by distro definitions.

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
---
 meta/recipes-core/ncurses/ncurses.inc |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/meta/recipes-core/ncurses/ncurses.inc b/meta/recipes-core/ncurses/ncurses.inc
index 98f45a4..583dad7 100644
--- a/meta/recipes-core/ncurses/ncurses.inc
+++ b/meta/recipes-core/ncurses/ncurses.inc
@@ -19,7 +19,7 @@ CONFIG_SITE =+ "${WORKDIR}/config.cache"
 # Whether to enable separate widec libraries; must be 'true' or 'false'
 #
 # TODO: remove this variable when widec is supported in every setup?
-ENABLE_WIDEC = "true"
+ENABLE_WIDEC ?= "true"
 
 # _GNU_SOURCE is required for widec stuff and is detected automatically
 # for target objects.  But it must be set manually for native and sdk
-- 
1.7.6.4



^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH 3/9] eglibc: Only add eglibc-utils to PACKAGES if wchar is supported
  2011-12-21 18:58 [RFC PATCH V2 0/9] New distribution definition for poky-tiny Darren Hart
  2011-12-21 18:58 ` [PATCH 1/9] native.bbclass: Fix variable remapping coverage Darren Hart
  2011-12-21 18:58 ` [PATCH 2/9] ncurses: Allow override of ENABLE_WIDEC Darren Hart
@ 2011-12-21 18:58 ` Darren Hart
  2011-12-21 18:58 ` [PATCH 4/9] linux-yocto-tiny: New kernel recipe for poky-tiny distro (INCOMPLETE) Darren Hart
                   ` (5 subsequent siblings)
  8 siblings, 0 replies; 16+ messages in thread
From: Darren Hart @ 2011-12-21 18:58 UTC (permalink / raw)
  To: Richard Purdie, Yocto Project, raj.khem, koen, kergoth,
	elizabeth.flanagan, martin.jansa, Bruce Ashfield, Tom Zanussi

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.

By removing eglibc-utils from the PACKAGES listing, bitbake doesn't
try to build the dependency chain.

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
---
 meta/recipes-core/eglibc/eglibc-package.inc |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)

diff --git a/meta/recipes-core/eglibc/eglibc-package.inc b/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)}
 
 # The ld.so in this eglibc supports the GNU_HASH
 RPROVIDES_${PN} = "glibc${PKGSUFFIX} rtld(GNU_HASH)"
-- 
1.7.6.4



^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH 4/9] linux-yocto-tiny: New kernel recipe for poky-tiny distro (INCOMPLETE)
  2011-12-21 18:58 [RFC PATCH V2 0/9] New distribution definition for poky-tiny Darren Hart
                   ` (2 preceding siblings ...)
  2011-12-21 18:58 ` [PATCH 3/9] eglibc: Only add eglibc-utils to PACKAGES if wchar is supported Darren Hart
@ 2011-12-21 18:58 ` Darren Hart
  2011-12-21 19:23   ` Bruce Ashfield
  2011-12-21 18:58 ` [PATCH 5/9] task-core-boot: Allow DISTRO to disable keymaps via VIRTUAL-RUNTIME_keymaps Darren Hart
                   ` (4 subsequent siblings)
  8 siblings, 1 reply; 16+ messages in thread
From: Darren Hart @ 2011-12-21 18:58 UTC (permalink / raw)
  To: Richard Purdie, Yocto Project, raj.khem, koen, kergoth,
	elizabeth.flanagan, martin.jansa, Bruce Ashfield, Tom Zanussi

linux-yocto-tiny drops the linux-tools and sets the KMACHINE
branch to standard/tiny.

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
---
 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

diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny/ata.cfg b/meta/recipes-kernel/linux/linux-yocto-tiny/ata.cfg
new file mode 100644
index 0000000..97e4d00
--- /dev/null
+++ b/meta/recipes-kernel/linux/linux-yocto-tiny/ata.cfg
@@ -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
diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny/core.cfg b/meta/recipes-kernel/linux/linux-yocto-tiny/core.cfg
new file mode 100644
index 0000000..7057218
--- /dev/null
+++ b/meta/recipes-kernel/linux/linux-yocto-tiny/core.cfg
@@ -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
+
diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny/debug.cfg b/meta/recipes-kernel/linux/linux-yocto-tiny/debug.cfg
new file mode 100644
index 0000000..886bfd9
--- /dev/null
+++ b/meta/recipes-kernel/linux/linux-yocto-tiny/debug.cfg
@@ -0,0 +1,5 @@
+# Debug options
+# +98k bzImage
+CONFIG_PRINTK=y
+CONFIG_EARLY_PRINTK=y
+CONFIG_PRINTK_TIME=y
diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny/devtmpfs.cfg b/meta/recipes-kernel/linux/linux-yocto-tiny/devtmpfs.cfg
new file mode 100644
index 0000000..07632e2
--- /dev/null
+++ b/meta/recipes-kernel/linux/linux-yocto-tiny/devtmpfs.cfg
@@ -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
diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny/e1000.cfg b/meta/recipes-kernel/linux/linux-yocto-tiny/e1000.cfg
new file mode 100644
index 0000000..8e18bbb
--- /dev/null
+++ b/meta/recipes-kernel/linux/linux-yocto-tiny/e1000.cfg
@@ -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
diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny/ext2.cfg b/meta/recipes-kernel/linux/linux-yocto-tiny/ext2.cfg
new file mode 100644
index 0000000..e35c36d
--- /dev/null
+++ b/meta/recipes-kernel/linux/linux-yocto-tiny/ext2.cfg
@@ -0,0 +1 @@
+CONFIG_EXT2_FS=y
diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny/ext3.cfg b/meta/recipes-kernel/linux/linux-yocto-tiny/ext3.cfg
new file mode 100644
index 0000000..df9dd64
--- /dev/null
+++ b/meta/recipes-kernel/linux/linux-yocto-tiny/ext3.cfg
@@ -0,0 +1,2 @@
+# bzImage +61k
+CONFIG_EXT3_FS=y
diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny/lzma.cfg b/meta/recipes-kernel/linux/linux-yocto-tiny/lzma.cfg
new file mode 100644
index 0000000..f1bafe1
--- /dev/null
+++ b/meta/recipes-kernel/linux/linux-yocto-tiny/lzma.cfg
@@ -0,0 +1,3 @@
+# bzImage -235k (-15% of bzImage size)
+CONFIG_KERNEL_LZMA=y
+
diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny/net.cfg b/meta/recipes-kernel/linux/linux-yocto-tiny/net.cfg
new file mode 100644
index 0000000..ab6d1ee
--- /dev/null
+++ b/meta/recipes-kernel/linux/linux-yocto-tiny/net.cfg
@@ -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
diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny/qemux86/defconfig b/meta/recipes-kernel/linux/linux-yocto-tiny/qemux86/defconfig
new file mode 100644
index 0000000..ba9ae04
--- /dev/null
+++ b/meta/recipes-kernel/linux/linux-yocto-tiny/qemux86/defconfig
@@ -0,0 +1,613 @@
+#
+# Automatically generated make config: don't edit
+# Linux/i386 3.0.4 Kernel Configuration
+#
+# CONFIG_64BIT is not set
+CONFIG_X86_32=y
+# CONFIG_X86_64 is not set
+CONFIG_X86=y
+CONFIG_INSTRUCTION_DECODER=y
+CONFIG_OUTPUT_FORMAT="elf32-i386"
+CONFIG_ARCH_DEFCONFIG="arch/x86/configs/i386_defconfig"
+CONFIG_GENERIC_CMOS_UPDATE=y
+CONFIG_CLOCKSOURCE_WATCHDOG=y
+CONFIG_GENERIC_CLOCKEVENTS=y
+CONFIG_LOCKDEP_SUPPORT=y
+CONFIG_STACKTRACE_SUPPORT=y
+CONFIG_HAVE_LATENCYTOP_SUPPORT=y
+CONFIG_MMU=y
+# CONFIG_ZONE_DMA is not set
+# CONFIG_NEED_DMA_MAP_STATE is not set
+CONFIG_NEED_SG_DMA_LENGTH=y
+CONFIG_GENERIC_ISA_DMA=y
+CONFIG_GENERIC_IOMAP=y
+CONFIG_GENERIC_HWEIGHT=y
+CONFIG_ARCH_MAY_HAVE_PC_FDC=y
+# CONFIG_RWSEM_GENERIC_SPINLOCK is not set
+CONFIG_RWSEM_XCHGADD_ALGORITHM=y
+CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+# CONFIG_GENERIC_TIME_VSYSCALL is not set
+CONFIG_ARCH_HAS_CPU_RELAX=y
+CONFIG_ARCH_HAS_DEFAULT_IDLE=y
+CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
+CONFIG_HAVE_SETUP_PER_CPU_AREA=y
+CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y
+CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y
+# CONFIG_HAVE_CPUMASK_OF_CPU_MAP is not set
+CONFIG_ARCH_HIBERNATION_POSSIBLE=y
+CONFIG_ARCH_SUSPEND_POSSIBLE=y
+# CONFIG_ZONE_DMA32 is not set
+CONFIG_ARCH_POPULATES_NODE_MAP=y
+# CONFIG_AUDIT_ARCH is not set
+CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y
+CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
+CONFIG_X86_32_LAZY_GS=y
+CONFIG_ARCH_HWEIGHT_CFLAGS="-fcall-saved-ecx -fcall-saved-edx"
+CONFIG_KTIME_SCALAR=y
+CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
+CONFIG_HAVE_IRQ_WORK=y
+CONFIG_IRQ_WORK=y
+
+#
+# General setup
+#
+# CONFIG_EXPERIMENTAL is not set
+CONFIG_BROKEN_ON_SMP=y
+CONFIG_INIT_ENV_ARG_LIMIT=32
+CONFIG_CROSS_COMPILE=""
+CONFIG_LOCALVERSION=""
+# CONFIG_LOCALVERSION_AUTO is not set
+CONFIG_HAVE_KERNEL_GZIP=y
+CONFIG_HAVE_KERNEL_BZIP2=y
+CONFIG_HAVE_KERNEL_LZMA=y
+CONFIG_HAVE_KERNEL_XZ=y
+CONFIG_HAVE_KERNEL_LZO=y
+CONFIG_KERNEL_GZIP=y
+# CONFIG_KERNEL_BZIP2 is not set
+# CONFIG_KERNEL_LZMA is not set
+# CONFIG_KERNEL_XZ is not set
+# CONFIG_KERNEL_LZO is not set
+CONFIG_DEFAULT_HOSTNAME="(none)"
+# CONFIG_SYSVIPC is not set
+# CONFIG_BSD_PROCESS_ACCT is not set
+# CONFIG_FHANDLE is not set
+CONFIG_HAVE_GENERIC_HARDIRQS=y
+
+#
+# IRQ subsystem
+#
+CONFIG_GENERIC_HARDIRQS=y
+CONFIG_HAVE_SPARSE_IRQ=y
+CONFIG_GENERIC_IRQ_PROBE=y
+CONFIG_GENERIC_IRQ_SHOW=y
+CONFIG_IRQ_FORCED_THREADING=y
+# CONFIG_SPARSE_IRQ is not set
+
+#
+# RCU Subsystem
+#
+CONFIG_TINY_RCU=y
+# CONFIG_PREEMPT_RCU is not set
+# CONFIG_RCU_TRACE is not set
+# CONFIG_TREE_RCU_TRACE is not set
+# CONFIG_IKCONFIG is not set
+CONFIG_LOG_BUF_SHIFT=17
+CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
+# CONFIG_NAMESPACES is not set
+# CONFIG_SCHED_AUTOGROUP is not set
+# CONFIG_RELAY is not set
+# CONFIG_BLK_DEV_INITRD is not set
+# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
+CONFIG_ANON_INODES=y
+CONFIG_EXPERT=y
+# CONFIG_UPTIME_LIMITED_KERNEL is not set
+# CONFIG_UID16 is not set
+# CONFIG_KALLSYMS is not set
+# CONFIG_HOTPLUG is not set
+# CONFIG_PRINTK is not set
+# CONFIG_BUG is not set
+# CONFIG_ELF_CORE is not set
+# CONFIG_PCSPKR_PLATFORM is not set
+# CONFIG_BASE_FULL is not set
+# CONFIG_FUTEX is not set
+# CONFIG_EPOLL is not set
+# CONFIG_SIGNALFD is not set
+# CONFIG_TIMERFD is not set
+# CONFIG_EVENTFD is not set
+# CONFIG_SHMEM is not set
+# CONFIG_AIO is not set
+CONFIG_EMBEDDED=y
+CONFIG_HAVE_PERF_EVENTS=y
+
+#
+# Kernel Performance Events And Counters
+#
+CONFIG_PERF_EVENTS=y
+# CONFIG_PERF_COUNTERS is not set
+# CONFIG_VM_EVENT_COUNTERS is not set
+# CONFIG_COMPAT_BRK is not set
+# CONFIG_SLAB is not set
+CONFIG_SLUB=y
+# CONFIG_SLOB is not set
+# CONFIG_PROFILING is not set
+CONFIG_HAVE_OPROFILE=y
+# CONFIG_JUMP_LABEL is not set
+CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
+CONFIG_HAVE_IOREMAP_PROT=y
+CONFIG_HAVE_KPROBES=y
+CONFIG_HAVE_KRETPROBES=y
+CONFIG_HAVE_OPTPROBES=y
+CONFIG_HAVE_ARCH_TRACEHOOK=y
+CONFIG_HAVE_DMA_ATTRS=y
+CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
+CONFIG_HAVE_DMA_API_DEBUG=y
+CONFIG_HAVE_HW_BREAKPOINT=y
+CONFIG_HAVE_MIXED_BREAKPOINTS_REGS=y
+CONFIG_HAVE_USER_RETURN_NOTIFIER=y
+CONFIG_HAVE_PERF_EVENTS_NMI=y
+CONFIG_HAVE_ARCH_JUMP_LABEL=y
+
+#
+# GCOV-based kernel profiling
+#
+CONFIG_HAVE_GENERIC_DMA_COHERENT=y
+CONFIG_BASE_SMALL=1
+# CONFIG_MODULES is not set
+# CONFIG_BLOCK is not set
+# CONFIG_INLINE_SPIN_TRYLOCK is not set
+# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
+# CONFIG_INLINE_SPIN_LOCK is not set
+# CONFIG_INLINE_SPIN_LOCK_BH is not set
+# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
+# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
+CONFIG_INLINE_SPIN_UNLOCK=y
+# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
+CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
+# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
+# CONFIG_INLINE_READ_TRYLOCK is not set
+# CONFIG_INLINE_READ_LOCK is not set
+# CONFIG_INLINE_READ_LOCK_BH is not set
+# CONFIG_INLINE_READ_LOCK_IRQ is not set
+# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set
+CONFIG_INLINE_READ_UNLOCK=y
+# CONFIG_INLINE_READ_UNLOCK_BH is not set
+CONFIG_INLINE_READ_UNLOCK_IRQ=y
+# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set
+# CONFIG_INLINE_WRITE_TRYLOCK is not set
+# CONFIG_INLINE_WRITE_LOCK is not set
+# CONFIG_INLINE_WRITE_LOCK_BH is not set
+# CONFIG_INLINE_WRITE_LOCK_IRQ is not set
+# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set
+CONFIG_INLINE_WRITE_UNLOCK=y
+# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
+CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
+# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
+# CONFIG_MUTEX_SPIN_ON_OWNER is not set
+# CONFIG_FREEZER is not set
+
+#
+# Processor type and features
+#
+# CONFIG_NO_HZ is not set
+# CONFIG_HIGH_RES_TIMERS is not set
+CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
+# CONFIG_SMP is not set
+# CONFIG_X86_EXTENDED_PLATFORM is not set
+# CONFIG_X86_32_IRIS is not set
+# CONFIG_SCHED_OMIT_FRAME_POINTER is not set
+# CONFIG_PARAVIRT_GUEST is not set
+CONFIG_NO_BOOTMEM=y
+# CONFIG_MEMTEST is not set
+# CONFIG_M386 is not set
+# CONFIG_M486 is not set
+# CONFIG_M586 is not set
+# CONFIG_M586TSC is not set
+# CONFIG_M586MMX is not set
+CONFIG_M686=y
+# CONFIG_MPENTIUMII is not set
+# CONFIG_MPENTIUMIII is not set
+# CONFIG_MPENTIUMM is not set
+# CONFIG_MPENTIUM4 is not set
+# CONFIG_MK6 is not set
+# CONFIG_MK7 is not set
+# CONFIG_MK8 is not set
+# CONFIG_MCRUSOE is not set
+# CONFIG_MEFFICEON is not set
+# CONFIG_MWINCHIPC6 is not set
+# CONFIG_MWINCHIP3D is not set
+# CONFIG_MELAN is not set
+# CONFIG_MGEODEGX1 is not set
+# CONFIG_MGEODE_LX is not set
+# CONFIG_MCYRIXIII is not set
+# CONFIG_MVIAC3_2 is not set
+# CONFIG_MVIAC7 is not set
+# CONFIG_MCORE2 is not set
+# CONFIG_MATOM is not set
+# CONFIG_X86_GENERIC is not set
+CONFIG_X86_INTERNODE_CACHE_SHIFT=5
+CONFIG_X86_CMPXCHG=y
+CONFIG_CMPXCHG_LOCAL=y
+CONFIG_X86_L1_CACHE_SHIFT=5
+CONFIG_X86_XADD=y
+# CONFIG_X86_PPRO_FENCE is not set
+CONFIG_X86_WP_WORKS_OK=y
+CONFIG_X86_INVLPG=y
+CONFIG_X86_BSWAP=y
+CONFIG_X86_POPAD_OK=y
+CONFIG_X86_USE_PPRO_CHECKSUM=y
+CONFIG_X86_TSC=y
+CONFIG_X86_CMPXCHG64=y
+CONFIG_X86_CMOV=y
+CONFIG_X86_MINIMUM_CPU_FAMILY=5
+CONFIG_X86_DEBUGCTLMSR=y
+# CONFIG_PROCESSOR_SELECT is not set
+CONFIG_CPU_SUP_INTEL=y
+CONFIG_CPU_SUP_CYRIX_32=y
+CONFIG_CPU_SUP_AMD=y
+CONFIG_CPU_SUP_CENTAUR=y
+CONFIG_CPU_SUP_TRANSMETA_32=y
+CONFIG_CPU_SUP_UMC_32=y
+# CONFIG_HPET_TIMER is not set
+# CONFIG_DMI is not set
+# CONFIG_IOMMU_HELPER is not set
+# CONFIG_IOMMU_API is not set
+CONFIG_NR_CPUS=1
+# CONFIG_IRQ_TIME_ACCOUNTING is not set
+CONFIG_PREEMPT_NONE=y
+# CONFIG_PREEMPT_VOLUNTARY is not set
+# CONFIG_PREEMPT is not set
+# CONFIG_X86_UP_APIC is not set
+# CONFIG_X86_MCE is not set
+# CONFIG_VM86 is not set
+# CONFIG_TOSHIBA is not set
+# CONFIG_I8K is not set
+# CONFIG_X86_REBOOTFIXUPS is not set
+# CONFIG_MICROCODE is not set
+# CONFIG_X86_MSR is not set
+# CONFIG_X86_CPUID is not set
+# CONFIG_NOHIGHMEM is not set
+CONFIG_HIGHMEM4G=y
+# CONFIG_HIGHMEM64G is not set
+CONFIG_PAGE_OFFSET=0xC0000000
+CONFIG_HIGHMEM=y
+# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set
+# CONFIG_ARCH_DMA_ADDR_T_64BIT is not set
+CONFIG_ARCH_FLATMEM_ENABLE=y
+CONFIG_ILLEGAL_POINTER_VALUE=0
+CONFIG_FLATMEM=y
+CONFIG_FLAT_NODE_MEM_MAP=y
+CONFIG_HAVE_MEMBLOCK=y
+CONFIG_PAGEFLAGS_EXTENDED=y
+CONFIG_SPLIT_PTLOCK_CPUS=4
+# CONFIG_COMPACTION is not set
+# CONFIG_PHYS_ADDR_T_64BIT is not set
+CONFIG_ZONE_DMA_FLAG=0
+CONFIG_VIRT_TO_BUS=y
+# CONFIG_KSM is not set
+CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
+# CONFIG_TRANSPARENT_HUGEPAGE is not set
+CONFIG_NEED_PER_CPU_KM=y
+# CONFIG_CLEANCACHE is not set
+# CONFIG_HIGHPTE is not set
+# CONFIG_X86_CHECK_BIOS_CORRUPTION is not set
+CONFIG_X86_RESERVE_LOW=64
+# CONFIG_MATH_EMULATION is not set
+# CONFIG_MTRR is not set
+# CONFIG_SECCOMP is not set
+# CONFIG_CC_STACKPROTECTOR is not set
+# CONFIG_HZ_100 is not set
+CONFIG_HZ_250=y
+# CONFIG_HZ_300 is not set
+# CONFIG_HZ_1000 is not set
+CONFIG_HZ=250
+# CONFIG_SCHED_HRTICK is not set
+# CONFIG_KEXEC is not set
+# CONFIG_CRASH_DUMP is not set
+CONFIG_PHYSICAL_START=0x1000000
+# CONFIG_RELOCATABLE is not set
+CONFIG_PHYSICAL_ALIGN=0x1000000
+# CONFIG_COMPAT_VDSO is not set
+# CONFIG_CMDLINE_BOOL is not set
+CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
+
+#
+# Power management and ACPI options
+#
+# CONFIG_SUSPEND is not set
+# CONFIG_PM_RUNTIME is not set
+# CONFIG_SFI is not set
+
+#
+# CPU Frequency scaling
+#
+# CONFIG_CPU_FREQ is not set
+# CONFIG_CPU_IDLE is not set
+
+#
+# Bus options (PCI etc.)
+#
+# CONFIG_PCI is not set
+# CONFIG_ARCH_SUPPORTS_MSI is not set
+CONFIG_ISA_DMA_API=y
+# CONFIG_ISA is not set
+# CONFIG_MCA is not set
+# CONFIG_SCx200 is not set
+# CONFIG_OLPC is not set
+
+#
+# Executable file formats / Emulations
+#
+# CONFIG_BINFMT_ELF is not set
+CONFIG_HAVE_AOUT=y
+# CONFIG_BINFMT_AOUT is not set
+# CONFIG_BINFMT_MISC is not set
+CONFIG_HAVE_ATOMIC_IOMAP=y
+CONFIG_HAVE_TEXT_POKE_SMP=y
+# CONFIG_NET is not set
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+CONFIG_STANDALONE=y
+# CONFIG_PREVENT_FIRMWARE_BUILD is not set
+# CONFIG_FW_LOADER is not set
+# CONFIG_SYS_HYPERVISOR is not set
+# CONFIG_MTD is not set
+# CONFIG_PARPORT is not set
+# CONFIG_MISC_DEVICES is not set
+CONFIG_HAVE_IDE=y
+
+#
+# SCSI device support
+#
+CONFIG_SCSI_MOD=y
+# CONFIG_SCSI_DMA is not set
+# CONFIG_SCSI_NETLINK is not set
+# CONFIG_MACINTOSH_DRIVERS is not set
+# CONFIG_PHONE is not set
+
+#
+# Input device support
+#
+# CONFIG_INPUT is not set
+
+#
+# Hardware I/O ports
+#
+# CONFIG_SERIO is not set
+# CONFIG_GAMEPORT is not set
+
+#
+# Character devices
+#
+# CONFIG_VT is not set
+# CONFIG_UNIX98_PTYS is not set
+# CONFIG_LEGACY_PTYS is not set
+# CONFIG_SERIAL_NONSTANDARD is not set
+# CONFIG_TRACE_SINK is not set
+# CONFIG_DEVKMEM is not set
+
+#
+# Serial drivers
+#
+# CONFIG_SERIAL_8250 is not set
+CONFIG_FIX_EARLYCON_MEM=y
+
+#
+# Non-8250 serial port support
+#
+# CONFIG_SERIAL_TIMBERDALE is not set
+# CONFIG_SERIAL_ALTERA_JTAGUART is not set
+# CONFIG_SERIAL_ALTERA_UART is not set
+# CONFIG_SERIAL_XILINX_PS_UART is not set
+# CONFIG_TTY_PRINTK is not set
+# CONFIG_IPMI_HANDLER is not set
+# CONFIG_HW_RANDOM is not set
+# CONFIG_NVRAM is not set
+# CONFIG_RTC is not set
+# CONFIG_GEN_RTC is not set
+# CONFIG_R3964 is not set
+# CONFIG_MWAVE is not set
+# CONFIG_PC8736x_GPIO is not set
+# CONFIG_NSC_GPIO is not set
+# CONFIG_HANGCHECK_TIMER is not set
+# CONFIG_RAMOOPS is not set
+# CONFIG_I2C is not set
+# CONFIG_SPI is not set
+
+#
+# PPS support
+#
+
+#
+# PPS generators support
+#
+
+#
+# PTP clock support
+#
+
+#
+# Enable Device Drivers -> PPS to see the PTP clock options.
+#
+CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
+# CONFIG_GPIOLIB is not set
+# CONFIG_W1 is not set
+# CONFIG_POWER_SUPPLY is not set
+# CONFIG_HWMON is not set
+# CONFIG_THERMAL is not set
+# CONFIG_WATCHDOG is not set
+CONFIG_SSB_POSSIBLE=y
+
+#
+# Sonics Silicon Backplane
+#
+# CONFIG_SSB is not set
+CONFIG_BCMA_POSSIBLE=y
+
+#
+# Broadcom specific AMBA
+#
+# CONFIG_BCMA is not set
+# CONFIG_MFD_SUPPORT is not set
+# CONFIG_REGULATOR is not set
+# CONFIG_MEDIA_SUPPORT is not set
+
+#
+# Graphics support
+#
+# CONFIG_DRM is not set
+# CONFIG_VGASTATE is not set
+# CONFIG_VIDEO_OUTPUT_CONTROL is not set
+# CONFIG_FB is not set
+# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
+
+#
+# Display device support
+#
+# CONFIG_DISPLAY_SUPPORT is not set
+# CONFIG_SOUND is not set
+# CONFIG_USB_SUPPORT is not set
+# CONFIG_MMC is not set
+# CONFIG_MEMSTICK is not set
+# CONFIG_NEW_LEDS is not set
+# CONFIG_NFC_DEVICES is not set
+# CONFIG_ACCESSIBILITY is not set
+# CONFIG_EDAC is not set
+# CONFIG_RTC_CLASS is not set
+# CONFIG_DMADEVICES is not set
+# CONFIG_AUXDISPLAY is not set
+# CONFIG_UIO is not set
+# CONFIG_STAGING is not set
+# CONFIG_X86_PLATFORM_DEVICES is not set
+CONFIG_CLKSRC_I8253=y
+
+#
+# Firmware Drivers
+#
+# CONFIG_EDD is not set
+# CONFIG_FIRMWARE_MEMMAP is not set
+# CONFIG_DELL_RBU is not set
+# CONFIG_DCDBAS is not set
+# CONFIG_ISCSI_IBFT_FIND is not set
+# CONFIG_GOOGLE_FIRMWARE is not set
+
+#
+# File systems
+#
+# CONFIG_FS_POSIX_ACL is not set
+# CONFIG_FILE_LOCKING is not set
+# CONFIG_FSNOTIFY is not set
+# CONFIG_DNOTIFY is not set
+# CONFIG_INOTIFY_USER is not set
+# CONFIG_FANOTIFY is not set
+# CONFIG_QUOTA is not set
+# CONFIG_QUOTACTL is not set
+# CONFIG_AUTOFS4_FS is not set
+# CONFIG_FUSE_FS is not set
+
+#
+# Caches
+#
+# CONFIG_FSCACHE is not set
+
+#
+# Pseudo filesystems
+#
+# CONFIG_PROC_FS is not set
+# CONFIG_SYSFS is not set
+# CONFIG_HUGETLBFS is not set
+# CONFIG_HUGETLB_PAGE is not set
+# CONFIG_CONFIGFS_FS is not set
+# CONFIG_MISC_FILESYSTEMS is not set
+# CONFIG_NLS is not set
+
+#
+# Kernel hacking
+#
+CONFIG_TRACE_IRQFLAGS_SUPPORT=y
+CONFIG_DEFAULT_MESSAGE_LOGLEVEL=4
+# CONFIG_ENABLE_WARN_DEPRECATED is not set
+# CONFIG_ENABLE_MUST_CHECK is not set
+CONFIG_FRAME_WARN=1024
+# CONFIG_MAGIC_SYSRQ is not set
+# CONFIG_STRIP_ASM_SYMS is not set
+# CONFIG_UNUSED_SYMBOLS is not set
+# CONFIG_DEBUG_FS is not set
+# CONFIG_HEADERS_CHECK is not set
+# CONFIG_DEBUG_SECTION_MISMATCH is not set
+# CONFIG_DEBUG_KERNEL is not set
+# CONFIG_HARDLOCKUP_DETECTOR is not set
+# CONFIG_SPARSE_RCU_POINTER is not set
+# CONFIG_DEBUG_MEMORY_INIT is not set
+CONFIG_ARCH_WANT_FRAME_POINTERS=y
+# CONFIG_FRAME_POINTER is not set
+CONFIG_USER_STACKTRACE_SUPPORT=y
+CONFIG_HAVE_FUNCTION_TRACER=y
+CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
+CONFIG_HAVE_FUNCTION_GRAPH_FP_TEST=y
+CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y
+CONFIG_HAVE_DYNAMIC_FTRACE=y
+CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
+CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
+CONFIG_HAVE_C_RECORDMCOUNT=y
+CONFIG_TRACING_SUPPORT=y
+# CONFIG_FTRACE is not set
+# CONFIG_DMA_API_DEBUG is not set
+# CONFIG_ATOMIC64_SELFTEST is not set
+# CONFIG_SAMPLES is not set
+CONFIG_HAVE_ARCH_KGDB=y
+CONFIG_HAVE_ARCH_KMEMCHECK=y
+# CONFIG_TEST_KSTRTOX is not set
+# CONFIG_STRICT_DEVMEM is not set
+# CONFIG_X86_VERBOSE_BOOTUP is not set
+# CONFIG_EARLY_PRINTK is not set
+# CONFIG_DOUBLEFAULT is not set
+# CONFIG_IOMMU_STRESS is not set
+CONFIG_HAVE_MMIOTRACE_SUPPORT=y
+CONFIG_IO_DELAY_TYPE_0X80=0
+CONFIG_IO_DELAY_TYPE_0XED=1
+CONFIG_IO_DELAY_TYPE_UDELAY=2
+CONFIG_IO_DELAY_TYPE_NONE=3
+CONFIG_IO_DELAY_0X80=y
+# CONFIG_IO_DELAY_0XED is not set
+# CONFIG_IO_DELAY_UDELAY is not set
+# CONFIG_IO_DELAY_NONE is not set
+CONFIG_DEFAULT_IO_DELAY_TYPE=0
+# CONFIG_OPTIMIZE_INLINING is not set
+
+#
+# Security options
+#
+# CONFIG_KEYS is not set
+# CONFIG_SECURITY_DMESG_RESTRICT is not set
+# CONFIG_SECURITYFS is not set
+CONFIG_DEFAULT_SECURITY_DAC=y
+CONFIG_DEFAULT_SECURITY=""
+# CONFIG_CRYPTO is not set
+CONFIG_HAVE_KVM=y
+# CONFIG_VIRTUALIZATION is not set
+# CONFIG_BINARY_PRINTF is not set
+
+#
+# Library routines
+#
+CONFIG_GENERIC_FIND_FIRST_BIT=y
+# CONFIG_CRC_CCITT is not set
+# CONFIG_CRC16 is not set
+# CONFIG_CRC_T10DIF is not set
+# CONFIG_CRC_ITU_T is not set
+# CONFIG_CRC32 is not set
+# CONFIG_CRC7 is not set
+# CONFIG_LIBCRC32C is not set
+# CONFIG_XZ_DEC is not set
+# CONFIG_XZ_DEC_BCJ is not set
+CONFIG_HAS_IOMEM=y
+CONFIG_HAS_IOPORT=y
+CONFIG_HAS_DMA=y
+# CONFIG_AVERAGE is not set
diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny/ramfs.cfg b/meta/recipes-kernel/linux/linux-yocto-tiny/ramfs.cfg
new file mode 100644
index 0000000..96f4bd3
--- /dev/null
+++ b/meta/recipes-kernel/linux/linux-yocto-tiny/ramfs.cfg
@@ -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
+
diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny/rtc-pc.cfg b/meta/recipes-kernel/linux/linux-yocto-tiny/rtc-pc.cfg
new file mode 100644
index 0000000..f667440
--- /dev/null
+++ b/meta/recipes-kernel/linux/linux-yocto-tiny/rtc-pc.cfg
@@ -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
diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny/serial.cfg b/meta/recipes-kernel/linux/linux-yocto-tiny/serial.cfg
new file mode 100644
index 0000000..0a28dca
--- /dev/null
+++ b/meta/recipes-kernel/linux/linux-yocto-tiny/serial.cfg
@@ -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
diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny/smp.cfg b/meta/recipes-kernel/linux/linux-yocto-tiny/smp.cfg
new file mode 100644
index 0000000..a82096e
--- /dev/null
+++ b/meta/recipes-kernel/linux/linux-yocto-tiny/smp.cfg
@@ -0,0 +1,7 @@
+# bzImage +104k
+CONFIG_HOTPLUG=y
+CONFIG_HOTPLUG_CPU=y
+CONFIG_SMP=y
+CONFIG_SCHED_SMT=y
+CONFIG_SCHED_MC=y
+
diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny_3.0.bb b/meta/recipes-kernel/linux/linux-yocto-tiny_3.0.bb
new file mode 100644
index 0000000..c5855a3
--- /dev/null
+++ b/meta/recipes-kernel/linux/linux-yocto-tiny_3.0.bb
@@ -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=""
-- 
1.7.6.4



^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH 5/9] task-core-boot: Allow DISTRO to disable keymaps via VIRTUAL-RUNTIME_keymaps
  2011-12-21 18:58 [RFC PATCH V2 0/9] New distribution definition for poky-tiny Darren Hart
                   ` (3 preceding siblings ...)
  2011-12-21 18:58 ` [PATCH 4/9] linux-yocto-tiny: New kernel recipe for poky-tiny distro (INCOMPLETE) Darren Hart
@ 2011-12-21 18:58 ` Darren Hart
  2011-12-21 18:58 ` [PATCH 6/9] distro: Add POKY_DEFAULT_EXTRA_R* variables Darren Hart
                   ` (3 subsequent siblings)
  8 siblings, 0 replies; 16+ messages in thread
From: Darren Hart @ 2011-12-21 18:58 UTC (permalink / raw)
  To: Richard Purdie, Yocto Project, raj.khem, koen, kergoth,
	elizabeth.flanagan, martin.jansa, Bruce Ashfield, Tom Zanussi

keymaps 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".

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
---
 meta/recipes-core/tasks/task-core-boot.bb |    8 +++-----
 1 files changed, 3 insertions(+), 5 deletions(-)

diff --git a/meta/recipes-core/tasks/task-core-boot.bb b/meta/recipes-core/tasks/task-core-boot.bb
index 05c280d..6487436 100644
--- a/meta/recipes-core/tasks/task-core-boot.bb
+++ b/meta/recipes-core/tasks/task-core-boot.bb
@@ -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} \
-- 
1.7.6.4



^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH 6/9] distro: Add POKY_DEFAULT_EXTRA_R* variables
  2011-12-21 18:58 [RFC PATCH V2 0/9] New distribution definition for poky-tiny Darren Hart
                   ` (4 preceding siblings ...)
  2011-12-21 18:58 ` [PATCH 5/9] task-core-boot: Allow DISTRO to disable keymaps via VIRTUAL-RUNTIME_keymaps Darren Hart
@ 2011-12-21 18:58 ` Darren Hart
  2011-12-21 19:21   ` Darren Hart
  2011-12-21 18:58 ` [PATCH 7/9] distro: Add poky-tiny distro definition Darren Hart
                   ` (2 subsequent siblings)
  8 siblings, 1 reply; 16+ messages in thread
From: Darren Hart @ 2011-12-21 18:58 UTC (permalink / raw)
  To: Richard Purdie, Yocto Project, raj.khem, koen, kergoth,
	elizabeth.flanagan, martin.jansa, Bruce Ashfield, Tom Zanussi

Allow the reuse of poky.conf by distro definitions wanting to remove
content by introducting POKY_DEFAULT_EXTRA_R*. These are appended
to the corresponding DISTRO_EXTRA_R* variables and can be overriden
by distro configs that "require poky.conf".

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
---
 meta-yocto/conf/distro/poky.conf |    8 ++++++--
 1 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/meta-yocto/conf/distro/poky.conf b/meta-yocto/conf/distro/poky.conf
index 80d4e47..43945be 100644
--- a/meta-yocto/conf/distro/poky.conf
+++ b/meta-yocto/conf/distro/poky.conf
@@ -24,8 +24,12 @@ SDKPATH = "/opt/${DISTRO}/${SDK_VERSION}"
 
 EXTRAOPKGCONFIG = "poky-feed-config-opkg"
 
-DISTRO_EXTRA_RDEPENDS += "task-core-boot"
-DISTRO_EXTRA_RRECOMMENDS += "kernel-module-af-packet"
+# Override these in poky based distros to modify DISTRO_EXTRA_R*
+POKY_DEFAULT_EXTRA_RDEPENDS = "task-core-boot"
+POKY_DEFAULT_EXTRA_RRECOMMENDS = "kernel-module-af-packet"
+
+DISTRO_EXTRA_RDEPENDS += ${POKY_DEFAULT_EXTRA_RDEPENDS}
+DISTRO_EXTRA_RRECOMMENDS += ${POKY_DEFAULT_EXTRA_RRECOMMENDS}
 
 POKYQEMUDEPS = "${@base_contains("INCOMPATIBLE_LICENSE", "GPLv3", "", "qemu-config",d)}"
 DISTRO_EXTRA_RDEPENDS_append_qemuarm = " ${POKYQEMUDEPS}"
-- 
1.7.6.4



^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH 7/9] distro: Add poky-tiny distro definition
  2011-12-21 18:58 [RFC PATCH V2 0/9] New distribution definition for poky-tiny Darren Hart
                   ` (5 preceding siblings ...)
  2011-12-21 18:58 ` [PATCH 6/9] distro: Add POKY_DEFAULT_EXTRA_R* variables Darren Hart
@ 2011-12-21 18:58 ` Darren Hart
  2011-12-21 18:58 ` [PATCH 8/9] license: Fix manifest conditional Darren Hart
  2011-12-21 18:58 ` [PATCH 9/9] image_types: Ensure /init exists for cpio rootfs archives Darren Hart
  8 siblings, 0 replies; 16+ messages in thread
From: Darren Hart @ 2011-12-21 18:58 UTC (permalink / raw)
  To: Richard Purdie, Yocto Project, raj.khem, koen, kergoth,
	elizabeth.flanagan, martin.jansa, Bruce Ashfield, Tom Zanussi

Poky-tiny is intended for building very small OS images. The distro
definition sets the providers for the kernel and the runtime services.
It also reduces the eglibc component list and other DISTRO_FEATURE
elements.

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
---
 meta-yocto/conf/distro/poky-tiny.conf |  103 +++++++++++++++++++++++++++++++++
 1 files changed, 103 insertions(+), 0 deletions(-)
 create mode 100644 meta-yocto/conf/distro/poky-tiny.conf

diff --git a/meta-yocto/conf/distro/poky-tiny.conf b/meta-yocto/conf/distro/poky-tiny.conf
new file mode 100644
index 0000000..49c4397
--- /dev/null
+++ b/meta-yocto/conf/distro/poky-tiny.conf
@@ -0,0 +1,103 @@
+# Distribution definition for: poky-tiny
+#
+# Copyright (c) 2011, Intel Corporation.
+# All rights reserved.
+#
+# Poky-tiny is intended to define a tiny Linux system comprised of a
+# Linux kernel tailored to support each specific MACHINE and busybox.
+# Poky-tiny sets some basic policy to ensure a usable system while still
+# keeping the rootfs and kernel image as small as possible.
+#
+# The policies defined are intended to meet the following goals:
+# o Serial consoles only (no framebuffer or VGA console)
+# o Basic support for IPV4 networking
+# o Single user ash shell
+# o Static images (no support for adding packages or libraries later)
+# o Read-only or RAMFS root filesystem
+# o Combined Linux kernel + rootfs in under 4MB
+# o Allow the user to select between eglibc or uclibc with the TCLIBC variable
+#
+# This is currently a partial definition, the following tasks remain:
+# [ ] Integrate linux-yocto-tiny ktype into linux-yocto
+# [ ] Define linux-yocto-tiny configs for all supported BSPs
+# [ ] Drop ldconfig from the installation
+# [ ] Modify the runqemu scripts to work with ext2 parameter:
+#     runqemu qemux86 qemuparams="-nographic" bootparams="console=ttyS0,115200 root=0800" 
+# [ ] Modify busybox to allow for DISTRO_FEATURES-like confiruration
+
+require conf/distro/poky.conf
+DISTRO = "poky-tiny"
+
+# FIXME: consider adding a new "tiny" feature
+#DISTRO_FEATURES_append = " tiny"
+
+# Distro config is evaluated after the machine config, so we have to explicitly
+# set the kernel provider to override a machine config.
+PREFERRED_PROVIDER_virtual/kernel = "linux-yocto-tiny"
+PREFERRED_VERSION_linux-yocto-tiny = "3.0%"
+
+# We can use task-core-boot, but in the future we may need a new task-core-tiny
+#POKY_DEFAULT_EXTRA_RDEPENDS += "task-core-boot"
+# Drop kernel-module-af-packet from RRECOMMENDS
+POKY_DEFAULT_EXTRA_RRECOMMENDS = ""
+
+# FIXME: what should we do with this?
+TCLIBCAPPEND = ""
+
+# Disable wide char support for ncurses as we don't include it in
+# in the LIBC features below.
+ENABLE_WIDEC="false"
+
+# Reconfigure eglibc for a smaller installation
+# Comment out any of the lines below to disable them in the build
+DISTRO_FEATURES_LIBC_TINY = "libc-libm libc-crypt"
+# Required for "who"
+DISTRO_FEATURES_LIBC_MINIMAL = "libc-utmp libc-getlogin"
+DISTRO_FEATURES_LIBC_REGEX = "libc-posix-regexp"
+DISTRO_FEATURES_LIBC_NET = "libc-inet libc-nis"
+
+DISTRO_FEATURES_LIBC = "${DISTRO_FEATURES_LIBC_TINY} \
+                        ${DISTRO_FEATURES_LIBC_MINIMAL} \
+                        ${DISTRO_FEATURES_LIBC_REGEX} \
+                        ${DISTRO_FEATURES_LIBC_NET} \
+                       "
+
+# Comment out any of the lines below to disable them in the build
+# DISTRO_FEATURES options:
+# alsa bluetooth ext2 irda pcmcia usbgadget usbhost wifi nfs zeroconf pci
+DISTRO_FEATURES_TINY = "pci"
+DISTRO_FEATURES_NET = "ipv4"
+DISTRO_FEATURES_USB = "usbhost"
+#DISTRO_FEATURES_USBGADGET = "usbgadget"
+#DISTRO_FEATURES_WIFI = "wifi"
+
+DISTRO_FEATURES = "${DISTRO_FEATURES_TINY} \
+                   ${DISTRO_FEATURES_NET} \
+                   ${DISTRO_FEATURES_USB} \
+                   ${DISTRO_FEATURES_USBGADGET} \
+                   ${DISTRO_FEATURES_WIFI} \
+                   ${DISTRO_FEATURES_LIBC} \
+                  "
+
+# Use tmpdevfs and the busybox runtime services
+VIRTUAL-RUNTIME_dev_manager = ""
+VIRTUAL-RUNTIME_login_manager = ""
+VIRTUAL-RUNTIME_init_manager = ""
+VIRTUAL-RUNTIME_keymaps = ""
+
+# FIXME: Consider adding "modules" to MACHINE_FEATURES and using that in
+# task-core-base to select modutils-initscripts or not.  Similar with "net" and
+# netbase.
+
+# By default we only support ext2 and initramfs. We don't build live as that
+# pulls in a lot of dependencies for the live image and the installer, like
+# udev, grub, etc.  These pull in gettext, which fails to build with wide
+# character support.
+IMAGE_FSTYPES = "ext2 cpio.gz"
+
+# Drop v86d from qemu dependency list (we support serial)
+# Drop grub from meta-intel BSPs
+# FIXME: A different mechanism is needed here. We could define -tiny
+#        variants of all compatible machines, but that leads to a lot
+#        more machine configs to maintain long term.
+MACHINE_ESSENTIAL_EXTRA_RDEPENDS = ""
-- 
1.7.6.4



^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH 8/9] license: Fix manifest conditional
  2011-12-21 18:58 [RFC PATCH V2 0/9] New distribution definition for poky-tiny Darren Hart
                   ` (6 preceding siblings ...)
  2011-12-21 18:58 ` [PATCH 7/9] distro: Add poky-tiny distro definition Darren Hart
@ 2011-12-21 18:58 ` Darren Hart
  2011-12-21 18:58 ` [PATCH 9/9] image_types: Ensure /init exists for cpio rootfs archives Darren Hart
  8 siblings, 0 replies; 16+ messages in thread
From: Darren Hart @ 2011-12-21 18:58 UTC (permalink / raw)
  To: Richard Purdie, Yocto Project, raj.khem, koen, kergoth,
	elizabeth.flanagan, martin.jansa, Bruce Ashfield, Tom Zanussi

From: Beth Flanagan <elizabeth.flanagan@intel.com>

The manifest conditionals COPY_LIC_MANIFEST and COPY_LIC_DIRS
were returning true due to missing quotes in the bash test. This
made images larger than expected.

Signed-off-by: Beth Flanagan <elizabeth.flanagan@intel.com>
---
 meta/classes/license.bbclass |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/meta/classes/license.bbclass b/meta/classes/license.bbclass
index 6e82bd9..d351b5a 100644
--- a/meta/classes/license.bbclass
+++ b/meta/classes/license.bbclass
@@ -110,10 +110,10 @@ license_create_manifest() {
     # if you are concerned about license compliance 
     # and delivery this should cover all your bases
 
-    if [ -n ${COPY_LIC_MANIFEST} ]; then
+    if [ -n "${COPY_LIC_MANIFEST}" ]; then
         mkdir -p ${IMAGE_ROOTFS}/usr/share/common-licenses/
         cp ${LICENSE_DIRECTORY}/${IMAGE_NAME}/license.manifest ${IMAGE_ROOTFS}/usr/share/common-licenses/license.manifest
-        if [ -n ${COPY_LIC_DIRS} ]; then
+        if [ -n "${COPY_LIC_DIRS}" ]; then
             for pkg in ${INSTALLED_PKGS}; do
                 mkdir -p ${IMAGE_ROOTFS}/usr/share/common-licenses/${pkg}
                 for lic in `ls ${LICENSE_DIRECTORY}/${pkged_pn}`; do
-- 
1.7.6.4



^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH 9/9] image_types: Ensure /init exists for cpio rootfs archives
  2011-12-21 18:58 [RFC PATCH V2 0/9] New distribution definition for poky-tiny Darren Hart
                   ` (7 preceding siblings ...)
  2011-12-21 18:58 ` [PATCH 8/9] license: Fix manifest conditional Darren Hart
@ 2011-12-21 18:58 ` Darren Hart
  8 siblings, 0 replies; 16+ messages in thread
From: Darren Hart @ 2011-12-21 18:58 UTC (permalink / raw)
  To: Richard Purdie, Yocto Project, raj.khem, koen, kergoth,
	elizabeth.flanagan, martin.jansa, Bruce Ashfield, Tom Zanussi

NOTE: I'm looking for a more appropriate mechanism.

In order for the kernel to accept an initramfs as a rootfs,
it must have /init - even if it is an empty file. Touch /init
to ensure it exists for cpio and cpio.gz image types.

When used with initrd and rootfs=/dev/ram0, this allows the
cpio and cpio.gz images to be used as the rootfs.

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
---
 meta/classes/image_types.bbclass |   10 ++++++++--
 1 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/meta/classes/image_types.bbclass b/meta/classes/image_types.bbclass
index 489fbe1..f83aaad 100644
--- a/meta/classes/image_types.bbclass
+++ b/meta/classes/image_types.bbclass
@@ -110,8 +110,14 @@ IMAGE_CMD_tar = "cd ${IMAGE_ROOTFS} && tar -cvf ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME
 IMAGE_CMD_tar.gz = "cd ${IMAGE_ROOTFS} && tar -zcvf ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.tar.gz ."
 IMAGE_CMD_tar.bz2 = "cd ${IMAGE_ROOTFS} && tar -jcvf ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.tar.bz2 ."
 IMAGE_CMD_tar.xz = "cd ${IMAGE_ROOTFS} && tar --xz -cvf ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.tar.xz ."
-IMAGE_CMD_cpio = "cd ${IMAGE_ROOTFS} && (find . | cpio -o -H newc >${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.cpio)"
-IMAGE_CMD_cpio.gz = "cd ${IMAGE_ROOTFS} && (find . | cpio -o -H newc | gzip -c -9 >${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.cpio.gz)"
+IMAGE_CMD_cpio () {
+	touch ${IMAGE_ROOTFS}/init
+	cd ${IMAGE_ROOTFS} && (find . | cpio -o -H newc >${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.cpio)
+}
+IMAGE_CMD_cpio.gz () {
+	touch ${IMAGE_ROOTFS}/init
+	cd ${IMAGE_ROOTFS} && (find . | cpio -o -H newc | gzip -c -9 >${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.cpio.gz)
+}
 IMAGE_CMD_cpio.xz = "type cpio >/dev/null; cd ${IMAGE_ROOTFS} && (find . | cpio -o -H newc | xz -c ${XZ_COMPRESSION_LEVEL} --check=${XZ_INTEGRITY_CHECK} > ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.cpio.xz) ${EXTRA_IMAGECMD}"
 IMAGE_CMD_cpio.lzma = "type cpio >/dev/null; cd ${IMAGE_ROOTFS} && (find . | cpio -o -H newc | xz --format=lzma -c ${XZ_COMPRESSION_LEVEL} --check=${XZ_INTEGRITY_CHECK} >${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.cpio.lzma) ${EXTRA_IMAGECMD}"
 
-- 
1.7.6.4



^ permalink raw reply related	[flat|nested] 16+ messages in thread

* Re: [PATCH 6/9] distro: Add POKY_DEFAULT_EXTRA_R* variables
  2011-12-21 18:58 ` [PATCH 6/9] distro: Add POKY_DEFAULT_EXTRA_R* variables Darren Hart
@ 2011-12-21 19:21   ` Darren Hart
  0 siblings, 0 replies; 16+ messages in thread
From: Darren Hart @ 2011-12-21 19:21 UTC (permalink / raw)
  To: Richard Purdie, Yocto Project, raj.khem, koen, kergoth,
	elizabeth.flanagan, martin.jansa, Bruce Ashfield, Tom Zanussi

On 12/21/2011 10:58 AM, Darren Hart wrote:
> Allow the reuse of poky.conf by distro definitions wanting to remove
> content by introducting POKY_DEFAULT_EXTRA_R*. These are appended
> to the corresponding DISTRO_EXTRA_R* variables and can be overriden
> by distro configs that "require poky.conf".
> 
> Signed-off-by: Darren Hart <dvhart@linux.intel.com>
> ---
>  meta-yocto/conf/distro/poky.conf |    8 ++++++--
>  1 files changed, 6 insertions(+), 2 deletions(-)
> 
> diff --git a/meta-yocto/conf/distro/poky.conf b/meta-yocto/conf/distro/poky.conf
> index 80d4e47..43945be 100644
> --- a/meta-yocto/conf/distro/poky.conf
> +++ b/meta-yocto/conf/distro/poky.conf
> @@ -24,8 +24,12 @@ SDKPATH = "/opt/${DISTRO}/${SDK_VERSION}"
>  
>  EXTRAOPKGCONFIG = "poky-feed-config-opkg"
>  
> -DISTRO_EXTRA_RDEPENDS += "task-core-boot"
> -DISTRO_EXTRA_RRECOMMENDS += "kernel-module-af-packet"
> +# Override these in poky based distros to modify DISTRO_EXTRA_R*
> +POKY_DEFAULT_EXTRA_RDEPENDS = "task-core-boot"
> +POKY_DEFAULT_EXTRA_RRECOMMENDS = "kernel-module-af-packet"
> +
> +DISTRO_EXTRA_RDEPENDS += ${POKY_DEFAULT_EXTRA_RDEPENDS}
> +DISTRO_EXTRA_RRECOMMENDS += ${POKY_DEFAULT_EXTRA_RRECOMMENDS}

Doh, -ENOQUOTING. Fixed in the dvhart/tiny-v2 contrib branch.

>  
>  POKYQEMUDEPS = "${@base_contains("INCOMPATIBLE_LICENSE", "GPLv3", "", "qemu-config",d)}"
>  DISTRO_EXTRA_RDEPENDS_append_qemuarm = " ${POKYQEMUDEPS}"


-- 
Darren Hart
Intel Open Source Technology Center
Yocto Project - Linux Kernel


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH 4/9] linux-yocto-tiny: New kernel recipe for poky-tiny distro (INCOMPLETE)
  2011-12-21 18:58 ` [PATCH 4/9] linux-yocto-tiny: New kernel recipe for poky-tiny distro (INCOMPLETE) Darren Hart
@ 2011-12-21 19:23   ` Bruce Ashfield
  2011-12-21 19:41     ` Darren Hart
  0 siblings, 1 reply; 16+ messages in thread
From: Bruce Ashfield @ 2011-12-21 19:23 UTC (permalink / raw)
  To: Darren Hart; +Cc: Yocto Project

On 11-12-21 01:58 PM, Darren Hart wrote:
> linux-yocto-tiny drops the linux-tools and sets the KMACHINE
> branch to standard/tiny.
>
> Signed-off-by: Darren Hart<dvhart@linux.intel.com>
> ---
>   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
>
> diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny/ata.cfg b/meta/recipes-kernel/linux/linux-yocto-tiny/ata.cfg
> new file mode 100644
> index 0000000..97e4d00
> --- /dev/null
> +++ b/meta/recipes-kernel/linux/linux-yocto-tiny/ata.cfg
> @@ -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
> diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny/core.cfg b/meta/recipes-kernel/linux/linux-yocto-tiny/core.cfg
> new file mode 100644
> index 0000000..7057218
> --- /dev/null
> +++ b/meta/recipes-kernel/linux/linux-yocto-tiny/core.cfg
> @@ -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
> +
> diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny/debug.cfg b/meta/recipes-kernel/linux/linux-yocto-tiny/debug.cfg
> new file mode 100644
> index 0000000..886bfd9
> --- /dev/null
> +++ b/meta/recipes-kernel/linux/linux-yocto-tiny/debug.cfg
> @@ -0,0 +1,5 @@
> +# Debug options
> +# +98k bzImage
> +CONFIG_PRINTK=y
> +CONFIG_EARLY_PRINTK=y
> +CONFIG_PRINTK_TIME=y

Taking the closer look that I promised. Did you build with printk
completely disabled ? It used to produce invalid images, so I was
curious to know if that has been fixed.

Anytime I see debug, I always think 'optional' (i.e. like the cfg/debug.cfg
that I've had in the past).

98k isn't much to add, but in a crunch, these could easily be made
optional.

> diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny/devtmpfs.cfg b/meta/recipes-kernel/linux/linux-yocto-tiny/devtmpfs.cfg
> new file mode 100644
> index 0000000..07632e2
> --- /dev/null
> +++ b/meta/recipes-kernel/linux/linux-yocto-tiny/devtmpfs.cfg
> @@ -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
> diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny/e1000.cfg b/meta/recipes-kernel/linux/linux-yocto-tiny/e1000.cfg
> new file mode 100644
> index 0000000..8e18bbb
> --- /dev/null
> +++ b/meta/recipes-kernel/linux/linux-yocto-tiny/e1000.cfg
> @@ -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
> diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny/ext2.cfg b/meta/recipes-kernel/linux/linux-yocto-tiny/ext2.cfg
> new file mode 100644
> index 0000000..e35c36d
> --- /dev/null
> +++ b/meta/recipes-kernel/linux/linux-yocto-tiny/ext2.cfg
> @@ -0,0 +1 @@
> +CONFIG_EXT2_FS=y
> diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny/ext3.cfg b/meta/recipes-kernel/linux/linux-yocto-tiny/ext3.cfg
> new file mode 100644
> index 0000000..df9dd64
> --- /dev/null
> +++ b/meta/recipes-kernel/linux/linux-yocto-tiny/ext3.cfg
> @@ -0,0 +1,2 @@
> +# bzImage +61k
> +CONFIG_EXT3_FS=y

As long as we don't end up breaking things down too much, this
is fine. But if there are too many, classifying a set of filesystem
options into named/useful configs works as well. i.e. "settopbox-fs"

> diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny/lzma.cfg b/meta/recipes-kernel/linux/linux-yocto-tiny/lzma.cfg
> new file mode 100644
> index 0000000..f1bafe1
> --- /dev/null
> +++ b/meta/recipes-kernel/linux/linux-yocto-tiny/lzma.cfg
> @@ -0,0 +1,3 @@
> +# bzImage -235k (-15% of bzImage size)
> +CONFIG_KERNEL_LZMA=y
> +
> diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny/net.cfg b/meta/recipes-kernel/linux/linux-yocto-tiny/net.cfg
> new file mode 100644
> index 0000000..ab6d1ee
> --- /dev/null
> +++ b/meta/recipes-kernel/linux/linux-yocto-tiny/net.cfg
> @@ -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
> diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny/qemux86/defconfig b/meta/recipes-kernel/linux/linux-yocto-tiny/qemux86/defconfig
> new file mode 100644
> index 0000000..ba9ae04
> --- /dev/null
> +++ b/meta/recipes-kernel/linux/linux-yocto-tiny/qemux86/defconfig
> @@ -0,0 +1,613 @@
> +#
> +# Automatically generated make config: don't edit
> +# Linux/i386 3.0.4 Kernel Configuration
> +#

I can test this against the allnoconfig staging work, but so I'm clear,
you went for the approach of a defconfig baseline (generated from
allnoconfig?) and then re-enabling what you need/want ?

> +# CONFIG_64BIT is not set
> +CONFIG_X86_32=y
> +# CONFIG_X86_64 is not set
> +CONFIG_X86=y
> +CONFIG_INSTRUCTION_DECODER=y
> +CONFIG_OUTPUT_FORMAT="elf32-i386"
> +CONFIG_ARCH_DEFCONFIG="arch/x86/configs/i386_defconfig"
> +CONFIG_GENERIC_CMOS_UPDATE=y
> +CONFIG_CLOCKSOURCE_WATCHDOG=y
> +CONFIG_GENERIC_CLOCKEVENTS=y
> +CONFIG_LOCKDEP_SUPPORT=y
> +CONFIG_STACKTRACE_SUPPORT=y
> +CONFIG_HAVE_LATENCYTOP_SUPPORT=y
> +CONFIG_MMU=y
> +# CONFIG_ZONE_DMA is not set
> +# CONFIG_NEED_DMA_MAP_STATE is not set
> +CONFIG_NEED_SG_DMA_LENGTH=y
> +CONFIG_GENERIC_ISA_DMA=y
> +CONFIG_GENERIC_IOMAP=y
> +CONFIG_GENERIC_HWEIGHT=y
> +CONFIG_ARCH_MAY_HAVE_PC_FDC=y
> +# CONFIG_RWSEM_GENERIC_SPINLOCK is not set
> +CONFIG_RWSEM_XCHGADD_ALGORITHM=y
> +CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y
> +CONFIG_GENERIC_CALIBRATE_DELAY=y
> +# CONFIG_GENERIC_TIME_VSYSCALL is not set
> +CONFIG_ARCH_HAS_CPU_RELAX=y
> +CONFIG_ARCH_HAS_DEFAULT_IDLE=y
> +CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
> +CONFIG_HAVE_SETUP_PER_CPU_AREA=y
> +CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y
> +CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y
> +# CONFIG_HAVE_CPUMASK_OF_CPU_MAP is not set
> +CONFIG_ARCH_HIBERNATION_POSSIBLE=y
> +CONFIG_ARCH_SUSPEND_POSSIBLE=y
> +# CONFIG_ZONE_DMA32 is not set
> +CONFIG_ARCH_POPULATES_NODE_MAP=y
> +# CONFIG_AUDIT_ARCH is not set
> +CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y
> +CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
> +CONFIG_X86_32_LAZY_GS=y
> +CONFIG_ARCH_HWEIGHT_CFLAGS="-fcall-saved-ecx -fcall-saved-edx"
> +CONFIG_KTIME_SCALAR=y
> +CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
> +CONFIG_HAVE_IRQ_WORK=y
> +CONFIG_IRQ_WORK=y
> +
> +#
> +# General setup
> +#
> +# CONFIG_EXPERIMENTAL is not set
> +CONFIG_BROKEN_ON_SMP=y
> +CONFIG_INIT_ENV_ARG_LIMIT=32
> +CONFIG_CROSS_COMPILE=""
> +CONFIG_LOCALVERSION=""
> +# CONFIG_LOCALVERSION_AUTO is not set
> +CONFIG_HAVE_KERNEL_GZIP=y
> +CONFIG_HAVE_KERNEL_BZIP2=y
> +CONFIG_HAVE_KERNEL_LZMA=y
> +CONFIG_HAVE_KERNEL_XZ=y
> +CONFIG_HAVE_KERNEL_LZO=y
> +CONFIG_KERNEL_GZIP=y
> +# CONFIG_KERNEL_BZIP2 is not set
> +# CONFIG_KERNEL_LZMA is not set
> +# CONFIG_KERNEL_XZ is not set
> +# CONFIG_KERNEL_LZO is not set
> +CONFIG_DEFAULT_HOSTNAME="(none)"
> +# CONFIG_SYSVIPC is not set
> +# CONFIG_BSD_PROCESS_ACCT is not set
> +# CONFIG_FHANDLE is not set
> +CONFIG_HAVE_GENERIC_HARDIRQS=y
> +
> +#
> +# IRQ subsystem
> +#
> +CONFIG_GENERIC_HARDIRQS=y
> +CONFIG_HAVE_SPARSE_IRQ=y
> +CONFIG_GENERIC_IRQ_PROBE=y
> +CONFIG_GENERIC_IRQ_SHOW=y
> +CONFIG_IRQ_FORCED_THREADING=y
> +# CONFIG_SPARSE_IRQ is not set
> +
> +#
> +# RCU Subsystem
> +#
> +CONFIG_TINY_RCU=y
> +# CONFIG_PREEMPT_RCU is not set
> +# CONFIG_RCU_TRACE is not set
> +# CONFIG_TREE_RCU_TRACE is not set
> +# CONFIG_IKCONFIG is not set
> +CONFIG_LOG_BUF_SHIFT=17
> +CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
> +# CONFIG_NAMESPACES is not set
> +# CONFIG_SCHED_AUTOGROUP is not set
> +# CONFIG_RELAY is not set
> +# CONFIG_BLK_DEV_INITRD is not set
> +# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
> +CONFIG_ANON_INODES=y
> +CONFIG_EXPERT=y
> +# CONFIG_UPTIME_LIMITED_KERNEL is not set
> +# CONFIG_UID16 is not set
> +# CONFIG_KALLSYMS is not set
> +# CONFIG_HOTPLUG is not set
> +# CONFIG_PRINTK is not set
> +# CONFIG_BUG is not set
> +# CONFIG_ELF_CORE is not set
> +# CONFIG_PCSPKR_PLATFORM is not set
> +# CONFIG_BASE_FULL is not set
> +# CONFIG_FUTEX is not set
> +# CONFIG_EPOLL is not set
> +# CONFIG_SIGNALFD is not set
> +# CONFIG_TIMERFD is not set
> +# CONFIG_EVENTFD is not set
> +# CONFIG_SHMEM is not set
> +# CONFIG_AIO is not set
> +CONFIG_EMBEDDED=y
> +CONFIG_HAVE_PERF_EVENTS=y
> +
> +#
> +# Kernel Performance Events And Counters
> +#
> +CONFIG_PERF_EVENTS=y
> +# CONFIG_PERF_COUNTERS is not set
> +# CONFIG_VM_EVENT_COUNTERS is not set
> +# CONFIG_COMPAT_BRK is not set
> +# CONFIG_SLAB is not set
> +CONFIG_SLUB=y
> +# CONFIG_SLOB is not set
> +# CONFIG_PROFILING is not set
> +CONFIG_HAVE_OPROFILE=y
> +# CONFIG_JUMP_LABEL is not set
> +CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
> +CONFIG_HAVE_IOREMAP_PROT=y
> +CONFIG_HAVE_KPROBES=y
> +CONFIG_HAVE_KRETPROBES=y
> +CONFIG_HAVE_OPTPROBES=y
> +CONFIG_HAVE_ARCH_TRACEHOOK=y
> +CONFIG_HAVE_DMA_ATTRS=y
> +CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
> +CONFIG_HAVE_DMA_API_DEBUG=y
> +CONFIG_HAVE_HW_BREAKPOINT=y
> +CONFIG_HAVE_MIXED_BREAKPOINTS_REGS=y
> +CONFIG_HAVE_USER_RETURN_NOTIFIER=y
> +CONFIG_HAVE_PERF_EVENTS_NMI=y
> +CONFIG_HAVE_ARCH_JUMP_LABEL=y
> +
> +#
> +# GCOV-based kernel profiling
> +#
> +CONFIG_HAVE_GENERIC_DMA_COHERENT=y
> +CONFIG_BASE_SMALL=1
> +# CONFIG_MODULES is not set
> +# CONFIG_BLOCK is not set
> +# CONFIG_INLINE_SPIN_TRYLOCK is not set
> +# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
> +# CONFIG_INLINE_SPIN_LOCK is not set
> +# CONFIG_INLINE_SPIN_LOCK_BH is not set
> +# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
> +# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
> +CONFIG_INLINE_SPIN_UNLOCK=y
> +# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
> +CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
> +# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
> +# CONFIG_INLINE_READ_TRYLOCK is not set
> +# CONFIG_INLINE_READ_LOCK is not set
> +# CONFIG_INLINE_READ_LOCK_BH is not set
> +# CONFIG_INLINE_READ_LOCK_IRQ is not set
> +# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set
> +CONFIG_INLINE_READ_UNLOCK=y
> +# CONFIG_INLINE_READ_UNLOCK_BH is not set
> +CONFIG_INLINE_READ_UNLOCK_IRQ=y
> +# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set
> +# CONFIG_INLINE_WRITE_TRYLOCK is not set
> +# CONFIG_INLINE_WRITE_LOCK is not set
> +# CONFIG_INLINE_WRITE_LOCK_BH is not set
> +# CONFIG_INLINE_WRITE_LOCK_IRQ is not set
> +# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set
> +CONFIG_INLINE_WRITE_UNLOCK=y
> +# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
> +CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
> +# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
> +# CONFIG_MUTEX_SPIN_ON_OWNER is not set
> +# CONFIG_FREEZER is not set
> +
> +#
> +# Processor type and features
> +#
> +# CONFIG_NO_HZ is not set
> +# CONFIG_HIGH_RES_TIMERS is not set
> +CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
> +# CONFIG_SMP is not set
> +# CONFIG_X86_EXTENDED_PLATFORM is not set
> +# CONFIG_X86_32_IRIS is not set
> +# CONFIG_SCHED_OMIT_FRAME_POINTER is not set
> +# CONFIG_PARAVIRT_GUEST is not set
> +CONFIG_NO_BOOTMEM=y
> +# CONFIG_MEMTEST is not set
> +# CONFIG_M386 is not set
> +# CONFIG_M486 is not set
> +# CONFIG_M586 is not set
> +# CONFIG_M586TSC is not set
> +# CONFIG_M586MMX is not set
> +CONFIG_M686=y
> +# CONFIG_MPENTIUMII is not set
> +# CONFIG_MPENTIUMIII is not set
> +# CONFIG_MPENTIUMM is not set
> +# CONFIG_MPENTIUM4 is not set
> +# CONFIG_MK6 is not set
> +# CONFIG_MK7 is not set
> +# CONFIG_MK8 is not set
> +# CONFIG_MCRUSOE is not set
> +# CONFIG_MEFFICEON is not set
> +# CONFIG_MWINCHIPC6 is not set
> +# CONFIG_MWINCHIP3D is not set
> +# CONFIG_MELAN is not set
> +# CONFIG_MGEODEGX1 is not set
> +# CONFIG_MGEODE_LX is not set
> +# CONFIG_MCYRIXIII is not set
> +# CONFIG_MVIAC3_2 is not set
> +# CONFIG_MVIAC7 is not set
> +# CONFIG_MCORE2 is not set
> +# CONFIG_MATOM is not set
> +# CONFIG_X86_GENERIC is not set
> +CONFIG_X86_INTERNODE_CACHE_SHIFT=5
> +CONFIG_X86_CMPXCHG=y
> +CONFIG_CMPXCHG_LOCAL=y
> +CONFIG_X86_L1_CACHE_SHIFT=5
> +CONFIG_X86_XADD=y
> +# CONFIG_X86_PPRO_FENCE is not set
> +CONFIG_X86_WP_WORKS_OK=y
> +CONFIG_X86_INVLPG=y
> +CONFIG_X86_BSWAP=y
> +CONFIG_X86_POPAD_OK=y
> +CONFIG_X86_USE_PPRO_CHECKSUM=y
> +CONFIG_X86_TSC=y
> +CONFIG_X86_CMPXCHG64=y
> +CONFIG_X86_CMOV=y
> +CONFIG_X86_MINIMUM_CPU_FAMILY=5
> +CONFIG_X86_DEBUGCTLMSR=y
> +# CONFIG_PROCESSOR_SELECT is not set
> +CONFIG_CPU_SUP_INTEL=y
> +CONFIG_CPU_SUP_CYRIX_32=y
> +CONFIG_CPU_SUP_AMD=y
> +CONFIG_CPU_SUP_CENTAUR=y
> +CONFIG_CPU_SUP_TRANSMETA_32=y
> +CONFIG_CPU_SUP_UMC_32=y
> +# CONFIG_HPET_TIMER is not set
> +# CONFIG_DMI is not set
> +# CONFIG_IOMMU_HELPER is not set
> +# CONFIG_IOMMU_API is not set
> +CONFIG_NR_CPUS=1
> +# CONFIG_IRQ_TIME_ACCOUNTING is not set
> +CONFIG_PREEMPT_NONE=y
> +# CONFIG_PREEMPT_VOLUNTARY is not set
> +# CONFIG_PREEMPT is not set
> +# CONFIG_X86_UP_APIC is not set
> +# CONFIG_X86_MCE is not set
> +# CONFIG_VM86 is not set
> +# CONFIG_TOSHIBA is not set
> +# CONFIG_I8K is not set
> +# CONFIG_X86_REBOOTFIXUPS is not set
> +# CONFIG_MICROCODE is not set
> +# CONFIG_X86_MSR is not set
> +# CONFIG_X86_CPUID is not set
> +# CONFIG_NOHIGHMEM is not set
> +CONFIG_HIGHMEM4G=y
> +# CONFIG_HIGHMEM64G is not set
> +CONFIG_PAGE_OFFSET=0xC0000000
> +CONFIG_HIGHMEM=y
> +# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set
> +# CONFIG_ARCH_DMA_ADDR_T_64BIT is not set
> +CONFIG_ARCH_FLATMEM_ENABLE=y
> +CONFIG_ILLEGAL_POINTER_VALUE=0
> +CONFIG_FLATMEM=y
> +CONFIG_FLAT_NODE_MEM_MAP=y
> +CONFIG_HAVE_MEMBLOCK=y
> +CONFIG_PAGEFLAGS_EXTENDED=y
> +CONFIG_SPLIT_PTLOCK_CPUS=4
> +# CONFIG_COMPACTION is not set
> +# CONFIG_PHYS_ADDR_T_64BIT is not set
> +CONFIG_ZONE_DMA_FLAG=0
> +CONFIG_VIRT_TO_BUS=y
> +# CONFIG_KSM is not set
> +CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
> +# CONFIG_TRANSPARENT_HUGEPAGE is not set
> +CONFIG_NEED_PER_CPU_KM=y
> +# CONFIG_CLEANCACHE is not set
> +# CONFIG_HIGHPTE is not set
> +# CONFIG_X86_CHECK_BIOS_CORRUPTION is not set
> +CONFIG_X86_RESERVE_LOW=64
> +# CONFIG_MATH_EMULATION is not set
> +# CONFIG_MTRR is not set
> +# CONFIG_SECCOMP is not set
> +# CONFIG_CC_STACKPROTECTOR is not set
> +# CONFIG_HZ_100 is not set
> +CONFIG_HZ_250=y
> +# CONFIG_HZ_300 is not set
> +# CONFIG_HZ_1000 is not set
> +CONFIG_HZ=250
> +# CONFIG_SCHED_HRTICK is not set
> +# CONFIG_KEXEC is not set
> +# CONFIG_CRASH_DUMP is not set
> +CONFIG_PHYSICAL_START=0x1000000
> +# CONFIG_RELOCATABLE is not set
> +CONFIG_PHYSICAL_ALIGN=0x1000000
> +# CONFIG_COMPAT_VDSO is not set
> +# CONFIG_CMDLINE_BOOL is not set
> +CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
> +
> +#
> +# Power management and ACPI options
> +#
> +# CONFIG_SUSPEND is not set
> +# CONFIG_PM_RUNTIME is not set
> +# CONFIG_SFI is not set
> +
> +#
> +# CPU Frequency scaling
> +#
> +# CONFIG_CPU_FREQ is not set
> +# CONFIG_CPU_IDLE is not set
> +
> +#
> +# Bus options (PCI etc.)
> +#
> +# CONFIG_PCI is not set
> +# CONFIG_ARCH_SUPPORTS_MSI is not set
> +CONFIG_ISA_DMA_API=y
> +# CONFIG_ISA is not set
> +# CONFIG_MCA is not set
> +# CONFIG_SCx200 is not set
> +# CONFIG_OLPC is not set
> +
> +#
> +# Executable file formats / Emulations
> +#
> +# CONFIG_BINFMT_ELF is not set
> +CONFIG_HAVE_AOUT=y
> +# CONFIG_BINFMT_AOUT is not set
> +# CONFIG_BINFMT_MISC is not set
> +CONFIG_HAVE_ATOMIC_IOMAP=y
> +CONFIG_HAVE_TEXT_POKE_SMP=y
> +# CONFIG_NET is not set
> +
> +#
> +# Device Drivers
> +#
> +
> +#
> +# Generic Driver Options
> +#
> +CONFIG_STANDALONE=y
> +# CONFIG_PREVENT_FIRMWARE_BUILD is not set
> +# CONFIG_FW_LOADER is not set
> +# CONFIG_SYS_HYPERVISOR is not set
> +# CONFIG_MTD is not set
> +# CONFIG_PARPORT is not set
> +# CONFIG_MISC_DEVICES is not set
> +CONFIG_HAVE_IDE=y
> +
> +#
> +# SCSI device support
> +#
> +CONFIG_SCSI_MOD=y
> +# CONFIG_SCSI_DMA is not set
> +# CONFIG_SCSI_NETLINK is not set
> +# CONFIG_MACINTOSH_DRIVERS is not set
> +# CONFIG_PHONE is not set
> +
> +#
> +# Input device support
> +#
> +# CONFIG_INPUT is not set
> +
> +#
> +# Hardware I/O ports
> +#
> +# CONFIG_SERIO is not set
> +# CONFIG_GAMEPORT is not set
> +
> +#
> +# Character devices
> +#
> +# CONFIG_VT is not set
> +# CONFIG_UNIX98_PTYS is not set
> +# CONFIG_LEGACY_PTYS is not set
> +# CONFIG_SERIAL_NONSTANDARD is not set
> +# CONFIG_TRACE_SINK is not set
> +# CONFIG_DEVKMEM is not set
> +
> +#
> +# Serial drivers
> +#
> +# CONFIG_SERIAL_8250 is not set
> +CONFIG_FIX_EARLYCON_MEM=y
> +
> +#
> +# Non-8250 serial port support
> +#
> +# CONFIG_SERIAL_TIMBERDALE is not set
> +# CONFIG_SERIAL_ALTERA_JTAGUART is not set
> +# CONFIG_SERIAL_ALTERA_UART is not set
> +# CONFIG_SERIAL_XILINX_PS_UART is not set
> +# CONFIG_TTY_PRINTK is not set
> +# CONFIG_IPMI_HANDLER is not set
> +# CONFIG_HW_RANDOM is not set
> +# CONFIG_NVRAM is not set
> +# CONFIG_RTC is not set
> +# CONFIG_GEN_RTC is not set
> +# CONFIG_R3964 is not set
> +# CONFIG_MWAVE is not set
> +# CONFIG_PC8736x_GPIO is not set
> +# CONFIG_NSC_GPIO is not set
> +# CONFIG_HANGCHECK_TIMER is not set
> +# CONFIG_RAMOOPS is not set
> +# CONFIG_I2C is not set
> +# CONFIG_SPI is not set
> +
> +#
> +# PPS support
> +#
> +
> +#
> +# PPS generators support
> +#
> +
> +#
> +# PTP clock support
> +#
> +
> +#
> +# Enable Device Drivers ->  PPS to see the PTP clock options.
> +#
> +CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
> +# CONFIG_GPIOLIB is not set
> +# CONFIG_W1 is not set
> +# CONFIG_POWER_SUPPLY is not set
> +# CONFIG_HWMON is not set
> +# CONFIG_THERMAL is not set
> +# CONFIG_WATCHDOG is not set
> +CONFIG_SSB_POSSIBLE=y
> +
> +#
> +# Sonics Silicon Backplane
> +#
> +# CONFIG_SSB is not set
> +CONFIG_BCMA_POSSIBLE=y
> +
> +#
> +# Broadcom specific AMBA
> +#
> +# CONFIG_BCMA is not set
> +# CONFIG_MFD_SUPPORT is not set
> +# CONFIG_REGULATOR is not set
> +# CONFIG_MEDIA_SUPPORT is not set
> +
> +#
> +# Graphics support
> +#
> +# CONFIG_DRM is not set
> +# CONFIG_VGASTATE is not set
> +# CONFIG_VIDEO_OUTPUT_CONTROL is not set
> +# CONFIG_FB is not set
> +# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
> +
> +#
> +# Display device support
> +#
> +# CONFIG_DISPLAY_SUPPORT is not set
> +# CONFIG_SOUND is not set
> +# CONFIG_USB_SUPPORT is not set
> +# CONFIG_MMC is not set
> +# CONFIG_MEMSTICK is not set
> +# CONFIG_NEW_LEDS is not set
> +# CONFIG_NFC_DEVICES is not set
> +# CONFIG_ACCESSIBILITY is not set
> +# CONFIG_EDAC is not set
> +# CONFIG_RTC_CLASS is not set
> +# CONFIG_DMADEVICES is not set
> +# CONFIG_AUXDISPLAY is not set
> +# CONFIG_UIO is not set
> +# CONFIG_STAGING is not set
> +# CONFIG_X86_PLATFORM_DEVICES is not set
> +CONFIG_CLKSRC_I8253=y
> +
> +#
> +# Firmware Drivers
> +#
> +# CONFIG_EDD is not set
> +# CONFIG_FIRMWARE_MEMMAP is not set
> +# CONFIG_DELL_RBU is not set
> +# CONFIG_DCDBAS is not set
> +# CONFIG_ISCSI_IBFT_FIND is not set
> +# CONFIG_GOOGLE_FIRMWARE is not set
> +
> +#
> +# File systems
> +#
> +# CONFIG_FS_POSIX_ACL is not set
> +# CONFIG_FILE_LOCKING is not set
> +# CONFIG_FSNOTIFY is not set
> +# CONFIG_DNOTIFY is not set
> +# CONFIG_INOTIFY_USER is not set
> +# CONFIG_FANOTIFY is not set
> +# CONFIG_QUOTA is not set
> +# CONFIG_QUOTACTL is not set
> +# CONFIG_AUTOFS4_FS is not set
> +# CONFIG_FUSE_FS is not set
> +
> +#
> +# Caches
> +#
> +# CONFIG_FSCACHE is not set
> +
> +#
> +# Pseudo filesystems
> +#
> +# CONFIG_PROC_FS is not set
> +# CONFIG_SYSFS is not set
> +# CONFIG_HUGETLBFS is not set
> +# CONFIG_HUGETLB_PAGE is not set
> +# CONFIG_CONFIGFS_FS is not set
> +# CONFIG_MISC_FILESYSTEMS is not set
> +# CONFIG_NLS is not set
> +
> +#
> +# Kernel hacking
> +#
> +CONFIG_TRACE_IRQFLAGS_SUPPORT=y
> +CONFIG_DEFAULT_MESSAGE_LOGLEVEL=4
> +# CONFIG_ENABLE_WARN_DEPRECATED is not set
> +# CONFIG_ENABLE_MUST_CHECK is not set
> +CONFIG_FRAME_WARN=1024
> +# CONFIG_MAGIC_SYSRQ is not set
> +# CONFIG_STRIP_ASM_SYMS is not set
> +# CONFIG_UNUSED_SYMBOLS is not set
> +# CONFIG_DEBUG_FS is not set
> +# CONFIG_HEADERS_CHECK is not set
> +# CONFIG_DEBUG_SECTION_MISMATCH is not set
> +# CONFIG_DEBUG_KERNEL is not set
> +# CONFIG_HARDLOCKUP_DETECTOR is not set
> +# CONFIG_SPARSE_RCU_POINTER is not set
> +# CONFIG_DEBUG_MEMORY_INIT is not set
> +CONFIG_ARCH_WANT_FRAME_POINTERS=y
> +# CONFIG_FRAME_POINTER is not set
> +CONFIG_USER_STACKTRACE_SUPPORT=y
> +CONFIG_HAVE_FUNCTION_TRACER=y
> +CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
> +CONFIG_HAVE_FUNCTION_GRAPH_FP_TEST=y
> +CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y
> +CONFIG_HAVE_DYNAMIC_FTRACE=y
> +CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
> +CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
> +CONFIG_HAVE_C_RECORDMCOUNT=y
> +CONFIG_TRACING_SUPPORT=y
> +# CONFIG_FTRACE is not set
> +# CONFIG_DMA_API_DEBUG is not set
> +# CONFIG_ATOMIC64_SELFTEST is not set
> +# CONFIG_SAMPLES is not set
> +CONFIG_HAVE_ARCH_KGDB=y
> +CONFIG_HAVE_ARCH_KMEMCHECK=y
> +# CONFIG_TEST_KSTRTOX is not set
> +# CONFIG_STRICT_DEVMEM is not set
> +# CONFIG_X86_VERBOSE_BOOTUP is not set
> +# CONFIG_EARLY_PRINTK is not set
> +# CONFIG_DOUBLEFAULT is not set
> +# CONFIG_IOMMU_STRESS is not set
> +CONFIG_HAVE_MMIOTRACE_SUPPORT=y
> +CONFIG_IO_DELAY_TYPE_0X80=0
> +CONFIG_IO_DELAY_TYPE_0XED=1
> +CONFIG_IO_DELAY_TYPE_UDELAY=2
> +CONFIG_IO_DELAY_TYPE_NONE=3
> +CONFIG_IO_DELAY_0X80=y
> +# CONFIG_IO_DELAY_0XED is not set
> +# CONFIG_IO_DELAY_UDELAY is not set
> +# CONFIG_IO_DELAY_NONE is not set
> +CONFIG_DEFAULT_IO_DELAY_TYPE=0
> +# CONFIG_OPTIMIZE_INLINING is not set
> +
> +#
> +# Security options
> +#
> +# CONFIG_KEYS is not set
> +# CONFIG_SECURITY_DMESG_RESTRICT is not set
> +# CONFIG_SECURITYFS is not set
> +CONFIG_DEFAULT_SECURITY_DAC=y
> +CONFIG_DEFAULT_SECURITY=""
> +# CONFIG_CRYPTO is not set
> +CONFIG_HAVE_KVM=y
> +# CONFIG_VIRTUALIZATION is not set
> +# CONFIG_BINARY_PRINTF is not set
> +
> +#
> +# Library routines
> +#
> +CONFIG_GENERIC_FIND_FIRST_BIT=y
> +# CONFIG_CRC_CCITT is not set
> +# CONFIG_CRC16 is not set
> +# CONFIG_CRC_T10DIF is not set
> +# CONFIG_CRC_ITU_T is not set
> +# CONFIG_CRC32 is not set
> +# CONFIG_CRC7 is not set
> +# CONFIG_LIBCRC32C is not set
> +# CONFIG_XZ_DEC is not set
> +# CONFIG_XZ_DEC_BCJ is not set
> +CONFIG_HAS_IOMEM=y
> +CONFIG_HAS_IOPORT=y
> +CONFIG_HAS_DMA=y
> +# CONFIG_AVERAGE is not set

I don't see anything missing in there, but I see some options as
enabled that surprised me (preempt none, ftrace (but these look
largley like HAVE_* options) or "hardware" options that we can
move to boards at some point. If the approach is what I mentioned
above, then this all looks sane.

> diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny/ramfs.cfg b/meta/recipes-kernel/linux/linux-yocto-tiny/ramfs.cfg
> new file mode 100644
> index 0000000..96f4bd3
> --- /dev/null
> +++ b/meta/recipes-kernel/linux/linux-yocto-tiny/ramfs.cfg
> @@ -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
> +
> diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny/rtc-pc.cfg b/meta/recipes-kernel/linux/linux-yocto-tiny/rtc-pc.cfg
> new file mode 100644
> index 0000000..f667440
> --- /dev/null
> +++ b/meta/recipes-kernel/linux/linux-yocto-tiny/rtc-pc.cfg
> @@ -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
> diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny/serial.cfg b/meta/recipes-kernel/linux/linux-yocto-tiny/serial.cfg
> new file mode 100644
> index 0000000..0a28dca
> --- /dev/null
> +++ b/meta/recipes-kernel/linux/linux-yocto-tiny/serial.cfg
> @@ -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
> diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny/smp.cfg b/meta/recipes-kernel/linux/linux-yocto-tiny/smp.cfg
> new file mode 100644
> index 0000000..a82096e
> --- /dev/null
> +++ b/meta/recipes-kernel/linux/linux-yocto-tiny/smp.cfg
> @@ -0,0 +1,7 @@
> +# bzImage +104k
> +CONFIG_HOTPLUG=y
> +CONFIG_HOTPLUG_CPU=y
> +CONFIG_SMP=y
> +CONFIG_SCHED_SMT=y
> +CONFIG_SCHED_MC=y

All looks sane. At some point, there could be more arch specific
items found here.

Cheers,

Bruce

> +
> diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny_3.0.bb b/meta/recipes-kernel/linux/linux-yocto-tiny_3.0.bb
> new file mode 100644
> index 0000000..c5855a3
> --- /dev/null
> +++ b/meta/recipes-kernel/linux/linux-yocto-tiny_3.0.bb
> @@ -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=""



^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH 1/9] native.bbclass: Fix variable remapping coverage
  2011-12-21 18:58 ` [PATCH 1/9] native.bbclass: Fix variable remapping coverage Darren Hart
@ 2011-12-21 19:26   ` Chris Larson
  2011-12-21 19:52     ` Darren Hart
  0 siblings, 1 reply; 16+ messages in thread
From: Chris Larson @ 2011-12-21 19:26 UTC (permalink / raw)
  To: Darren Hart; +Cc: Yocto Project

On Wed, Dec 21, 2011 at 11:58 AM, Darren Hart <dvhart@linux.intel.com> wrote:
> diff --git a/meta/recipes-devtools/autoconf/autoconf.inc b/meta/recipes-devtools/autoconf/autoconf.inc
> index 08a1b02..1d0cf90 100644
> --- a/meta/recipes-devtools/autoconf/autoconf.inc
> +++ b/meta/recipes-devtools/autoconf/autoconf.inc
> @@ -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"

Is this bit needed? If so, I'm not seeing a description of this change
in the commit message, unless I'm missing something.
-- 
Christopher Larson


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH 4/9] linux-yocto-tiny: New kernel recipe for poky-tiny distro (INCOMPLETE)
  2011-12-21 19:23   ` Bruce Ashfield
@ 2011-12-21 19:41     ` Darren Hart
  0 siblings, 0 replies; 16+ messages in thread
From: Darren Hart @ 2011-12-21 19:41 UTC (permalink / raw)
  To: Bruce Ashfield; +Cc: Yocto Project

On 12/21/2011 11:23 AM, Bruce Ashfield wrote:
> On 11-12-21 01:58 PM, Darren Hart wrote:
>> linux-yocto-tiny drops the linux-tools and sets the KMACHINE
>> branch to standard/tiny.
>>
>> Signed-off-by: Darren Hart<dvhart@linux.intel.com>
>> ---
>>   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
>>
>> diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny/ata.cfg b/meta/recipes-kernel/linux/linux-yocto-tiny/ata.cfg
>> new file mode 100644
>> index 0000000..97e4d00
>> --- /dev/null
>> +++ b/meta/recipes-kernel/linux/linux-yocto-tiny/ata.cfg
>> @@ -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
>> diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny/core.cfg b/meta/recipes-kernel/linux/linux-yocto-tiny/core.cfg
>> new file mode 100644
>> index 0000000..7057218
>> --- /dev/null
>> +++ b/meta/recipes-kernel/linux/linux-yocto-tiny/core.cfg
>> @@ -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
>> +
>> diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny/debug.cfg b/meta/recipes-kernel/linux/linux-yocto-tiny/debug.cfg
>> new file mode 100644
>> index 0000000..886bfd9
>> --- /dev/null
>> +++ b/meta/recipes-kernel/linux/linux-yocto-tiny/debug.cfg
>> @@ -0,0 +1,5 @@
>> +# Debug options
>> +# +98k bzImage
>> +CONFIG_PRINTK=y
>> +CONFIG_EARLY_PRINTK=y
>> +CONFIG_PRINTK_TIME=y
> 
> Taking the closer look that I promised. Did you build with printk
> completely disabled ? It used to produce invalid images, so I was
> curious to know if that has been fixed.

I have indeed, it works fine. I find that leaving it in is the better
option and just setting the LOGLEVEL in the kernel parameters if you
want a silent boot. You get all the boot time advantages while still
being able to debug your kernel.

EARLY_PRINTK and PRINTK_TIME might be something we make options.

> 
> Anytime I see debug, I always think 'optional' (i.e. like the cfg/debug.cfg
> that I've had in the past).

Yeah, CONFIG_PRINTK should move into "core policy" I think when we
define the tiny ktype.

> 
> 98k isn't much to add, but in a crunch, these could easily be made
> optional.
> 
>> diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny/devtmpfs.cfg b/meta/recipes-kernel/linux/linux-yocto-tiny/devtmpfs.cfg
>> new file mode 100644
>> index 0000000..07632e2
>> --- /dev/null
>> +++ b/meta/recipes-kernel/linux/linux-yocto-tiny/devtmpfs.cfg
>> @@ -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
>> diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny/e1000.cfg b/meta/recipes-kernel/linux/linux-yocto-tiny/e1000.cfg
>> new file mode 100644
>> index 0000000..8e18bbb
>> --- /dev/null
>> +++ b/meta/recipes-kernel/linux/linux-yocto-tiny/e1000.cfg
>> @@ -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
>> diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny/ext2.cfg b/meta/recipes-kernel/linux/linux-yocto-tiny/ext2.cfg
>> new file mode 100644
>> index 0000000..e35c36d
>> --- /dev/null
>> +++ b/meta/recipes-kernel/linux/linux-yocto-tiny/ext2.cfg
>> @@ -0,0 +1 @@
>> +CONFIG_EXT2_FS=y
>> diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny/ext3.cfg b/meta/recipes-kernel/linux/linux-yocto-tiny/ext3.cfg
>> new file mode 100644
>> index 0000000..df9dd64
>> --- /dev/null
>> +++ b/meta/recipes-kernel/linux/linux-yocto-tiny/ext3.cfg
>> @@ -0,0 +1,2 @@
>> +# bzImage +61k
>> +CONFIG_EXT3_FS=y
> 
> As long as we don't end up breaking things down too much, this
> is fine. But if there are too many, classifying a set of filesystem
> options into named/useful configs works as well. i.e. "settopbox-fs"

I don't even use this one in the recipe, expecting RO fs or initramfs
usage. I left it to easily allow people to add it. The journal takes up
1MB, which is more than 25 of the rootfs :-)

> 
>> diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny/lzma.cfg b/meta/recipes-kernel/linux/linux-yocto-tiny/lzma.cfg
>> new file mode 100644
>> index 0000000..f1bafe1
>> --- /dev/null
>> +++ b/meta/recipes-kernel/linux/linux-yocto-tiny/lzma.cfg
>> @@ -0,0 +1,3 @@
>> +# bzImage -235k (-15% of bzImage size)
>> +CONFIG_KERNEL_LZMA=y
>> +
>> diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny/net.cfg b/meta/recipes-kernel/linux/linux-yocto-tiny/net.cfg
>> new file mode 100644
>> index 0000000..ab6d1ee
>> --- /dev/null
>> +++ b/meta/recipes-kernel/linux/linux-yocto-tiny/net.cfg
>> @@ -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
>> diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny/qemux86/defconfig b/meta/recipes-kernel/linux/linux-yocto-tiny/qemux86/defconfig
>> new file mode 100644
>> index 0000000..ba9ae04
>> --- /dev/null
>> +++ b/meta/recipes-kernel/linux/linux-yocto-tiny/qemux86/defconfig
>> @@ -0,0 +1,613 @@
>> +#
>> +# Automatically generated make config: don't edit
>> +# Linux/i386 3.0.4 Kernel Configuration
>> +#
> 
> I can test this against the allnoconfig staging work, but so I'm clear,
> you went for the approach of a defconfig baseline (generated from
> allnoconfig?) and then re-enabling what you need/want ?

Right, there is nothing interesting in the defconfig, it's just there to
force a bunch of settings that the allnoconfig support will do once it's
in place.

<SNIP>

> 
> I don't see anything missing in there, but I see some options as
> enabled that surprised me (preempt none, ftrace (but these look
> largley like HAVE_* options) or "hardware" options that we can
> move to boards at some point. If the approach is what I mentioned
> above, then this all looks sane.

Correct.

> 
>> diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny/ramfs.cfg b/meta/recipes-kernel/linux/linux-yocto-tiny/ramfs.cfg
>> new file mode 100644
>> index 0000000..96f4bd3
>> --- /dev/null
>> +++ b/meta/recipes-kernel/linux/linux-yocto-tiny/ramfs.cfg
>> @@ -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
>> +
>> diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny/rtc-pc.cfg b/meta/recipes-kernel/linux/linux-yocto-tiny/rtc-pc.cfg
>> new file mode 100644
>> index 0000000..f667440
>> --- /dev/null
>> +++ b/meta/recipes-kernel/linux/linux-yocto-tiny/rtc-pc.cfg
>> @@ -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
>> diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny/serial.cfg b/meta/recipes-kernel/linux/linux-yocto-tiny/serial.cfg
>> new file mode 100644
>> index 0000000..0a28dca
>> --- /dev/null
>> +++ b/meta/recipes-kernel/linux/linux-yocto-tiny/serial.cfg
>> @@ -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
>> diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny/smp.cfg b/meta/recipes-kernel/linux/linux-yocto-tiny/smp.cfg
>> new file mode 100644
>> index 0000000..a82096e
>> --- /dev/null
>> +++ b/meta/recipes-kernel/linux/linux-yocto-tiny/smp.cfg
>> @@ -0,0 +1,7 @@
>> +# bzImage +104k
>> +CONFIG_HOTPLUG=y
>> +CONFIG_HOTPLUG_CPU=y
>> +CONFIG_SMP=y
>> +CONFIG_SCHED_SMT=y
>> +CONFIG_SCHED_MC=y
> 
> All looks sane. At some point, there could be more arch specific
> items found here.
> 

Thanks for the review Bruce.

-- 
Darren Hart
Intel Open Source Technology Center
Yocto Project - Linux Kernel


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH 1/9] native.bbclass: Fix variable remapping coverage
  2011-12-21 19:26   ` Chris Larson
@ 2011-12-21 19:52     ` Darren Hart
  0 siblings, 0 replies; 16+ messages in thread
From: Darren Hart @ 2011-12-21 19:52 UTC (permalink / raw)
  To: Chris Larson; +Cc: Yocto Project



On 12/21/2011 11:26 AM, Chris Larson wrote:
> On Wed, Dec 21, 2011 at 11:58 AM, Darren Hart <dvhart@linux.intel.com> wrote:
>> diff --git a/meta/recipes-devtools/autoconf/autoconf.inc b/meta/recipes-devtools/autoconf/autoconf.inc
>> index 08a1b02..1d0cf90 100644
>> --- a/meta/recipes-devtools/autoconf/autoconf.inc
>> +++ b/meta/recipes-devtools/autoconf/autoconf.inc
>> @@ -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"
> 
> Is this bit needed? If so, I'm not seeing a description of this change
> in the commit message, unless I'm missing something.

It appears to me that Richard just moved these from autoconf_2.68.bb to
autoconf.inc unchanged. The [R]DEPENDS stuff in the recipe may have been
added to work around the issue this patch addresses, and the DEPENDS was
redundant. After removing that and the RDEPENDS* (which are now handled
properly by native.bbclass) moving the remaining 2 DEPENDS_virtuclass*
assignments into the .inc along with the only remaining DEPENDS makes
sense to me.

-- 
Darren Hart
Intel Open Source Technology Center
Yocto Project - Linux Kernel


^ permalink raw reply	[flat|nested] 16+ messages in thread

* [PATCH 9/9] image_types: Ensure /init exists for cpio rootfs archives
  2011-12-21  9:02 [RFC PATCH 0/9] New distribution definition for poky-tiny Darren Hart
@ 2011-12-21  9:02 ` Darren Hart
  0 siblings, 0 replies; 16+ messages in thread
From: Darren Hart @ 2011-12-21  9:02 UTC (permalink / raw)
  To: Richard Purdie, Yocto Project, raj.khem, koen, kergoth,
	elizabeth.flanagan

NOTE: I'm looking for a more appropriate mechanism.

In order for the kernel to accept an initramfs as a rootfs,
it must have /init - even if it is an empty file. Touch /init
to ensure it exists for cpio and cpio.gz image types.

When used with initrd and rootfs=/dev/ram0, this allows the
cpio and cpio.gz images to be used as the rootfs.

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
---
 meta/classes/image_types.bbclass |   10 ++++++++--
 1 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/meta/classes/image_types.bbclass b/meta/classes/image_types.bbclass
index 489fbe1..f83aaad 100644
--- a/meta/classes/image_types.bbclass
+++ b/meta/classes/image_types.bbclass
@@ -110,8 +110,14 @@ IMAGE_CMD_tar = "cd ${IMAGE_ROOTFS} && tar -cvf ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME
 IMAGE_CMD_tar.gz = "cd ${IMAGE_ROOTFS} && tar -zcvf ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.tar.gz ."
 IMAGE_CMD_tar.bz2 = "cd ${IMAGE_ROOTFS} && tar -jcvf ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.tar.bz2 ."
 IMAGE_CMD_tar.xz = "cd ${IMAGE_ROOTFS} && tar --xz -cvf ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.tar.xz ."
-IMAGE_CMD_cpio = "cd ${IMAGE_ROOTFS} && (find . | cpio -o -H newc >${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.cpio)"
-IMAGE_CMD_cpio.gz = "cd ${IMAGE_ROOTFS} && (find . | cpio -o -H newc | gzip -c -9 >${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.cpio.gz)"
+IMAGE_CMD_cpio () {
+	touch ${IMAGE_ROOTFS}/init
+	cd ${IMAGE_ROOTFS} && (find . | cpio -o -H newc >${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.cpio)
+}
+IMAGE_CMD_cpio.gz () {
+	touch ${IMAGE_ROOTFS}/init
+	cd ${IMAGE_ROOTFS} && (find . | cpio -o -H newc | gzip -c -9 >${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.cpio.gz)
+}
 IMAGE_CMD_cpio.xz = "type cpio >/dev/null; cd ${IMAGE_ROOTFS} && (find . | cpio -o -H newc | xz -c ${XZ_COMPRESSION_LEVEL} --check=${XZ_INTEGRITY_CHECK} > ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.cpio.xz) ${EXTRA_IMAGECMD}"
 IMAGE_CMD_cpio.lzma = "type cpio >/dev/null; cd ${IMAGE_ROOTFS} && (find . | cpio -o -H newc | xz --format=lzma -c ${XZ_COMPRESSION_LEVEL} --check=${XZ_INTEGRITY_CHECK} >${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.cpio.lzma) ${EXTRA_IMAGECMD}"
 
-- 
1.7.6.4



^ permalink raw reply related	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2011-12-21 19:52 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-12-21 18:58 [RFC PATCH V2 0/9] New distribution definition for poky-tiny Darren Hart
2011-12-21 18:58 ` [PATCH 1/9] native.bbclass: Fix variable remapping coverage Darren Hart
2011-12-21 19:26   ` Chris Larson
2011-12-21 19:52     ` Darren Hart
2011-12-21 18:58 ` [PATCH 2/9] ncurses: Allow override of ENABLE_WIDEC Darren Hart
2011-12-21 18:58 ` [PATCH 3/9] eglibc: Only add eglibc-utils to PACKAGES if wchar is supported Darren Hart
2011-12-21 18:58 ` [PATCH 4/9] linux-yocto-tiny: New kernel recipe for poky-tiny distro (INCOMPLETE) Darren Hart
2011-12-21 19:23   ` Bruce Ashfield
2011-12-21 19:41     ` Darren Hart
2011-12-21 18:58 ` [PATCH 5/9] task-core-boot: Allow DISTRO to disable keymaps via VIRTUAL-RUNTIME_keymaps Darren Hart
2011-12-21 18:58 ` [PATCH 6/9] distro: Add POKY_DEFAULT_EXTRA_R* variables Darren Hart
2011-12-21 19:21   ` Darren Hart
2011-12-21 18:58 ` [PATCH 7/9] distro: Add poky-tiny distro definition Darren Hart
2011-12-21 18:58 ` [PATCH 8/9] license: Fix manifest conditional Darren Hart
2011-12-21 18:58 ` [PATCH 9/9] image_types: Ensure /init exists for cpio rootfs archives Darren Hart
  -- strict thread matches above, loose matches on Subject: below --
2011-12-21  9:02 [RFC PATCH 0/9] New distribution definition for poky-tiny Darren Hart
2011-12-21  9:02 ` [PATCH 9/9] image_types: Ensure /init exists for cpio rootfs archives Darren Hart

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.