mkinitrd unification across distributions
 help / color / mirror / Atom feed
* [PATCH 1/3] dracut: install ld.so.conf* with dracut_install instead of cp
@ 2011-03-16 20:24 Amadeusz Żołnowski
       [not found] ` <1300307070-10087-1-git-send-email-aidecoe-2qtfh70TtYba5EbDDlwbIw@public.gmane.org>
  0 siblings, 1 reply; 4+ messages in thread
From: Amadeusz Żołnowski @ 2011-03-16 20:24 UTC (permalink / raw)
  To: initramfs-u79uwXL29TY76Z2rM5mHXA; +Cc: Amadeusz Żołnowski

---
 dracut |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/dracut b/dracut
index 2ae7f8c..4d50472 100755
--- a/dracut
+++ b/dracut
@@ -494,7 +494,7 @@ done
 unset item
 
 # make sure that library links are correct and up to date
-cp -ar /etc/ld.so.conf* "$initdir"/etc
+dracut_install /etc/ld.so.conf /etc/ld.so.conf.d/*
 ldconfig -r "$initdir" || [[ $UID != "0" ]] && \
     dinfo "ldconfig might need uid=0 (root) for chroot()"
 
-- 
1.7.4.1

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [PATCH 2/3] dracut-logger: make $maxloglvl public
       [not found] ` <1300307070-10087-1-git-send-email-aidecoe-2qtfh70TtYba5EbDDlwbIw@public.gmane.org>
@ 2011-03-16 20:24   ` Amadeusz Żołnowski
       [not found]     ` <1300307070-10087-2-git-send-email-aidecoe-2qtfh70TtYba5EbDDlwbIw@public.gmane.org>
  2011-03-16 20:46   ` [PATCH 1/3] dracut: install ld.so.conf* with dracut_install instead of cp Harald Hoyer
  1 sibling, 1 reply; 4+ messages in thread
From: Amadeusz Żołnowski @ 2011-03-16 20:24 UTC (permalink / raw)
  To: initramfs-u79uwXL29TY76Z2rM5mHXA; +Cc: Amadeusz Żołnowski

$maxloglvl might be useful to check, if expensive informational
operation is going to be logged at all, before executing it.
---
 dracut-logger |   26 +++++++++++++-------------
 1 files changed, 13 insertions(+), 13 deletions(-)

diff --git a/dracut-logger b/dracut-logger
index 0978d58..830ce1c 100755
--- a/dracut-logger
+++ b/dracut-logger
@@ -76,9 +76,9 @@ __DRACUT_LOGGER__=1
 #   - @var kmsgloglvl - logging level to /dev/kmsg (only for boot-time)
 #   - @var logfile - log file which is used when @var fileloglvl is higher
 #   than 0
-# and one global internal variable @var _maxloglvl which <b>must not</b> be
-# overwritten. @_maxloglvl is set by dlog_init() and holds maximum logging level
-# of those three and indicates that dlog_init() was run.
+# and one global variable @var maxloglvl which <b>must not</b> be overwritten.
+# @var maxloglvl is set by dlog_init() and holds maximum logging level of those
+# three and indicates that dlog_init() was run.
 #
 # Logging level set by the variable means that messages from this logging level
 # and above (FATAL is the highest) will be shown. Logging levels may be set
@@ -101,11 +101,11 @@ __DRACUT_LOGGER__=1
 #   - @var kmsgloglvl = 0 (no logging)
 #   set to 0
 #
-# @warning Function sets global variable @var _maxloglvl for internal use. Don't
-# overwrite it.
+# @warning Function sets global variable @var maxloglvl. See file doc for
+# details.
 dlog_init() {
     # Skip initialization if it's already done.
-    [ -n "$_maxloglvl" ] && return 0
+    [ -n "$maxloglvl" ] && return 0
 
     local ret=0; local errmsg
 
@@ -144,12 +144,12 @@ dlog_init() {
         fi
     fi
 
-    local lvl
-    _maxloglvl=0
-    for lvl in $stdloglvl $sysloglvl $fileloglvl; do
-        [ $lvl -gt $_maxloglvl ] && _maxloglvl=$lvl
+    local lvl; local maxloglvl_l=0
+    for lvl in $stdloglvl $sysloglvl $fileloglvl $kmsgloglvl; do
+        [ $lvl -gt $maxloglvl_l ] && maxloglvl_l=$lvl
     done
-    export _maxloglvl
+    readonly maxloglvl=$maxloglvl_l
+    export maxloglvl
 
     [ -n "$errmsg" ] && derror "$errmsg"
 
@@ -251,11 +251,11 @@ _dlvl2klvl() {
 #   - @c INFO to @c info
 #   - @c DEBUG and @c TRACE both to @c debug
 _do_dlog() {
-    [ -z "$_maxloglvl" ] && return 0
+    [ -z "$maxloglvl" ] && return 0
     local lvl="$1"; shift
     local lvlc=$(_lvl2char "$lvl") || return 0
 
-    [ $lvl -le $_maxloglvl ] || return 0
+    [ $lvl -le $maxloglvl ] || return 0
 
     local msg="$lvlc: $*"
 
-- 
1.7.4.1

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [PATCH 3/3] dracut: script adjusted to new logging facility; -v changed
       [not found]     ` <1300307070-10087-2-git-send-email-aidecoe-2qtfh70TtYba5EbDDlwbIw@public.gmane.org>
