diff options
Diffstat (limited to 'import-layers/yocto-poky/meta/recipes-core/initrdscripts/initramfs-framework/init')
-rwxr-xr-x | import-layers/yocto-poky/meta/recipes-core/initrdscripts/initramfs-framework/init | 145 |
1 files changed, 0 insertions, 145 deletions
diff --git a/import-layers/yocto-poky/meta/recipes-core/initrdscripts/initramfs-framework/init b/import-layers/yocto-poky/meta/recipes-core/initrdscripts/initramfs-framework/init deleted file mode 100755 index 37527a840..000000000 --- a/import-layers/yocto-poky/meta/recipes-core/initrdscripts/initramfs-framework/init +++ /dev/null @@ -1,145 +0,0 @@ -#!/bin/sh -# Copyright (C) 2011 O.S. Systems Software LTDA. -# Licensed on MIT -# -# Provides the API to be used by the initramfs modules -# -# Modules need to provide the following functions: -# -# <module>_enabled : check if the module ought to run (return 1 to skip) -# <module>_run : do what is need -# -# Boot parameters are available on environment in the as: -# -# 'foo=value' as 'bootparam_foo=value' -# 'foo' as 'bootparam_foo=true' -# 'foo.bar[=value] as 'foo_bar=[value|true]' - -# Register a function to be called before running a module -# The hook is called as: -# <function> pre <module> -add_module_pre_hook() { - MODULE_PRE_HOOKS="$MODULE_PRE_HOOKS $1" -} - -# Register a function to be called after running a module -# The hook is called as: -# <function> post <module> -add_module_post_hook() { - MODULE_POST_HOOKS="$MODULE_POST_HOOKS $1" -} - -# Load kernel module -load_kernel_module() { - if modprobe $1 >/dev/null 2>&1; then - info "Loaded module $1" - else - debug "Failed to load module $1" - fi -} - -# Prints information -msg() { - echo "$@" >/dev/console -} - -# Prints information if verbose bootparam is used -info() { - [ -n "$bootparam_verbose" ] && echo "$@" >/dev/console -} - -# Prints information if debug bootparam is used -debug() { - [ -n "$bootparam_debug" ] && echo "DEBUG: $@" >/dev/console -} - -# Prints a message and start a endless loop -fatal() { - echo $1 >/dev/console - echo >/dev/console - - if [ -n "$bootparam_init_fatal_sh" ]; then - sh - else - while [ "true" ]; do - sleep 3600 - done - fi -} - -# Variables shared amoung modules -ROOTFS_DIR="/rootfs" # where to do the switch root -MODULE_PRE_HOOKS="" # functions to call before running each module -MODULE_POST_HOOKS="" # functions to call after running each module -MODULES_DIR=/init.d # place to look for modules - -# make mount stop complaining about missing /etc/fstab -touch /etc/fstab - -# initialize /proc, /sys, /run/lock and /var/lock -mkdir -p /proc /sys /run/lock /var/lock -mount -t proc proc /proc -mount -t sysfs sysfs /sys - -# populate bootparam environment -for p in `cat /proc/cmdline`; do - opt=`echo $p | cut -d'=' -f1` - opt=`echo $opt | tr '.-' '__'` - if [ "`echo $p | cut -d'=' -f1`" = "$p" ]; then - eval "bootparam_${opt}=true" - else - value="`echo $p | cut -d'=' -f2-`" - eval "bootparam_${opt}=\"${value}\"" - fi -done - -# use /dev with devtmpfs -if grep -q devtmpfs /proc/filesystems; then - mkdir -p /dev - mount -t devtmpfs devtmpfs /dev -else - if [ ! -d /dev ]; then - fatal "ERROR: /dev doesn't exist and kernel doesn't has devtmpfs enabled." - fi -fi - -mkdir $ROOTFS_DIR - -# Load and run modules -for m in $MODULES_DIR/*; do - # Skip backup files - if [ "`echo $m | sed -e 's/\~$//'`" != "$m" ]; then - continue - fi - - module=`basename $m | cut -d'-' -f 2` - debug "Loading module $module" - - # pre hooks - for h in $MODULE_PRE_HOOKS; do - debug "Calling module hook (pre): $h" - eval "$h pre $module" - debug "Finished module hook (pre): $h" - done - - # process module - . $m - - if ! eval "${module}_enabled"; then - debug "Skipping module $module" - continue - fi - - debug "Running ${module}_run" - eval "${module}_run" - - # post hooks - for h in $MODULE_POST_HOOKS; do - debug "Calling module hook (post): $h" - eval "$h post $module" - debug "Finished module hook (post): $h" - done -done - -# Catch all -fatal "ERROR: Initramfs failed to initialize the system." |