From 435dc70aa0e43b448804045a9aa358856bc67bb8 Mon Sep 17 00:00:00 2001 From: Leon Woestenberg Date: Thu, 17 May 2007 16:31:13 +0000 Subject: [PATCH] helloworld: package plus image for truly minimal user space, a statically linked hello world executable. --- packages/helloworld/.mtn2git_empty | 0 packages/helloworld/helloworld_1.0.0.bb | 25 +++++++++++++++++++++++ packages/images/angstrom-minimal-image.bb | 18 +++------------- packages/images/helloworld-image.bb | 14 +++++++++++++ 4 files changed, 42 insertions(+), 15 deletions(-) create mode 100644 packages/helloworld/.mtn2git_empty create mode 100644 packages/helloworld/helloworld_1.0.0.bb create mode 100644 packages/images/helloworld-image.bb diff --git a/packages/helloworld/.mtn2git_empty b/packages/helloworld/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 diff --git a/packages/helloworld/helloworld_1.0.0.bb b/packages/helloworld/helloworld_1.0.0.bb new file mode 100644 index 0000000000..9e68b0bd61 --- /dev/null +++ b/packages/helloworld/helloworld_1.0.0.bb @@ -0,0 +1,25 @@ +DESCRIPTION = "Minimal statically compiled Hello world!" +LICENSE = "GPL" +PR = "r0" + +S = "${WORKDIR}/${P}" + +do_fetch () { + mkdir -p ${WORKDIR}/${P} + cd ${WORKDIR}/${P} + echo -e "#include \nint main(void)\n{\n\tprintf(\"Hello world!\\\n\");\twhile(1);\n\treturn 0;\n}\n" >helloworld.c +} + +do_compile () { + ${CC} -o helloworld helloworld.c -static +} + +do_install () { + install -d ${D}${bindir} + install -m 0755 helloworld ${D}${bindir}/ + # /bin/init is on purpose, it is tried after /sbin/init and /etc/init + # so if a sysvinit is installed, it will be used instead of helloworld + install -d ${D}${base_bindir} + ln -sf ${bindir}/helloworld ${D}${base_bindir}/init +} + diff --git a/packages/images/angstrom-minimal-image.bb b/packages/images/angstrom-minimal-image.bb index 90f46a1e01..54f7ff2c89 100644 --- a/packages/images/angstrom-minimal-image.bb +++ b/packages/images/angstrom-minimal-image.bb @@ -1,22 +1,10 @@ -#Angstrom minimalist image -#gives you a small images with ssh access +# Hello world image +# gives you a small image with a statically linked LICENSE = "MIT" PR = "r0" -ANGSTROM_EXTRA_INSTALL ?= "" -DISTRO_SSH_DAEMON ?= "dropbear" - -DEPENDS = "task-base \ - ${DISTRO_SSH_DAEMON} \ - " - -RDEPENDS = "task-boot \ - ${DISTRO_SSH_DAEMON} \ - " - -export IMAGE_BASENAME = "minimalist-image" +export IMAGE_BASENAME = "helloworld-image" export IMAGE_LINGUAS = "" -export PACKAGE_INSTALL = "${RDEPENDS}" inherit image diff --git a/packages/images/helloworld-image.bb b/packages/images/helloworld-image.bb new file mode 100644 index 0000000000..5154752f75 --- /dev/null +++ b/packages/images/helloworld-image.bb @@ -0,0 +1,14 @@ +# Hello world image +# Contains *only* a statically linked hello world init program +LICENSE = "MIT" +PR = "r0" + +RDEPENDS = "helloworld" + +export IMAGE_BASENAME = "helloworld-image" +export IMAGE_LINGUAS = "" + +PACKAGE_INSTALL = ${RDEPENDS} + +inherit image + -- 2.39.5