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

Khem Raj raj.khem at gmail.com
Mon Jun 18 14:06:14 PDT 2012


> 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.?



More information about the yocto mailing list