@ 2011-03-16 20:24       ` Amadeusz Żołnowski
  0 siblings, 0 replies; 4+ messages in thread
From: Amadeusz Żołnowski @ 2011-03-16 20:24 UTC (permalink / raw)
  To: initramfs-u79uwXL29TY76Z2rM5mHXA; +Cc: Amadeusz Żołnowski

-v meaning has changed. Now it increases verbosity level. -q option has
been added, which decreases verbosity level. Both options might be
specified multiple times.
---
 dracut |   64 +++++++++++++++++++++++++++++++++++++---------------------------
 1 files changed, 37 insertions(+), 27 deletions(-)

diff --git a/dracut b/dracut
index 4d50472..882007e 100755
--- a/dracut
+++ b/dracut
@@ -67,8 +67,8 @@ Creates initial ramdisk images for preloading modules
                          4 - info (default)
                          5 - debug info (here starts lots of output)
                          6 - trace info (and even more)
-  -v, --verbose         Verbose output during the build process (info level)
-  -q, --quiet           Display only errors and fatal errors during build
+  -v, --verbose         Increase verbosity level (default is info(4))
+  -q, --quiet           Decrease verbosity level (default is info(4))
   -c, --conf [FILE]     Specify configuration file to use.
                          Default: /etc/dracut.conf
   --confdir [DIR]       Specify configuration directory to use *.conf files 
@@ -179,7 +179,7 @@ push_arg() {
 }
 
 kernel="unset"
-stdloglvl_l=0
+verbosity_mod_l=0
 
 while (($# > 0)); do
     case ${1%%=*} in
@@ -205,8 +205,8 @@ while (($# > 0)); do
         --lvmconf)     lvmconf_l="yes";;
         --nolvmconf)   lvmconf_l="no";;
         --debug)       debug="yes";;
-        -v|--verbose)  beverbose="yes";;
-        -q|--quiet)    bequiet="yes";;
+        -v|--verbose)  ((verbosity_mod_l++));;
+        -q|--quiet)    ((verbosity_mod_l--));;
         -l|--local)    allowlocal="yes" ;;
         -H|--hostonly) hostonly_l="yes" ;;
         --fstab)       use_fstab_l="yes" ;;
@@ -249,12 +249,6 @@ export PATH
     set -x
 }
 
-# For compatibility with -v behaviour. Set to info level.
-[[ $beverbose ]] && (( $stdloglvl_l < 4 )) && stdloglvl_l=4
-
-# When quiet, display only errors and fatal errors.
-[[ $bequiet ]] && (( $stdloglvl_l > 2 )) && stdloglvl_l=2
-
 [[ $dracutbasedir ]] || dracutbasedir=/usr/share/dracut
 
 [[ $allowlocal && -f "$(readlink -f ${0%/*})/dracut-functions" ]] && \
@@ -331,6 +325,10 @@ if [[ ${#fw_dir_l[@]} ]]; then
 fi
 
 [[ $stdloglvl_l ]] && stdloglvl=$stdloglvl_l
+stdloglvl=$((stdloglvl + verbosity_mod_l))
+((stdloglvl > 6)) && stdloglvl=6
+((stdloglvl < 0)) && stdloglvl=0
+
 [[ $drivers_dir_l ]] && drivers_dir=$drivers_dir_l
 [[ $do_strip_l ]] && do_strip=$do_strip_l
 [[ $hostonly_l ]] && hostonly=$hostonly_l
@@ -359,7 +357,7 @@ fi
 dracutfunctions=$dracutbasedir/dracut-functions
 export dracutfunctions
 
-dinfo "Executing $0 $dracut_args"
+ddebug "Executing $0 $dracut_args"
 
 [[ $do_list = yes ]] && {
     for mod in $dracutbasedir/modules.d/*; do
@@ -375,12 +373,13 @@ dinfo "Executing $0 $dracut_args"
 [[ $libdir ]] || for libdir in /lib64 /lib; do
     [[ -d $libdir ]] && break
 done || {
-    derror 'No lib directory?!!!'
+    dfatal 'No lib directory?!!!'
     exit 1
 }
+
 [[ $usrlibdir ]] || for usrlibdir in /usr/lib64 /usr/lib; do
     [[ -d $usrlibdir ]] && break
-done || dwarning 'No usr/lib directory!'
+done || dwarn 'No usr/lib directory!'
 
 # This is kinda legacy -- eventually it should go away.
 case $dracutmodules in
@@ -392,7 +391,7 @@ abs_outfile=$(readlink -f "$outfile") && outfile="$abs_outfile"
 srcmods="/lib/modules/$kernel/"
 [[ $drivers_dir ]] && {
     if vercmp $(modprobe --version | cut -d' ' -f3) lt 3.7; then
-        derror 'To use --kmoddir option module-init-tools >= 3.7 is required.'
+        dfatal 'To use --kmoddir option module-init-tools >= 3.7 is required.'
         exit 1
     fi
     srcmods="$drivers_dir"
@@ -400,19 +399,19 @@ srcmods="/lib/modules/$kernel/"
 export srcmods
 
 if [[ -f $outfile && ! $force ]]; then
-    derror "Will not override existing initramfs ($outfile) without --force"
+    dfatal "Will not override existing initramfs ($outfile) without --force"
     exit 1
 fi
 
 outdir=${outfile%/*}
 if [[ ! -d "$outdir" ]]; then
-    derror "Can't write $outfile: Directory $outdir does not exist."
+    dfatal "Can't write $outfile: Directory $outdir does not exist."
     exit 1
 elif [[ ! -w "$outdir" ]]; then
-    derror "No permission to write $outdir."
+    dfatal "No permission to write $outdir."
     exit 1
 elif [[ -f "$outfile" && ! -w "$outfile" ]]; then
-    derror "No permission to write $outfile."
+    dfatal "No permission to write $outfile."
     exit 1
 fi
 
@@ -452,7 +451,7 @@ check_module_dir
 for moddir in "$dracutbasedir/modules.d"/[0-9][0-9]*; do
     mod=${moddir##*/}; mod=${mod#[0-9][0-9]}
     if strstr "$mods_to_load" " $mod "; then
-        dinfo "*** Sourcing module $mod"
+        dinfo "*** Including module: $mod ***"
         if [[ $kernel_only = yes ]]; then
             module_installkernel $mod
         else
@@ -465,13 +464,14 @@ for moddir in "$dracutbasedir/modules.d"/[0-9][0-9]*; do
     fi
 done
 unset moddir
+dinfo "*** Including modules' done ***"
 
 ## final stuff that has to happen
 
 # generate module dependencies for the initrd
 if [[ -d $initdir/lib/modules/$kernel ]] && \
     ! depmod -a -b "$initdir" $kernel; then
-    derror "\"depmod -a $kernel\" failed."
+    dfatal "\"depmod -a $kernel\" failed."
     exit 1
 fi
 
@@ -480,6 +480,7 @@ while pop include_src src && pop include_target tgt; do
         if [[ -f $src ]]; then
             inst $src $tgt
         else
+            ddebug "Including directory: $src"
             mkdir -p "${initdir}/${tgt}"
             cp -a -t "${initdir}/${tgt}" "$src"/*
         fi
@@ -495,10 +496,18 @@ unset item
 
 # make sure that library links are correct and up to date
 dracut_install /etc/ld.so.conf /etc/ld.so.conf.d/*
-ldconfig -r "$initdir" || [[ $UID != "0" ]] && \
-    dinfo "ldconfig might need uid=0 (root) for chroot()"
+if ! ldconfig -r "$initdir"; then
+    if [[ $UID = 0 ]]; then
+        derror "ldconfig exited ungracefully"
+    else
+        derror "ldconfig might need uid=0 (root) for chroot()"
+    fi
+fi
 
-[[ $beverbose = yes ]] && (du -c "$initdir" | sort -n)
+if (($maxloglvl >= 5)); then
+    ddebug "Listing sizes of included files:"
+    du -c "$initdir" | sort -n | ddebug
+fi
 
 # strip binaries 
 if [[ $do_strip = yes ]] ; then
@@ -525,10 +534,11 @@ type hardlink &>/dev/null && {
 
 if ! ( cd "$initdir"; find . |cpio -R 0:0 -H newc -o --quiet | \
     $compress > "$outfile"; ); then 
-    derror "dracut: creation of $outfile failed"
+    dfatal "dracut: creation of $outfile failed"
     exit 1
 fi 
-dinfo "Wrote $outfile"
-dinfo $(ls -l "$outfile")
+
+dinfo "Wrote $outfile:"
+dinfo "$(ls -l "$outfile")"
 
 exit 0
-- 
1.7.4.1

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH 1/3] dracut: install ld.so.conf* with dracut_install instead of cp
       [not found] ` <1300307070-10087-1-git-send-email-aidecoe-2qtfh70TtYba5EbDDlwbIw@public.gmane.org>
  2011-03-16 20:24   ` [PATCH 2/3] dracut-logger: make $maxloglvl public Amadeusz Żołnowski
@ 2011-03-16 20:46   ` Harald Hoyer
  1 sibling, 0 replies; 4+ messages in thread
