wok rev 17659

syslinux/taziso: kexec do not load zImage
author Pascal Bellard <pascal.bellard@slitaz.org>
date Sun Feb 15 11:18:31 2015 +0100 (2015-02-15)
parents e9f002054831
children 13de11f10fb3
files syslinux-extra/receipt syslinux-tools/receipt syslinux/stuff/iso2exe/init syslinux/stuff/iso2exe/taziso
line diff
     1.1 --- a/syslinux-extra/receipt	Sun Feb 15 09:07:43 2015 +0100
     1.2 +++ b/syslinux-extra/receipt	Sun Feb 15 11:18:31 2015 +0100
     1.3 @@ -27,5 +27,6 @@
     1.4      cp -a $src/extlinux/extlinux $fs/bin
     1.5      cp -a $src/isohybrid.sh $fs/usr/bin/isohybrid
     1.6      cp -a $src/iso2exe/iso2exe $fs/usr/bin/iso2exe
     1.7 +    cp -a $src/iso2exe/taziso $fs/usr/bin
     1.8      chown root.root $fs/usr/share/boot/* $fs/bin/* $fs/usr/bin/*
     1.9  }
     2.1 --- a/syslinux-tools/receipt	Sun Feb 15 09:07:43 2015 +0100
     2.2 +++ b/syslinux-tools/receipt	Sun Feb 15 11:18:31 2015 +0100
     2.3 @@ -21,6 +21,5 @@
     2.4  	cp -a $src/iso2exe/isohybrid.exe $fs/usr/share/boot
     2.5  	cp -a $src/iso2exe/meminfo.exe $fs/usr/share/boot
     2.6  	cp -a $src/iso2exe/tazboot.exe $fs/usr/share/boot
     2.7 -	cp -a $src/iso2exe/taziso $fs/usr/bin
     2.8  	find $fs/usr -exec chown root.root {} \;
     2.9  }
     3.1 --- a/syslinux/stuff/iso2exe/init	Sun Feb 15 09:07:43 2015 +0100
     3.2 +++ b/syslinux/stuff/iso2exe/init	Sun Feb 15 11:18:31 2015 +0100
     3.3 @@ -611,9 +611,18 @@
     3.4  	gotcdfile "$1" && echo -en "\"$2\"	\"$3\""
     3.5  }
     3.6  
     3.7 +isbzImage()
     3.8 +{
     3.9 +	[ $(get 514 $file 4) -eq 1400005704 ] &&
    3.10 +	[ $(($(get 529 $file 1) & 1)) -eq 1 ]
    3.11 +}
    3.12 +
    3.13  cdfilex()
    3.14  {
    3.15 -	[ "$(which kexec)" ] && cdfile "$@"
    3.16 +	gotcdfile "$1" &&
    3.17 +	[ "$(which kexec)" ] &&
    3.18 +	isbzImage &&
    3.19 +	echo -en "\"$2\"	\"$3\""
    3.20  }
    3.21  
    3.22  cdfilef()
    3.23 @@ -874,7 +883,7 @@
    3.24  
    3.25  dokexec()
    3.26  {
    3.27 -	kexec -l $file
    3.28 +	kexec -l $file || return
    3.29  	dosync
    3.30  	kexec -e
    3.31  }
     4.1 --- a/syslinux/stuff/iso2exe/taziso	Sun Feb 15 09:07:43 2015 +0100
     4.2 +++ b/syslinux/stuff/iso2exe/taziso	Sun Feb 15 11:18:31 2015 +0100
     4.3 @@ -348,7 +348,7 @@
     4.4  	[ -x $mnt/slitaz$1 ] || return
     4.5  	[ -s $mnt/slitaz/boot/tazboot.cmd ] || return
     4.6  	readtazbootconf
     4.7 -	kexec -l $kernel --initrd $initrd --command-line "$cmdline" --atags
     4.8 +	kexec -l $kernel --initrd $initrd --command-line "$cmdline" || return
     4.9  	umount $mnt
    4.10  	rm -rf $mnt
    4.11  	umount -d /media/cdrom
    4.12 @@ -384,6 +384,11 @@
    4.13  EOT
    4.14  	unix2dos $mnt/slitaz/boot/menu.lst
    4.15  	unix2dos > $mnt/slitaz/boot/install.txt <<EOT
    4.16 +For DOS users (real mode only):
    4.17 +
    4.18 +Start SliTaz with \\slitaz\\boot\\tazboot.exe
    4.19 +
    4.20 +
    4.21  For NT/2000/XP users:
    4.22  
    4.23  1- Move the files grldr and menu.lst into the root directory
    4.24 @@ -471,9 +476,10 @@
    4.25  	kernel=/media/cdrom/boot/bzImage
    4.26  	grep -q ' lm ' /proc/cpuinfo && [ -s ${kernel}64 ] && kernel=${kernel}64
    4.27  	. /etc/locale.conf
    4.28 -	kexec -l $kernel --initrd /tmp/initrd$$ --atags --command-line \
    4.29 -	   "root=/dev/null autologin lang=$LANG kmap=$(cat /etc/keymap.conf)"
    4.30 +	kexec -l $kernel --initrd /tmp/initrd$$ --command-line \
    4.31 +	   "root=/dev/null autologin lang=$LANG kmap=$(cat /etc/keymap.conf)" &&
    4.32  	umount -d /media/cdrom
    4.33 +	rm -f /tmp/initrd$$
    4.34  	kexec -e
    4.35  }
    4.36  
    4.37 @@ -656,9 +662,18 @@
    4.38  	gotcdfile "$1" && echo -en "\"$2\"	\"$3\""
    4.39  }
    4.40  
    4.41 +isbzImage()
    4.42 +{
    4.43 +	[ $(get 514 $file 4) -eq 1400005704 ] &&
    4.44 +	[ $(($(get 529 $file 1) & 1)) -eq 1 ]
    4.45 +}
    4.46 +
    4.47  cdfilex()
    4.48  {
    4.49 -	[ "$(which kexec)" ] && cdfile "$@"
    4.50 +	gotcdfile "$1" &&
    4.51 +	[ "$(which kexec)" ] &&
    4.52 +	isbzImage &&
    4.53 +	echo -en "\"$2\"	\"$3\""
    4.54  }
    4.55  
    4.56  cdfilef()
    4.57 @@ -850,7 +865,7 @@
    4.58  
    4.59  dokexec()
    4.60  {
    4.61 -	kexec -l $file
    4.62 +	kexec -l $file || return
    4.63  	umount -d /media/cdrom
    4.64  	kexec -e
    4.65  }