#
# By Chih-Wei Huang <cwhuang@linux.org.tw>
-# Last updated 2010/12/23
+# Last updated 2012/07/07
#
# License: GNU Public License
# We explicitely grant the right to use the scripts
{
menulst=/hd/grub/menu.lst
[ -n "$VESA" ] && vga=" vga=788 modeset=0"
- echo -e "default=0\ntimeout=6\nroot (hd0,$1)\nsplashimage=/grub/android-x86.xpm.gz\n" > $menulst
+ echo -e "${GRUB_OPTIONS:-default=0\ntimeout=6\nsplashimage=/grub/android-x86.xpm.gz\n}root (hd0,$1)\n" > $menulst
cmdline=`cat /proc/cmdline | sed "s|\(initrd.*img\s*\)||; s|quiet\s*||; s|\(vga=\w\+\?\s*\)||; s|\(DPI=\w\+\?\s*\)||; s|\(INSTALL=\w\+\?\s*\)||; s|\(SRC=\S\+\?\s*\)||; s|\(DEBUG=\w\+\?\s*\)||; s|\(BOOT_IMAGE.*\)||"`
- if grep -q ^ro.sf.lcd_density /android/default.prop /android/system/build.prop; then
- create_entry "Android-x86 $VER" quiet $cmdline
- else
- create_entry "Android-x86 $VER (HDPI)" quiet $cmdline DPI=240
- create_entry "Android-x86 $VER (MDPI)" quiet $cmdline DPI=160
- fi
- create_entry "Android-x86 $VER (Debug mode)" $cmdline DEBUG=1
+ create_entry "Android-x86 $VER" quiet $cmdline
+ create_entry "Android-x86 $VER (Debug mode)" $cmdline DEBUG=2
+ create_entry "Android-x86 $VER (Debug nomodeset)" nomodeset $cmdline DEBUG=2
+ create_entry "Android-x86 $VER (Debug video=LVDS-1:d)" video=LVDS-1:d $cmdline DEBUG=2
}
create_winitem()
{
bname=`basename $2`
if [ -e $2 ]; then
- dialog --title " Confirm " --yesno \
+ dialog --title " Confirm " --defaultno --yesno \
"\n $bname exists. Overwrite it?" 7 38
[ $? -ne 0 ] && return 255
rm -f $2
losetup /dev/loop6 data.img
mke2fs -jL /data /dev/loop6 > /dev/tty6
fi
+ [ $? -ne 0 ] && dialog --msgbox "\n Failed to create data.img." 7 33
else
dialog --title " Warning " --msgbox \
"\nOK. So data will be save to a RAMDISK(tmpfs), and lose after power off." 8 49
fi
}
-create_sdcard_img()
-{
- case "$fs" in
- vfat|fuseblk)
- mkdir sd
- sdcard=sd/sdcard.img
- ;;
- *)
- sdcard=data/sdcard.img
- ;;
- esac
-
- if create_img 2047 $sdcard; then
- losetup /dev/loop7 $sdcard
- newfs_msdos -L sdcard /dev/loop7 > /dev/tty7 2>&1
- fi
- cd /
- sed -i "s|\(SDCARD=\S\+\?\s*\)||; s|\(SRC=\S\+\?\s*\)|\1 SDCARD=/$sdcard|" $menulst
- dialog --ok-label Reboot --msgbox "\n The fake SD card is created successfully." 7 47
-}
-
install_to()
{
cd /
fs=`cat /proc/mounts | grep /dev/$1 | awk '{ print $3 }'`
asrc=android-$VER
- dialog --title " Confirm " --no-label Skip --yesno \
+ dialog --title " Confirm " --no-label Skip --defaultno --yesno \
"\n Do you want to install boot loader GRUB?" 7 47
if [ $? -eq 0 ]; then
cp -af /grub /hd
[ $? -ne 0 ] && return 255
fi
- [ "$fs" != "vfat" ] && dialog --title " Question " --defaultno --yesno \
- "\nDo you want to install /system directory as read-write?\n\nLet /system be read-write make it easier to debug, but it needs more disk space and longer installation time." 10 61
+ [ "$fs" != "vfat" -a "$fs" != "fuseblk" ] && dialog --title " Question " --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
instal_rw=$?
files="mnt/$SRC/kernel mnt/$SRC/initrd.img mnt/$SRC/ramdisk.img"
rm -rf system*
( ( cd /; find $files | $CPIO -H newc -o ) | pv -ns ${size}k | ( $CPIO -iud > /dev/null; echo $? > /tmp/result )) 2>&1 \
| progress_bar "Installing Android-x86" "Expect to write $size KB..."
+ result=$((`cat /tmp/result`*255))
- chmod 644 *
- chown 0.0 *
- mv mnt/$SRC/* . && rm -rf mnt
- [ -d android ] && mv android/* . && rmdir android
+ if [ $result -eq 0 ]; then
+ chmod 644 *
+ chown 0.0 *
+ mv mnt/$SRC/* . && rm -rf mnt
+ [ -d android ] && mv android/* . && rmdir android
- case "$fs" in
- vfat|fuseblk)
- create_data_img
- ;;
- *)
- mkdir data
- ;;
- esac
+ case "$fs" in
+ vfat|fuseblk)
+ create_data_img
+ ;;
+ *)
+ mkdir data
+ ;;
+ esac
+ fi
sync
- return $((`cat /tmp/result`*255))
+ return $result
}
install_hd()
{
- mdev -s
select_dev || rebooting
retval=1
case "$choice" in
until install_hd; do
if [ $retval -eq 255 ]; then
dialog --title ' Error! ' --yes-label Retry --no-label Reboot \
- --yesno '\n Installation failed!' 7 35
+ --yesno '\nInstallation failed! Please check if you have enough free disk space to install Android-x86.' 8 51
[ $? -eq 1 ] && rebooting
fi
done
[ -n "$VESA" ] || runit="Run Android-x86"
dialog --clear --title ' Congratulations! ' \
- --menu "\n Android-x86 is installed successfully.\n " 12 51 13 \
- "$runit" "" "Create a fake SD card" "" "Reboot" "" 2> $tempfile
+ --menu "\n Android-x86 is installed successfully.\n " 11 51 13 \
+ "$runit" "" "Reboot" "" 2> $tempfile
case "`cat $tempfile`" in
Run*)
cd /android
mount -o loop /hd/$asrc/data.img data
fi
;;
- Create*)
- create_sdcard_img
- rebooting
- ;;
*)
rebooting
;;