From: Harald Hoyer @ 2011-03-16 20:46 UTC (permalink / raw)
  To: Amadeusz Żołnowski; +Cc: initramfs-u79uwXL29TY76Z2rM5mHXA

Am 16.03.2011 21:24, schrieb Amadeusz Żołnowski:
> ---
>  dracut |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
> 
> diff --git a/dracut b/dracut
> index 2ae7f8c..4d50472 100755
> --- a/dracut
> +++ b/dracut
> @@ -494,7 +494,7 @@ done
>  unset item
>  
>  # make sure that library links are correct and up to date
> -cp -ar /etc/ld.so.conf* "$initdir"/etc
> +dracut_install /etc/ld.so.conf /etc/ld.so.conf.d/*
>  ldconfig -r "$initdir" || [[ $UID != "0" ]] && \
>      dinfo "ldconfig might need uid=0 (root) for chroot()"
>  


pushed all three

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2011-03-16 20:46 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-03-16 20:24 [PATCH 1/3] dracut: install ld.so.conf* with dracut_install instead of cp Amadeusz Żołnowski
     [not found] ` <1300307070-10087-1-git-send-email-aidecoe-2qtfh70TtYba5EbDDlwbIw@public.gmane.org>
2011-03-16 20:24   ` [PATCH 2/3] dracut-logger: make $maxloglvl public Amadeusz Żołnowski
     [not found]     ` <1300307070-10087-2-git-send-email-aidecoe-2qtfh70TtYba5EbDDlwbIw@public.gmane.org>
2011-03-16 20:24       ` [PATCH 3/3] dracut: script adjusted to new logging facility; -v changed Amadeusz Żołnowski
2011-03-16 20:46   ` [PATCH 1/3] dracut: install ld.so.conf* with dracut_install instead of cp Harald Hoyer

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox