projects
/
grml-autoconfig.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fix bug: /grml.sh and /config.tbz on a GRMLCFG file system need to be processed witho...
[grml-autoconfig.git]
/
autoconfig.functions
diff --git
a/autoconfig.functions
b/autoconfig.functions
index
7ebeb1a
..
d699d32
100755
(executable)
--- a/
autoconfig.functions
+++ b/
autoconfig.functions
@@
-297,7
+297,7
@@
config_language(){
if [ -r /etc/default/locale ] ; then
if grep -q "LANG=.*UTF" /etc/default/locale ; then
einfo "Setting up unicode environment."
if [ -r /etc/default/locale ] ; then
if grep -q "LANG=.*UTF" /etc/default/locale ; then
einfo "Setting up unicode environment."
- unicode_start ; eend $?
+ unicode_start
2>>$DEBUG
; eend $?
fi
fi
fi
fi
@@
-1274,7
+1274,7
@@
else
einfo "Network device ${WHITE}${DEVICE}${NORMAL} detected, DHCP broadcasting for IP. (Backgrounding)"
trap 2 3 11
ifconfig $DEVICE up >>$DEBUG 2>&1
einfo "Network device ${WHITE}${DEVICE}${NORMAL} detected, DHCP broadcasting for IP. (Backgrounding)"
trap 2 3 11
ifconfig $DEVICE up >>$DEBUG 2>&1
- ( pump -i $DEVICE >>$DEBUG 2>&1 && echo finished_running_pump > /etc/network/status/$DEVICE ) &
+ ( pump -i $DEVICE
--script=/usr/lib/grml-autoconfig/pump-runparts
>>$DEBUG 2>&1 && echo finished_running_pump > /etc/network/status/$DEVICE ) &
trap "" 2 3 11
sleep 1
eend 0
trap "" 2 3 11
sleep 1
eend 0
@@
-1968,6
+1968,7
@@
config_finddcsdir() {
# - If myconfig=foo is set on the command line, $dcs-dir is set to
# foo, even if a GRMLCFG partition is present.
DCSDIR=""
# - If myconfig=foo is set on the command line, $dcs-dir is set to
# foo, even if a GRMLCFG partition is present.
DCSDIR=""
+DCSMP="/mnt/grml"
if checkbootparam 'noautoconfig' || checkbootparam 'forensic' ; then
ewarn "Skipping running automount of device(s) labeled GRMLCFG as requested." ; eend 0
else
if checkbootparam 'noautoconfig' || checkbootparam 'forensic' ; then
ewarn "Skipping running automount of device(s) labeled GRMLCFG as requested." ; eend 0
else
@@
-1988,6
+1989,7
@@
else
fi
fi
DCSDEVICE=$(blkid -t LABEL=GRMLCFG | head -1 | awk -F: '{print $1}')
fi
fi
DCSDEVICE=$(blkid -t LABEL=GRMLCFG | head -1 | awk -F: '{print $1}')
+ DCSMP="/mnt/grmlcfg"
eoutdent
fi
eoutdent
fi
@@
-2001,15
+2003,15
@@
else
if [ -n "$DCSDIR" ]; then
ewarn "$DCSDEVICE already mounted on $DCSDIR"; eend 0
else
if [ -n "$DCSDIR" ]; then
ewarn "$DCSDEVICE already mounted on $DCSDIR"; eend 0
else
- [ -d
/mnt/grml ] || mkdir /mnt/grml
- umount
/mnt/grml
1>>$DEBUG 2>&1 # make sure it is not mounted
- mount -o ro -t auto $DCSDEVICE
/mnt/grml
; RC="$?"
+ [ -d
$DCSMP ] || mkdir $DCSMP
+ umount
$DCSMP
1>>$DEBUG 2>&1 # make sure it is not mounted
+ mount -o ro -t auto $DCSDEVICE
$DCSMP
; RC="$?"
if [[ $RC == 0 ]]; then
if [[ $RC == 0 ]]; then
- einfo "Successfully mounted $DCSDEVICE to
/mnt/grml
(readonly)." ; eend 0
+ einfo "Successfully mounted $DCSDEVICE to
$DCSMP
(readonly)." ; eend 0
else
else
- eerror "Error: mounting $DCSDEVICE to
/mnt/grml
(readonly) failed." ; eend 1
+ eerror "Error: mounting $DCSDEVICE to
$DCSMP
(readonly) failed." ; eend 1
fi
fi
- DCSDIR="
/mnt/grml
"
+ DCSDIR="
$DCSMP
"
fi
eoutdent
fi
fi
eoutdent
fi
@@
-2063,7
+2065,7
@@
fi
}
config_scripts(){
}
config_scripts(){
-if checkbootparam 'scripts' ; then
+if checkbootparam 'scripts'
|| [ "$DCSMP" = "/mnt/grmlcfg" ]
; then
SCRIPTS="$(getbootparam 'scripts' 2>>$DEBUG)"
if [ -z "$SCRIPTS" ]; then
SCRIPTS="$(cd ${DCSDIR}/scripts; /bin/ls -1d [Gg][Rr][Mm][Ll].[Ss][Hh] 2>>$DEBUG)"
SCRIPTS="$(getbootparam 'scripts' 2>>$DEBUG)"
if [ -z "$SCRIPTS" ]; then
SCRIPTS="$(cd ${DCSDIR}/scripts; /bin/ls -1d [Gg][Rr][Mm][Ll].[Ss][Hh] 2>>$DEBUG)"
@@
-2072,8
+2074,16
@@
if checkbootparam 'scripts' ; then
# backwards compatibility: if no path is given get scripts from scripts/
SCRIPTS="scripts/$SCRIPTS"
fi
# backwards compatibility: if no path is given get scripts from scripts/
SCRIPTS="scripts/$SCRIPTS"
fi
+ if [ "$DCSMP" = "/mnt/grmlcfg" ]; then
+ # we are executing from a GRMLCFG labeled fs
+ # kick everything we have done before and start over
+ SCRIPTS="$(cd ${DCSDIR}; /bin/ls -1d [Gg][Rr][Mm][Ll].[Ss][Hh] 2>>$DEBUG)"
+ fi
SCRIPTS="${DCSDIR}/$SCRIPTS"
SCRIPTS="${DCSDIR}/$SCRIPTS"
- if [ -d "$SCRIPTS" ]; then
+ if [ "$DCSMP" = "/mnt/grmlcfg" ]; then
+ einfo "Trying to execute ${SCRIPTS}"
+ sh -c $SCRIPTS
+ elif [ -d "$SCRIPTS" ]; then
einfo "Bootparameter scripts found. Trying to execute from directory ${SCRIPTS}:"
run-parts $SCRIPTS
else
einfo "Bootparameter scripts found. Trying to execute from directory ${SCRIPTS}:"
run-parts $SCRIPTS
else
@@
-2084,7
+2094,7
@@
fi
}
config_config(){
}
config_config(){
-if checkbootparam 'config' ; then
+if checkbootparam 'config'
|| [ "$DCSMP" = "/mnt/grmlcfg" ]
; then
CONFIG="$(getbootparam 'config' 2>>$DEBUG)"
if [ -z "$CONFIG" ]; then
CONFIG="$(cd ${DCSDIR}; ls -1d [Cc][Oo][Nn][Ff][Ii][Gg].[Tt][Bb][Zz] 2>>$DEBUG)"
CONFIG="$(getbootparam 'config' 2>>$DEBUG)"
if [ -z "$CONFIG" ]; then
CONFIG="$(cd ${DCSDIR}; ls -1d [Cc][Oo][Nn][Ff][Ii][Gg].[Tt][Bb][Zz] 2>>$DEBUG)"
@@
-2104,9
+2114,9
@@
if checkbootparam 'config' ; then
fi
fi
fi
fi
fi
fi
-# umount
/mnt/grml
if it was mounted by finddcsdir
+# umount
$DCSMP
if it was mounted by finddcsdir
# this doesn't really belong here
# this doesn't really belong here
-grep -q '
/mnt/grml' /proc/mounts && umount /mnt/grml
+grep -q '
$DCSMP' /proc/mounts && umount $DCSMP
}
# }}}
}
# }}}