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

Darren Hart dvhart at linux.intel.com
Mon Jun 18 14:11:58 PDT 2012



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

Thanks for catching that.

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





More information about the yocto mailing list