[oe] [meta-oe][PATCH 5/6] meta-initramfs: add kexecboot recipes from meta-handheld
Andrea Adami
andrea.adami at gmail.com
Wed Feb 22 10:06:54 UTC 2012
On Tue, Feb 21, 2012 at 1:21 AM, Andrea Adami <andrea.adami at gmail.com> wrote:
> * (purged from device specific settings)
>
> Signed-off-by: Andrea Adami <andrea.adami at gmail.com>
> ---
> .../recipes-bsp/kexecboot/kexecboot-cfg_0.1.bb | 61 ++++++++++++++++++++
> .../recipes-bsp/kexecboot/kexecboot-klibc_git.bb | 12 ++++
> meta-initramfs/recipes-bsp/kexecboot/kexecboot.inc | 54 +++++++++++++++++
> .../recipes-bsp/kexecboot/kexecboot_git.bb | 9 +++
> 4 files changed, 136 insertions(+), 0 deletions(-)
> create mode 100644 meta-initramfs/recipes-bsp/kexecboot/kexecboot-cfg_0.1.bb
> create mode 100644 meta-initramfs/recipes-bsp/kexecboot/kexecboot-klibc_git.bb
> create mode 100644 meta-initramfs/recipes-bsp/kexecboot/kexecboot.inc
> create mode 100644 meta-initramfs/recipes-bsp/kexecboot/kexecboot_git.bb
>
> diff --git a/meta-initramfs/recipes-bsp/kexecboot/kexecboot-cfg_0.1.bb b/meta-initramfs/recipes-bsp/kexecboot/kexecboot-cfg_0.1.bb
> new file mode 100644
> index 0000000..84c1116
> --- /dev/null
> +++ b/meta-initramfs/recipes-bsp/kexecboot/kexecboot-cfg_0.1.bb
> @@ -0,0 +1,61 @@
> +DESCRIPTION = "Configuration file for kexecboot"
> +SECTION = "base"
> +LICENSE = "MIT"
> +LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58"
> +
> +PR = "r13"
> +
> +INHIBIT_DEFAULT_DEPS = "1"
> +
> +SRC_URI = "file://icon.xpm"
> +
> +CMDLINE ?= ""
> +CMDLINE_DEBUG ?= "${@base_conditional('DISTRO_TYPE', 'release', 'quiet', 'debug',d)}"
> +
> +# Note: for qvga the label is currently limited to about 24 chars
> +KEXECBOOT_LABEL ?= "${@d.getVar('DISTRO', True) or d.getVar('DISTRO_VERSION', True)}-${MACHINE}"
> +
> +do_configure_prepend () {
> + install -m 0644 ${WORKDIR}/icon.xpm ${S}
> +}
> +
> +do_install_prepend () {
> +echo '# First kernel stanza.
> +# Specify full kernel path on target.
> +KERNEL=/boot/${KERNEL_IMAGETYPE}
> +
> +# Show this label in kexecboot menu.
> +LABEL=${KEXECBOOT_LABEL}
> +#
> +# Append this tags to the kernel cmdline.
> +APPEND=${CMDLINE} ${CMDLINE_DEBUG}
> +#
> +# Specify optional initrd/initramfs.
> +# INITRD=/boot/initramfs.cpio.gz
> +#
> +# Specify full path for a custom icon for the menu-item.
> +# If not set, use device-icons as default (NAND, SD, CF, ...).
> +# ICON=/boot/icon.xpm
> +#
> +# Priority of item in kexecboot menu.
> +# Items with highest priority will be shown at top of menu.
> +# Default: 0 (lowest, ordered by device ordering)
> +# PRIORITY=10
> +#
> +#
> +# Second kernel stanza.
> +# KERNEL=/boot/${KERNEL_IMAGETYPE}-test
> +# LABEL=${DISTRO}-${MACHINE}-test
> +# APPEND=${CMDLINE}
> +#' >> ${S}/boot.cfg
> +}
> +
> +do_install () {
> + install -d ${D}/boot
> + install -m 0644 boot.cfg ${D}/boot/boot.cfg
> + install -m 0644 icon.xpm ${D}/boot/icon.xpm
> +}
> +
> +PACKAGE_ARCH = "${MACHINE_ARCH}"
> +
> +FILES_${PN} += "/boot/*"
> diff --git a/meta-initramfs/recipes-bsp/kexecboot/kexecboot-klibc_git.bb b/meta-initramfs/recipes-bsp/kexecboot/kexecboot-klibc_git.bb
> new file mode 100644
> index 0000000..0d6d00f
> --- /dev/null
> +++ b/meta-initramfs/recipes-bsp/kexecboot/kexecboot-klibc_git.bb
> @@ -0,0 +1,12 @@
> +RDEPENDS_${PN} = "kexec-klibc"
> +PV = "0.5.9"
> +PR = "r8+gitr${SRCREV}"
> +
> +SRC_URI = "git://git.linuxtogo.org/home/groups/kexecboot/kexecboot.git;protocol=git "
> +SRCREV = "8f1d3cc3d9c650c6a6c88f83071185d6ee0ef9c7"
> +S = "${WORKDIR}/git"
> +
> +# the binary is statically linked against klibc
> +inherit klibc
> +
> +require kexecboot.inc
> diff --git a/meta-initramfs/recipes-bsp/kexecboot/kexecboot.inc b/meta-initramfs/recipes-bsp/kexecboot/kexecboot.inc
> new file mode 100644
> index 0000000..a205904
> --- /dev/null
> +++ b/meta-initramfs/recipes-bsp/kexecboot/kexecboot.inc
> @@ -0,0 +1,54 @@
> +###########################
> +# Configure options:
> +#
> +# --enable-static-linking compile kexecboot as static executable [default=no]
> +# --enable-fbui support framebuffer menu [default=yes]
> +# --enable-fbui-width limit FB UI width to specified value [default=no]
> +# --enable-fbui-height limit FB UI height to specified value [default=no]
> +# --enable-textui support console text user interface [default=no]
> +# --enable-cfgfiles support config files [default=yes]
> +# --enable-icons support custom icons (depends on fbui) [default=yes]
> +# --enable-zaurus compile Sharp Zaurus specific code [default=no]
> +# --enable-zimage compile with zImage support [default=yes]
> +# --enable-uimage compile with uImage support [default=no]
> +# --enable-machine-kernel look for machine-specific zImage kernel [default=no]
> +# --enable-devices-recreating
> +# enable devices re-creating [default=yes]
> +# --enable-debug enable debug output [default=no]
> +# --enable-host-debug allow for non-destructive executing of kexecboot on
> +# host system [default=no]
> +# --enable-numkeys enable menu item selection by keys [0-9] [default=yes]
> +# --enable-bg-buffer enable buffer for pre-drawed FB GUI background
> +#
> +# --enable-timeout allow to boot 1st kernel after timeout in seconds
> +# [default=no]
> +# --enable-delay specify delay before device scanning, allowing
> +# initialization of old CF/SD cards [default=1]
> +# --enable-bpp enable support of specified bpp modes
> +# (all,32,24,18,16,4,2,1) [default=all]
> +# --enable-evdev-rate change evdev (keyboard/mouse) repeat rate
> +# in milliseconds e.g. "1000,250" [default=no]
> +# --with-kexec-binary look for kexec binary at path
> +# [default="/usr/sbin/kexec"]
> +##########################
> +LICENSE = "GPLv2"
> +LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
> +inherit autotools
> +
> +EXTRA_OECONF = "--enable-delay=2 --enable-evdev-rate=1000,250"
> +
> +do_install () {
> + install -d ${D}${bindir}
> + install -m 0755 kexecboot ${D}${bindir}/
> + install -d ${D}/proc
> + install -d ${D}/mnt
> + install -d ${D}/dev
> +}
> +
> +PACKAGE_ARCH = "${MACHINE_ARCH}"
> +
> +FILES_${PN} += " ${bindir}/kexecboot /init /proc /mnt /dev"
> +
> +pkg_postinst_${PN} () {
> + ln -sf ${bindir}/kexecboot $D/init
> +}
> diff --git a/meta-initramfs/recipes-bsp/kexecboot/kexecboot_git.bb b/meta-initramfs/recipes-bsp/kexecboot/kexecboot_git.bb
> new file mode 100644
> index 0000000..1341461
> --- /dev/null
> +++ b/meta-initramfs/recipes-bsp/kexecboot/kexecboot_git.bb
> @@ -0,0 +1,9 @@
> +RDEPENDS_${PN} = "kexec"
> +PV = "0.5.9"
> +PR = "r8+gitr${SRCREV}"
> +
> +SRC_URI = "git://git.linuxtogo.org/home/groups/kexecboot/kexecboot.git;protocol=git "
> +SRCREV = "8f1d3cc3d9c650c6a6c88f83071185d6ee0ef9c7"
> +S = "${WORKDIR}/git"
> +
> +require kexecboot.inc
> --
> 1.7.3.4
>
Unfortunately I forgot to add /kexecboot-cfg/icon.xpm
I'll send a separate patch to fix the things in meta-initramfs.
Regards
Andrea
More information about the Openembedded-devel
mailing list