tazlito rev 378

Check mount cd twice. rootfs: fix boot failed with large wtmp or without it.
author Xander Ziiryanoff <psychomaniak@xakep.ru>
date Tue Apr 07 00:28:19 2015 +0300 (2015-04-07)
parents df4af4ac2056
children 0b9a864c578f
files tazlito
line diff
     1.1 --- a/tazlito	Mon Apr 06 21:56:20 2015 +0200
     1.2 +++ b/tazlito	Tue Apr 07 00:28:19 2015 +0300
     1.3 @@ -2328,6 +2328,8 @@
     1.4  		status
     1.5  		
     1.6  		# Clean-up files by default
     1.7 +		mv -f /var/log/wtmp /var/log/.wtmp
     1.8 +		touch /var/log/wtmp
     1.9  		newline > /etc/udev/rules.d/70-persistent-net.rules
    1.10  		newline > /etc/udev/rules.d/70-persistant-cd.rules
    1.11  
    1.12 @@ -2346,10 +2348,11 @@
    1.13  			[ -d $dir ] && echo $dir
    1.14  		done >>/tmp/list
    1.15  
    1.16 -		sed -i '\/var\/run\/.*pid$/d' /tmp/list
    1.17 +		sed -i '/var\/run\/.*pid$/d'	/tmp/list
    1.18 +		sed -i '/var\/run\/utmp/d'	/tmp/list
    1.19  
    1.20  		for removelog in auth boot messages dmesg daemon slim .*old Xorg; do
    1.21 -			sed -i "\/var\/log\/$removelog/d" /tmp/list
    1.22 +			sed -i "/var\/log\/$removelog/d" /tmp/list
    1.23  		done
    1.24  
    1.25  		# Generate initramfs with specified compression and display rootfs
    1.26 @@ -2364,6 +2367,7 @@
    1.27  			sleep 1
    1.28  			echo -en "\\033[18G`du -sh /rootfs.gz | awk '{print $1}'`    "
    1.29  		done
    1.30 +		mv -f /var/log/.wtmp /var/log/wtmp
    1.31  		echo -e "\n"
    1.32  		rm -f /tmp/rootfs
    1.33  
    1.34 @@ -2372,23 +2376,26 @@
    1.35  		mv -f /rootfs.gz $ROOTCD/boot
    1.36  
    1.37  		# Now we need the kernel and isolinux files.
    1.38 -		if  mount /dev/cdrom /media/cdrom 2>/dev/null; then
    1.39 +		copy_from_cd()
    1.40 +		{
    1.41  			cp /media/cdrom/boot/bzImage* $ROOTCD/boot
    1.42  			cp -a /media/cdrom/boot/isolinux $ROOTCD/boot
    1.43  			unmeta_boot $ROOTCD
    1.44  			umount /media/cdrom
    1.45 -	      elif  mount |grep /media/cdrom; then
    1.46 -	                cp /media/cdrom/boot/bzImage* $ROOTCD/boot
    1.47 -		        cp -a /media/cdrom/boot/isolinux $ROOTCD/boot
    1.48 -			unmeta_boot $ROOTCD
    1.49 -			umount /media/cdrom;
    1.50 -	      else
    1.51 +		}
    1.52 +		if  mount /dev/cdrom /media/cdrom 2>/dev/null; then
    1.53 +			copy_from_cd;
    1.54 +		elif  mount |grep /media/cdrom; then
    1.55 +			copy_from_cd;
    1.56 +		else
    1.57 +			echo "Located in: $ROOTCD/boot/rootfs.gz"
    1.58  			echo -e "
    1.59  When SliTaz is running in RAM the kernel and bootloader files are kept
    1.60  on the cdrom. Please insert a LiveCD or loop mount the slitaz.iso to
    1.61  /media/cdrom to let Tazlito copy the files.\n"
    1.62  			echo -en "----\nENTER to continue..."; read i
    1.63 -			exit 1
    1.64 +			[ ! -d /media/cdrom/boot/isolinux ] && exit 1
    1.65 +			copy_from_cd
    1.66  		fi
    1.67  
    1.68  		# Generate the iso image.