slitaz-tools rev 479

bootfloppybox: old slitaz versions for floppy set from iso
author Pascal Bellard <pascal.bellard@slitaz.org>
date Tue Mar 30 15:56:49 2010 +0200 (2010-03-30)
parents 764a5707fd96
children e1aa1358be7b
files tinyutils/bootfloppybox
line diff
     1.1 --- a/tinyutils/bootfloppybox	Tue Mar 30 09:35:11 2010 +0000
     1.2 +++ b/tinyutils/bootfloppybox	Tue Mar 30 15:56:49 2010 +0200
     1.3 @@ -445,12 +445,26 @@
     1.4  			done
     1.5  			cd /tmp/rootfs$$/fs0
     1.6  			dir=$(echo lib/modules/*/kernel/drivers/block)
     1.7 -			mkdir -p ../fs/$dir
     1.8 +			[ -d $dir ] && mkdir -p ../fs/$dir
     1.9  			[ -f $dir/floppy.ko.gz ] && mv $dir/floppy.ko.gz ../fs/$dir
    1.10  			for i in dev init mnt proc sys tmp ; do
    1.11  				mv $i ../fs
    1.12  			done
    1.13 -			mv lib/lib[cm][.-]* lib/ld-* ../fs/lib
    1.14 +			mv lib/ld-* ../fs/lib
    1.15 +			LD_TRACE_LOADED_OBJECTS=1 /lib/ld*.so bin/busybox | \
    1.16 +			awk '/\/lib\/lib/ { print $3 }' | while read lib ; do
    1.17 +				while [ -L .$lib ]; do
    1.18 +					local target
    1.19 +					target="$(readlink ".$lib")"
    1.20 +					case "$target" in
    1.21 +					/*)	;;
    1.22 +					*)	target="$(dirname $lib)/$target" ;;
    1.23 +					esac
    1.24 +					mv ".$lib" ../fs/lib
    1.25 +					lib="$target"
    1.26 +				done
    1.27 +				mv ".$lib" ../fs/lib
    1.28 +			done
    1.29  			for i in $(bin/busybox | awk '{ if (s) printf "%s",$0 }
    1.30  				   /Currently/ { s=1 }' | sed 's/,//g'); do
    1.31  				for j in bin sbin usr/bin usr/sbin ; do
    1.32 @@ -458,6 +472,7 @@
    1.33  				done
    1.34  			done
    1.35  			mv bin/busybox ../fs/bin
    1.36 +			[ -e ../fs/bin/cpio ] || mv bin/cpio ../fs/bin
    1.37  			rm -f ../1/*
    1.38  			find | cpio -o -H newc | lzma e ../1/rootfs.gz -si
    1.39  			cd - > /dev/null
    1.40 @@ -503,7 +518,7 @@
    1.41  		dd if=/dev/zero bs=1 count=$pad 2> /dev/null | cat $i - | \
    1.42  		split -b 1440k /dev/stdin $(dirname $i)/floppy
    1.43  	done
    1.44 -	selection="$(grep append /tmp/iso$$/boot/isolinux/common.cfg | sed 's/.*append //')"
    1.45 +	selection="$(grep -s append /tmp/iso$$/boot/isolinux/common.cfg | sed 's/.*append //')"
    1.46  	[ -n "$selection" ] || selection="0 slitaz"
    1.47  	set -- $selection
    1.48  	selection=""