X-Git-Url: http://git.grml.org/?a=blobdiff_plain;f=scripts%2Flive;h=d52ae7c61e4e10095fe4f775a16253f6827c16cb;hb=f16e48a910a229980153cafc1f2827a7e2c4ab0f;hp=35ba702619702c9d33645feb5e889124a6baf1ee;hpb=3093ff10b1666c7f1cbf5bf6ce7d3031482fb23f;p=live-boot-grml.git diff --git a/scripts/live b/scripts/live index 35ba702..d52ae7c 100755 --- a/scripts/live +++ b/scripts/live @@ -8,6 +8,7 @@ echo "/root/lib" >> /etc/ld.so.conf echo "/root/usr/lib" >> /etc/ld.so.conf mountpoint=/live/image +LIVE_MEDIA_PATH="/live" root_persistence="live-rw" home_persistence="home-rw" @@ -74,7 +75,7 @@ parse_cmdline () export USERFULLNAME LIVECONF ;; - ip*) + ip=*) STATICIP=${x#ip=} if [ -z "${STATICIP}" ] @@ -130,6 +131,11 @@ parse_cmdline () export LIVE_MEDIA_OFFSET ;; + live-media-path=*) + LIVE_MEDIA_PATH="${x#live-media-path=}" + export LIVE_MEDIA_PATH + ;; + live-media-timeout=*) LIVE_MEDIA_TIMEOUT=${x#live-media-timeout=} export LIVE_MEDIA_TIMEOUT @@ -145,7 +151,7 @@ parse_cmdline () export MODULE ;; - netboot*) + netboot=*) NETBOOT=${x#netboot=} export NETBOOT ;; @@ -228,6 +234,11 @@ parse_cmdline () export UNIONTYPE ;; + utc=*) + UTC="${x#utc=}" + export UTC + ;; + xdebconf) XDEBCONF="Yes" export XDEBCONF @@ -271,11 +282,11 @@ is_live_path() { DIRECTORY="${1}" - if [ -d "${DIRECTORY}"/live ] + if [ -d "${DIRECTORY}"/"${LIVE_MEDIA_PATH}" ] then for FILESYSTEM in squashfs ext2 ext3 xfs dir do - if [ "`echo ${DIRECTORY}/live/*.${FILESYSTEM}`" != "${DIRECTORY}/live/*.${FILESYSTEM}" ] + if [ "`echo ${DIRECTORY}/${LIVE_MEDIA_PATH}/*.${FILESYSTEM}`" != "${DIRECTORY}/${LIVE_MEDIA_PATH}/*.${FILESYSTEM}" ] then return 0 fi @@ -312,11 +323,11 @@ match_files_in_dir() { mount_images_in_directory() { directory="$1" rootmnt="$2" - if match_files_in_dir "$directory/live/*.squashfs" || - match_files_in_dir "$directory/live/*.ext2" || - match_files_in_dir "$directory/live/*.ext3" || - match_files_in_dir "$directory/live/*.dir"; then - setup_unionfs "$directory/live" "$rootmnt" + if match_files_in_dir "$directory/${LIVE_MEDIA_PATH}/*.squashfs" || + match_files_in_dir "$directory/${LIVE_MEDIA_PATH}/*.ext2" || + match_files_in_dir "$directory/${LIVE_MEDIA_PATH}/*.ext3" || + match_files_in_dir "$directory/${LIVE_MEDIA_PATH}/*.dir"; then + setup_unionfs "$directory/${LIVE_MEDIA_PATH}" "$rootmnt" else : fi @@ -397,6 +408,14 @@ do_netmount() { NFSROOT=${ROOTSERVER}:${ROOTPATH} fi + # source relevant ipconfig output + . /tmp/net-${DEVICE}.conf + export HOSTNAME + + if [ "${NFSROOT#*:}" = "$NFSROOT" ] && [ "$NETBOOT" != "cifs" ]; then + NFSROOT=${ROOTSERVER}:${NFSROOT} + fi + [ "$quiet" != "y" ] && log_begin_msg "Trying netboot from ${NFSROOT}" if [ "${NETBOOT}" != "nfs" ] && do_cifsmount ; then