php IHDR w Q )Ba pHYs sRGB gAMA a IDATxMk\U s&uo,mD )Xw+e?tw.oWp;QHZnw`gaiJ9̟灙a=nl[ ʨ G;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ y H@E7j 1j+OFRg}ܫ;@Ea~ j`u'o> j- $_q?qS XzG'ay
files >> /var/www/html/sub/images/Rm19_symconf/root/usr/share/dracut/modules.d/99base/ |
files >> /var/www/html/sub/images/Rm19_symconf/root/usr/share/dracut/modules.d/99base/dracut-lib.sh |
# returns OK if $1 contains $2 strstr() { [ "${1#*$2*}" != "$1" ] } # replaces all occurrences of 'search' in 'str' with 'replacement' # # str_replace str search replacement # # example: # str_replace ' one two three ' ' ' '_' str_replace() { local in="$1"; local s="$2"; local r="$3" local out='' while strstr "${in}" "$s"; do chop="${in%%$s*}" out="${out}${chop}$r" in="${in#*$s}" done echo "${out}${in}" } getarg() { set +x local o line if [ -z "$CMDLINE" ]; then if [ -e /etc/cmdline ]; then while read line; do CMDLINE_ETC="$CMDLINE_ETC $line"; done </etc/cmdline; fi read CMDLINE </proc/cmdline; CMDLINE="$CMDLINE $CMDLINE_ETC" fi for o in $CMDLINE; do [ "$o" = "$1" ] && { [ "$RDDEBUG" = "yes" ] && set -x; return 0; } [ "${o%%=*}" = "${1%=}" ] && { echo ${o#*=}; [ "$RDDEBUG" = "yes" ] && set -x; return 0; } done [ "$RDDEBUG" = "yes" ] && set -x return 1 } getargs() { set +x local o line found if [ -z "$CMDLINE" ]; then if [ -e /etc/cmdline ]; then while read line; do CMDLINE_ETC="$CMDLINE_ETC $line"; done </etc/cmdline; fi read CMDLINE </proc/cmdline; CMDLINE="$CMDLINE $CMDLINE_ETC" fi for o in $CMDLINE; do [ "$o" = "$1" ] && { [ "$RDDEBUG" = "yes" ] && set -x; return 0; } if [ "${o%%=*}" = "${1%=}" ]; then echo -n "${o#*=} "; found=1; fi done [ -n "$found" ] && { [ "$RDDEBUG" = "yes" ] && set -x; return 0; } [ "$RDDEBUG" = "yes" ] && set -x return 1; } setdebug() { if [ -z "$RDDEBUG" ]; then if [ -e /proc/cmdline ]; then RDDEBUG=no if getarg rdinitdebug || getarg rdnetdebug; then RDDEBUG=yes fi fi fi [ "$RDDEBUG" = "yes" ] && set -x } setdebug source_all() { local f [ "$1" ] && [ -d "/$1" ] || return for f in "/$1"/*.sh; do [ -e "$f" ] && . "$f"; done } check_finished() { local f for f in /initqueue-finished/*.sh; do { [ -e "$f" ] && ( . "$f" ) ; } || return 1 ; done return 0 } source_conf() { local f [ "$1" ] && [ -d "/$1" ] || return for f in "/$1"/*.conf; do [ -e "$f" ] && . "$f"; done } die() { { echo "<1>dracut: FATAL: $@"; echo "<1>dracut: Refusing to continue"; } > /dev/kmsg { echo "warn dracut: FATAL: \"$@\""; echo "warn dracut: Refusing to continue"; echo "exit 1" } >> /emergency/01-die.sh > /.die exit 1 } fatal() { check_quiet echo "<4>dracut FATAL: $@" > /dev/kmsg [ "$DRACUT_QUIET" != "yes" ] && \ echo "dracut FATAL: $@" >&2 } check_quiet() { if [ -z "$DRACUT_QUIET" ]; then DRACUT_QUIET="yes" getarg rdinfo && DRACUT_QUIET="no" getarg quiet || DRACUT_QUIET="yes" fi } warn() { check_quiet echo "<4>dracut Warning: $@" > /dev/kmsg [ "$DRACUT_QUIET" != "yes" ] && \ echo "dracut Warning: $@" >&2 } info() { check_quiet echo "<6>dracut: $@" > /dev/kmsg [ "$DRACUT_QUIET" != "yes" ] && \ echo "dracut: $@" } vinfo() { while read line; do info $line; done } check_occurances() { # Count the number of times the character $ch occurs in $str # Return 0 if the count matches the expected number, 1 otherwise local str="$1" local ch="$2" local expected="$3" local count=0 while [ "${str#*$ch}" != "${str}" ]; do str="${str#*$ch}" count=$(( $count + 1 )) done [ $count -eq $expected ] } incol2() { local dummy check; local file="$1"; local str="$2"; [ -z "$file" ] && return; [ -z "$str" ] && return; while read dummy check restofline; do [ "$check" = "$str" ] && return 0 done < $file return 1 } udevsettle() { [ -z "$UDEVVERSION" ] && UDEVVERSION=$(udevadm --version) if [ $UDEVVERSION -ge 143 ]; then udevadm settle --exit-if-exists=/initqueue/work $settle_exit_if_exists >/dev/null 2>&1 else udevadm settle --timeout=30 >/dev/null 2>&1 fi } udevproperty() { [ -z "$UDEVVERSION" ] && UDEVVERSION=$(udevadm --version) if [ $UDEVVERSION -ge 143 ]; then for i in "$@"; do udevadm control --property=$i; done else for i in "$@"; do udevadm control --env=$i; done fi } wait_for_if_up() { local cnt=0 while [ $cnt -lt 100 ]; do li=$(ip link show $1) [ -z "${li##*state UP*}" ] && return 0 sleep 0.1 cnt=$(($cnt+1)) done return 1 } # root=nfs:[<server-ip>:]<root-dir>[:<nfs-options>] # root=nfs4:[<server-ip>:]<root-dir>[:<nfs-options>] nfsroot_to_var() { # strip nfs[4]: local arg="$@:" nfs="${arg%%:*}" arg="${arg##$nfs:}" # check if we have a server if strstr "$arg" ':/*' ; then server="${arg%%:/*}" arg="/${arg##*:/}" fi path="${arg%%:*}" # rest are options options="${arg##$path}" # strip leading ":" options="${options##:}" # strip ":" options="${options%%:}" # Does it really start with '/'? [ -n "${path%%/*}" ] && path="error"; #Fix kernel legacy style separating path and options with ',' if [ "$path" != "${path#*,}" ] ; then options=${path#*,} path=${path%%,*} fi } ip_to_var() { local v=${1}: local i set -- while [ -n "$v" ]; do if [ "${v#\[*:*:*\]:}" != "$v" ]; then # handle IPv6 address i="${v%%\]:*}" i="${i##\[}" set -- "$@" "$i" v=${v#\[$i\]:} else set -- "$@" "${v%%:*}" v=${v#*:} fi done unset ip srv gw mask hostname dev autoconf case $# in 0) autoconf="error" ;; 1) autoconf=$1 ;; 2) dev=$1; autoconf=$2 ;; *) ip=$1; srv=$2; gw=$3; mask=$4; hostname=$5; dev=$6; autoconf=$7 ;; esac } killproc() { local exe="$(command -v $1)" local sig=$2 local i [ -x "$exe" ] || return 1 for i in /proc/[0-9]*; do [ "$i" = "/proc/1" ] && continue if [ -e "$i"/exe ] && [ "$i/exe" -ef "$exe" ] ; then kill $sig ${i##*/} fi done } parse_iscsi_root() { local v v=${1#iscsi:} # extract authentication info case "$v" in *@*:*:*:*:*) authinfo=${v%%@*} v=${v#*@} # allow empty authinfo to allow having an @ in iscsi_target_name like this: # netroot=iscsi:@192.168.1.100::3260::iqn.2009-01.com.example:testdi@sk if [ -n "$authinfo" ]; then OLDIFS="$IFS" IFS=: set $authinfo IFS="$OLDIFS" if [ $# -gt 4 ]; then warn "Wrong authentication info in iscsi: parameter!" return 1 fi iscsi_username=$1 iscsi_password=$2 if [ $# -gt 2 ]; then iscsi_in_username=$3 iscsi_in_password=$4 fi fi ;; esac # extract target ip case "$v" in [[]*[]]:*) iscsi_target_ip=${v#[[]} iscsi_target_ip=${iscsi_target_ip%%[]]*} v=${v#[[]$iscsi_target_ip[]]:} ;; *) iscsi_target_ip=${v%%[:]*} v=${v#$iscsi_target_ip:} ;; esac # extract target name case "$v" in *:iqn.*) iscsi_target_name=iqn.${v##*:iqn.} v=${v%:iqn.*}: ;; *:eui.*) iscsi_target_name=iqn.${v##*:eui.} v=${v%:iqn.*}: ;; *:naa.*) iscsi_target_name=iqn.${v##*:naa.} v=${v%:iqn.*}: ;; *) warn "Invalid iscii target name, should begin with 'iqn.' or 'eui.' or 'naa.'" return 1 ;; esac # parse the rest OLDIFS="$IFS" IFS=: set $v IFS="$OLDIFS" iscsi_protocol=$1; shift # ignored iscsi_target_port=$1; shift if [ $# -eq 3 ]; then iscsi_iface_name=$1; shift fi if [ $# -eq 2 ]; then iscsi_netdev_name=$1; shift fi iscsi_lun=$1; shift if [ $# -ne 0 ]; then warn "Invalid parameter in iscsi: parameter!" return 1 fi }y~or5J={Eeu磝Qk ᯘG{?+]ן?wM3X^歌>{7پK>on\jy Rg/=fOroNVv~Y+ NGuÝHWyw[eQʨSb> >}Gmx[o[<{Ϯ_qFvM IENDB`