wok diff syslinux/stuff/iso2exe/init @ rev 21472

Update syslinux/iso2exe/init for tazboot.exe
author Pascal Bellard <pascal.bellard@slitaz.org>
date Tue Apr 30 21:40:22 2019 +0200 (2019-04-30)
parents 997fa8b74f8d
children ada21ebe1860
line diff
     1.1 --- a/syslinux/stuff/iso2exe/init	Tue Apr 30 16:26:45 2019 +0200
     1.2 +++ b/syslinux/stuff/iso2exe/init	Tue Apr 30 21:40:22 2019 +0200
     1.3 @@ -126,14 +126,16 @@
     1.4  gettazboot()
     1.5  {
     1.6  	echo "Creating $(basename $1) ..."
     1.7 +	X=$(($(get 20 /mnt/$ISO) - 0xC0))
     1.8 +	[ $X -lt 30000 ] && X=$((0x7FF0))
     1.9  	O=$(($(get 64 /mnt/$ISO) - 0xC0))
    1.10 -	L=$(($(get 20 /mnt/$ISO) - 0xC0 - $(get 24 /mnt/$ISO) - $O))
    1.11 +	L=$(($X - $(get 24 /mnt/$ISO) - $O))
    1.12  	S=$((32+$L))
    1.13  	P=$((($S+511)/512))
    1.14  	E=$((4096-(32*$P)))
    1.15  	words2bin 0x5A4D $(($S%512)) $P 0 2 $E -1 $((${2:-0}-16)) \
    1.16  			-2 0 256 -16 28 0x6C53 0x5469 0x7A61 > $1
    1.17 -	ddq bs=1 count=$L skip=$(echo $O) if=/mnt/$ISO >> $1
    1.18 +	ddq bs=1 count=$(echo $L) skip=$(echo $O) if=/mnt/$ISO >> $1
    1.19  }
    1.20  
    1.21  checkmagic()
    1.22 @@ -228,6 +230,7 @@
    1.23  
    1.24  mkinitrd()
    1.25  {
    1.26 +	echo
    1.27  	dotwait "Creating $(basename $1) "
    1.28  	for i in bin lib dev proc tmp mnt etc ; do
    1.29  		mkdir -p /tmp/fs/$i
    1.30 @@ -268,7 +271,7 @@
    1.31  arg subroot "Change root to directory"
    1.32  mount.posixovl -F /mnt/\$val -- -oallow_other -odefault_permissions -osuid
    1.33  mount --bind /mnt /mnt/\$val/mnt/dos
    1.34 -mount -o size=0 -t tmpfs tmpfs /mnt/\$val/mnt/dos/\$val
    1.35 +mount -o size=0,ro -t tmpfs tmpfs /mnt/\$val/mnt/dos/\$val
    1.36  LDSO=\$(ls /mnt/\$val/lib/ld-* | sed q)
    1.37  export LD_LIBRARY_PATH=\$val/lib:\$val/usr/lib:/lib
    1.38    [ "$debug" = "true" ] && sh
    1.39 @@ -339,7 +342,7 @@
    1.40  		/media/cdrom/README /media/cdrom/boot/memtest* ; do
    1.41  		[ -s $i ] && cp $i /mnt/slitaz/boot
    1.42  	done
    1.43 -	for i in /mnt/slitaz/boot/memtest /mnt/slitaz/boot/*pxe* ; do
    1.44 +	for i in /mnt/slitaz/boot/memtest /mnt/slitaz/boot/*pxe ; do
    1.45  		[ $(get 0 $i 2> /dev/null || echo 0) -eq 23117 ] &&
    1.46  		mv $i $i.exe
    1.47  	done