[yocto] [PATCH 2/2] tiny-init: Basic init mechanism for poky-tiny

Darren Hart dvhart at linux.intel.com
Mon Jun 18 14:23:52 PDT 2012


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1



On 06/18/2012 02:18 PM, Martin Jansa wrote:
> On Mon, Jun 18, 2012 at 02:11:58PM -0700, Darren Hart wrote:
>> 
>> 
>> On 06/18/2012 02:06 PM, Khem Raj wrote:
>>>> diff --git a/meta-yocto/recipes-core/tiny-init/files/init
>>>> b/meta-yocto/recipes-core/tiny-init/files/init new file mode
>>>> 100644 index 0000000..bf2817d --- /dev/null +++
>>>> b/meta-yocto/recipes-core/tiny-init/files/init @@ -0,0 +1,21
>>>> @@ +#!/bin/sh + +# Mount the Linux kernel virtual
>>>> filesystems +mount none -t proc /proc +mount none -t sysfs
>>>> /sys +mkdir /dev/pts +mount none -t devpts /dev/pts + +ifup
>>>> lo + +# Allow for distro or local customizations +if [ -f
>>>> /etc/rc.local ] ; then +       source /etc/rc.local +fi + +#
>>>> Become session leader and try to find a real tty (e.g.
>>>> ttyS0) +while true; do +       setsid cttyhack sh +
>>>> echo "Console sh exited with $?, respawning..." +       sleep
>>>> 1 +done diff --git
>>>> a/meta-yocto/recipes-core/tiny-init/files/rc.local.sample
>>>> b/meta-yocto/recipes-core/tiny-init/files/rc.local.sample new
>>>> file mode 100644 index 0000000..d9e198a --- /dev/null +++
>>>> b/meta-yocto/recipes-core/tiny-init/files/rc.local.sample @@
>>>> -0,0 +1,23 @@ +#!/bin/sh + +# Start services and customize
>>>> the boot process here. +echo "Running /etc/rc.local..." + +#
>>>> Use init scripts included with packages such as dropbear 
>>>> +#/etc/init.d/dropbear start + +# Spawn a getty manually 
>>>> +#setsid /sbin/getty 115200 ttyS2 + +# Print a banner +#echo
>>>> "You are running a poky-tiny image brought to you by the
>>>> Yocto Project." + +# Setup a debugging environment +#mkdir
>>>> /debugfs +#mount none -t debugfs /debugfs + +# Load modules
>>>> (note: linux-yocto-tiny does not have module support by
>>>> default) +#modprobe yourdriver + +# DO NOT run any long
>>>> running tasks or loops as these will delay +# the /init
>>>> script and the console shell. diff --git
>>>> a/meta-yocto/recipes-core/tiny-init/tiny-init.bb
>>>> b/meta-yocto/recipes-core/tiny-init/tiny-init.bb new file
>>>> mode 100644 index 0000000..1cf46ed --- /dev/null +++
>>>> b/meta-yocto/recipes-core/tiny-init/tiny-init.bb @@ -0,0
>>>> +1,26 @@ +SUMMARY = "Poky-tiny init" +DESCRIPTION = "Basic
>>>> init system for poky-tiny" +LICENSE = "MIT" +LIC_FILES_CHKSUM
>>>> =
>>>> "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
>>>>
>>>> 
+
>>>> +PR = "r0" + +SRC_URI = "file://init \ +
>>>> file://rc.local.sample \ +         " + +do_configure() { +
>>>> : +} + +do_compile() { +       : +} + +do_install() { +
>>>> install -d ${D}${sysconfdir} +       install -m 0755
>>>> ${WORKDIR}/init ${D} +       install -m 0755
>>>> ${WORKDIR}/rc.local.sample ${D}${sysconfdir} +} + 
>>>> +FILES_${PN} = "/init ${sysconfdir}/rc.local.sample" -- 
>>>> 1.7.5.4
>>>> 
>>> 
>>> 
>>> should this recipe rdepend on busybox ? since it uses the
>>> binaries from it.?
>> 
>> I suppose so, I wasn't even sure how to build an image WITHOUT
>> busybox - but I'm sure it's doable, and the RDEPENDS should
>> reflect the dependencies accurately.
>> 
>> I've updated the patch in the branch:
>> 
>> http://git.yoctoproject.org/cgit.cgi/poky-contrib/commit/?h=dvhart/tiny&id=ed5ded75a66c6ae0defaef6301e333615f71d616
>
>> 
> RDEPENDS = "busybox"
> 
> is wrong (missing _${PN} at least) and what if someone is using

Ugh, right. Thanks :/ Fixed on the branch again, rebuilt, and tested.

http://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/commit/?h=dvhart/tiny&id=137524d2475382a700bd33b88d0e959553677ef2

> tiny-init in image with coreutils/util-linux/whatever is needed to 
> execute /init without busybox?

cttyhack is a busybox specific tool.

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


-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iQEcBAEBAgAGBQJP35xoAAoJEKbMaAwKp364gSgH/RZXbwH68BuvuVyYYSm9yoxJ
0Hu2EwSfY+SlbfWPASVkWMO72yiyRiyv7Ly3w2KH9ncpv8ZlwIioyLoc9v8zAR3V
tXiRVpm65xXmikCzI2iwdt2iVm+ql7ys+f+oUvYJw5QRw1uYVQbQMgKflbXr+eJO
PBEh3noDayx9duSCfwMa9eBPJebCmgazYAtHGy4YkEsWuthlLCDTntNZR1X3yhlL
R6txtywXfWePykVKfpch0dj4kTAU88NGq4kxrZPUIlNargQSUsanDrBZ67R4VUPv
/F9k+gflrHbUmxhLdjMC8qcGk+98gfz4aLl1AbUAZ4+UymN3GsV5mPhz6LHcKtQ=
=41cN
-----END PGP SIGNATURE-----



More information about the yocto mailing list