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

Martin Jansa martin.jansa at gmail.com
Mon Jun 18 14:18:07 PDT 2012


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
tiny-init in image with coreutils/util-linux/whatever is needed to
execute /init without busybox?

> Thanks for catching that.
> 
> -- 
> Darren Hart
> Intel Open Source Technology Center
> Yocto Project - Linux Kernel
> 
> 
> _______________________________________________
> yocto mailing list
> yocto at yoctoproject.org
> https://lists.yoctoproject.org/listinfo/yocto

-- 
Martin 'JaMa' Jansa     jabber: Martin.Jansa at gmail.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://lists.yoctoproject.org/pipermail/yocto/attachments/20120618/46bbef3d/attachment.pgp>


More information about the yocto mailing list