tazlito rev 502

Do not scan FS0: only for UEFI boot
author Pascal Bellard <pascal.bellard@slitaz.org>
date Wed May 23 22:58:25 2018 +0200 (2018-05-23)
parents 42bc92a7487a
children 8ebd772b1e4d
files tazlito
line diff
     1.1 --- a/tazlito	Sun May 20 13:25:56 2018 +0200
     1.2 +++ b/tazlito	Wed May 23 22:58:25 2018 +0200
     1.3 @@ -479,14 +479,26 @@
     1.4  		   [ $(get $((0x82)) "$1") == $((0x4550)) ]; then
     1.5  			mkdir -p $basedir/efi/boot 2> /dev/null
     1.6  			for i in "$1" $basedir/boot/rootfs* ; do
     1.7 -				ln "$i" $basedir/efi/boot/
     1.8 +				ln "$i" $basedir/efi/boot/ &&
     1.9  				stat -c "%s %n" "$i"
    1.10  			done 2> /dev/null
    1.11 -			cat >> $basedir/efi/boot/startup.nsh <<EOT
    1.12 -FS0:\\EFI\\BOOT\\$(basename $1) rw root=0x100 autologin\
    1.13 +			efilinux="/EFI/BOOT/$(basename $1)"
    1.14 +			eficmdline="$efilinux rw root=0x100 autologin\
    1.15  $( ( cd $basedir/efi/boot ; ls -r rootfs*gz ) | while read f ; do \
    1.16  [ "$efifile" == "bootx64.efi" -a -s $basedir/efi/boot/${f}64 ] && \
    1.17 -f=${f}64; echo -n " initrd=/EFI/BOOT/$f";done)
    1.18 +f=${f}64; echo -n " initrd=/EFI/BOOT/$f";done)"
    1.19 +			sed 's|/|\\|g' >> $basedir/efi/boot/startup.nsh <<EOT
    1.20 +for %i run (1 10)
    1.21 +  set -v num %i
    1.22 +  if exist FS%num%:$efilinux then
    1.23 +    FS%num%:
    1.24 +    $eficmdline
    1.25 +  endif
    1.26 +endfor
    1.27 +if exist FS0:$efilinux then
    1.28 +  FS0:
    1.29 +  $eficmdline
    1.30 +endif
    1.31  EOT
    1.32  		fi
    1.33  		shift