summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta-yocto/conf/distro/poky-tiny.conf2
-rw-r--r--meta-yocto/recipes-core/tiny-init/files/init21
-rw-r--r--meta-yocto/recipes-core/tiny-init/files/rc.local.sample23
-rw-r--r--meta-yocto/recipes-core/tiny-init/tiny-init.bb28
4 files changed, 73 insertions, 1 deletions
diff --git a/meta-yocto/conf/distro/poky-tiny.conf b/meta-yocto/conf/distro/poky-tiny.conf
index a34c7dc6ca..8ae1d85e8a 100644
--- a/meta-yocto/conf/distro/poky-tiny.conf
+++ b/meta-yocto/conf/distro/poky-tiny.conf
@@ -95,7 +95,7 @@ DISTRO_FEATURES = "${DISTRO_FEATURES_TINY} \
95# Use tmpdevfs and the busybox runtime services 95# Use tmpdevfs and the busybox runtime services
96VIRTUAL-RUNTIME_dev_manager = "" 96VIRTUAL-RUNTIME_dev_manager = ""
97VIRTUAL-RUNTIME_login_manager = "" 97VIRTUAL-RUNTIME_login_manager = ""
98VIRTUAL-RUNTIME_init_manager = "" 98VIRTUAL-RUNTIME_init_manager = "tiny-init"
99VIRTUAL-RUNTIME_keymaps = "" 99VIRTUAL-RUNTIME_keymaps = ""
100 100
101# FIXME: Consider adding "modules" to MACHINE_FEATURES and using that in 101# FIXME: Consider adding "modules" to MACHINE_FEATURES and using that in
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 0000000000..bf2817d099
--- /dev/null
+++ b/meta-yocto/recipes-core/tiny-init/files/init
@@ -0,0 +1,21 @@
1#!/bin/sh
2
3# Mount the Linux kernel virtual filesystems
4mount none -t proc /proc
5mount none -t sysfs /sys
6mkdir /dev/pts
7mount none -t devpts /dev/pts
8
9ifup lo
10
11# Allow for distro or local customizations
12if [ -f /etc/rc.local ] ; then
13 source /etc/rc.local
14fi
15
16# Become session leader and try to find a real tty (e.g. ttyS0)
17while true; do
18 setsid cttyhack sh
19 echo "Console sh exited with $?, respawning..."
20 sleep 1
21done
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 0000000000..d9e198a200
--- /dev/null
+++ b/meta-yocto/recipes-core/tiny-init/files/rc.local.sample
@@ -0,0 +1,23 @@
1#!/bin/sh
2
3# Start services and customize the boot process here.
4echo "Running /etc/rc.local..."
5
6# Use init scripts included with packages such as dropbear
7#/etc/init.d/dropbear start
8
9# Spawn a getty manually
10#setsid /sbin/getty 115200 ttyS2
11
12# Print a banner
13#echo "You are running a poky-tiny image brought to you by the Yocto Project."
14
15# Setup a debugging environment
16#mkdir /debugfs
17#mount none -t debugfs /debugfs
18
19# Load modules (note: linux-yocto-tiny does not have module support by default)
20#modprobe yourdriver
21
22# DO NOT run any long running tasks or loops as these will delay
23# 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 0000000000..f5892ed472
--- /dev/null
+++ b/meta-yocto/recipes-core/tiny-init/tiny-init.bb
@@ -0,0 +1,28 @@
1SUMMARY = "Poky-tiny init"
2DESCRIPTION = "Basic init system for poky-tiny"
3LICENSE = "MIT"
4LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
5
6PR = "r0"
7
8RDEPENDS_${PN} = "busybox"
9
10SRC_URI = "file://init \
11 file://rc.local.sample \
12 "
13
14do_configure() {
15 :
16}
17
18do_compile() {
19 :
20}
21
22do_install() {
23 install -d ${D}${sysconfdir}
24 install -m 0755 ${WORKDIR}/init ${D}
25 install -m 0755 ${WORKDIR}/rc.local.sample ${D}${sysconfdir}
26}
27
28FILES_${PN} = "/init ${sysconfdir}/rc.local.sample"