X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=install%2Fscripts%2F1-install;h=44d899b032724f8e17a5059856e5211574e2d5e4;hb=a1e54494eb9acb2d467432f93ca5c206cd6aebff;hp=f5d5c62430d5dc756626887bc427ac847db238a4;hpb=7fe5e79c933d03faa5a2bdece15016a483f55885;p=android-x86%2Fbootable-newinstaller.git diff --git a/install/scripts/1-install b/install/scripts/1-install index f5d5c62..44d899b 100644 --- a/install/scripts/1-install +++ b/install/scripts/1-install @@ -171,7 +171,7 @@ select_dev() for i in /sys/block/$d/$d*; do [ -d $i ] || continue echo $i | grep -qE "loop|ram|sr|boot|rpmb" && continue - f=$(grep "`basename $i`" $tempfile || printf "%-11s%-29s" `basename $i` unknown) + f=$(grep "`basename $i`" $tempfile || printf "%-11s%-30s" `basename $i` unknown) sz=$(size_gb $i) [ "$sz" = "0.00GB" ] || printf "$f%10s\n" $sz done @@ -208,7 +208,7 @@ convert_fs() format_fs() { local cmd - echo -e '"Do not format" ""\next4 ""\nntfs ""\nfat32 ""' > $menufile + echo -e '"Do not re-format" ""\next4 ""\nntfs ""\nfat32 ""' > $menufile set_answer_if_auto $FORCE_FORMAT choose "Choose filesystem" "Please select a filesystem to format $1:" case "$choice" in @@ -331,26 +331,34 @@ create_data_img() try_upgrade() { [ -d $1 ] && return - PREV_VERS="$PREV_VERS 7.1-r2 7.1-r1 7.1-rc2 7.1-rc1 6.0-r3 6.0-r2 6.0-r1 6.0-rc2 6.0-rc1 5.1-rc1 4.4-r5 4.4-r4 4.4-r3 4.4-r2 4.4-r1 4.4-RC2 4.4-RC1 4.4-test 4.3-test 4.2-test 4.0-r1 4.0-RC2 4.0-RC1" - for v in $PREV_VERS; do - local prev - if [ -d hd/$v ]; then - prev=hd/$v - elif [ -d hd/android-$v ]; then - prev=hd/android-$v - else - continue - fi + + for d in hd/*; do + [ -e "$d"/ramdisk.img -a -n "`ls "$d"/system* 2> /dev/null`" ] && echo \"`basename $d`\" \"\" + done | sort -r > $menufile + + count=`wc -l < $menufile` + if [ $count -gt 1 ]; then + echo -e '"" ""\n"Install to new folder '`basename $1`'" ""' >> $menufile + choose "Multiple older versions are found" "Please select one to upgrade:" + elif [ $count -eq 1 ]; then + eval choice=`awk '{ print $1 }' $menufile` set_answer_if_auto 1 adialog --title " Question " --yesno \ - "\nAn older version $v is detected.\nWould you like to upgrade it?" 8 51 - if [ $? -eq 0 ]; then + "\nAn older version $choice is detected.\nWould you like to upgrade it?" 8 61 + [ $? -eq 0 ] || choice= + fi + + if [ -n "$choice" ]; then + prev=hd/$choice + if [ -d "$prev" ]; then mv $prev $1 + for d in `find hd -type l -maxdepth 1`; do + [ "`readlink $d`" = "$choice" ] && ln -sf `basename $1` $d + done rm -rf $1/data/dalvik-cache/* $1/data/system/wpa_supplicant - sed -i 's/\(ctrl_interface=\)\(.*\)/\1wlan0/' $1/data/misc/wifi/wpa_supplicant.conf - break + [ -s $1/data/misc/wifi/wpa_supplicant.conf ] && sed -i 's/\(ctrl_interface=\)\(.*\)/\1wlan0/' $1/data/misc/wifi/wpa_supplicant.conf fi - done + fi } get_part_info() @@ -432,7 +440,7 @@ install_to() done if [ -z "$esp" ]; then get_part_info $1 - boot=$(blkid /dev/$disk* | grep vfat | cut -d: -f1 | head -1) + boot=$(blkid /dev/$disk* | grep -v $disk: | grep vfat | cut -d: -f1 | head -1) [ -z "$boot" ] && boot=`find_partition $disk 1` || boot=`basename $boot` esp=`cat /sys/block/$disk/$boot/partition` fi @@ -471,6 +479,10 @@ install_to() echo -e "set kdir=/$asrc" >> $grubcfg fi echo -e '\nsource $cmdpath/android.cfg' >> $grubcfg + if [ -d src/boot/grub/theme ]; then + cp -R src/boot/grub/[ft]* efi/boot/grub + find efi/boot/grub -name TRANS.TBL -delete + fi # Checking for old EFI entries, removing them and adding new depending on bitness efibootmgr | grep -Eo ".{0,6}Android-x86" | cut -c1-4 > /tmp/efientries @@ -488,7 +500,10 @@ install_to() fi fi - set_answer_if_auto 0 + try_upgrade hd/$asrc + + ! test -f hd/$asrc/system.img -o -d hd/$asrc/system + set_answer_if_auto $? adialog --title " Question " --defaultno --yesno \ "\nDo you want to install /system directory as read-write?\n\nMaking /system be read-write is easier for debugging, but it needs more disk space and longer installation time." 10 61 if [ $? -eq 0 -a -e /sfs/system.img ]; then @@ -501,7 +516,7 @@ install_to() for s in `du -sk $files | awk '{print $1}'`; do size=$(($size+$s)) done - try_upgrade hd/$asrc + mkdir -p hd/$asrc cd hd/$asrc rm -rf system*