first-run-wizard: Removed unneded sudo
[openpandora.oe.git] / recipes / pandora-system / pandora-first-run-wizard / first-run-wizard.sh
index a801e3f..3617f03 100755 (executable)
@@ -22,7 +22,11 @@ ERROR_WINDOW='zenity --title="Error" --error --text="Sorry! Please try again." -
 
 RESET_ROOT="yes"
 
-DISPLAY=:0 xset s off
+xset s off
+xset -dpms
+
+#Stop WiFi
+rmmod board_omap3pandora_wifi wl1251_sdio wl1251
 
 # Greet the user.
 
@@ -88,7 +92,7 @@ while ! username=$(zenity --title="Enter your username" --entry --text "Please c
        zenity --title="Error" --error --text="Please try again." --timeout 6
 done
 
-while ! useradd -c "$name,,," -G adm,audio,video,netdev,wheel,plugdev,users "$username" ; do
+while ! useradd -c "$name,,," -G adm,audio,cdrom,netdev,plugdev,users,video,wheel "$username" ; do
        username=$(zenity --title="Please check username" --entry --text "Please ensure that your username consists of only\nletters and numbers and is not already in use on the system." --entry-text "$username")
 done
 
@@ -203,16 +207,64 @@ echo $date
 time_h=`date +%H`
 time_m=`date +%M`
 
-while ! time=$(zenity --title="Enter current time" --entry --text "Please enter the time in 24hour format (HH:MM).\n\nThe screen might blank out after you changed the time.\nDon't panic. Simply press a button on the keyboard.\n" --entry-text "$time_h:$time_m") || [ "x$time" = "x" ] ; do
+while ! time=$(zenity --title="Enter current time" --entry --text "Please enter the time in 24hour format (HH:MM).\n" --entry-text "$time_h:$time_m") || [ "x$time" = "x" ] ; do
         zenity --title="Error" --error --text="Please input the time." --timeout 6
 done
 
 while ! date -d $time ; do
-       time=$(zenity --title="Enter current time" --entry --text "Please enter the time in 24hour format (HH:MM).\n\nThe screen might blank out after you changed the time.\nDon't panic. Simply press a button on the keyboard.\n" --entry-text "$time_h:$time_m")
+       time=$(zenity --title="Enter current time" --entry --text "Please enter the time in 24hour format (HH:MM).\n" --entry-text "$time_h:$time_m")
 done
  
 date +%Y%m%d -s $date
 date +%H:%M -s $time
+hwclock -u -w
+
+
+#Let's ask the user about clockspeed
+while ! cpusel=$(zenity --title="Optional settings" --width="400" --height="350" --list --column "id" --column "Please select" --hide-column=1 --text="The CPU of the Pandora supports different speed settings.\nHigher speeds might make some units unstable and decrease the lifetime of your CPU.\n\nBelow are some quick profiles which will help you to configure your system the way you like it.\n" "1100" "Clockspeed: 1,1Ghz, OPP5 (should be stable on 1GHz units)" "1000" "Clockspeed: 1GHz, OPP5 (most probably unstable on 600Mhz units)" "800" "Clockspeed: 800MHz, OPP5 (should be stable on all units)" "600" "Clockspeed: 600MHz, OPP3 (600 MHz units only)" --ok-label="Select CPU Profile" ); do
+    zenity --title="Error" --error --text="Please select your desired CPU Speed profile." --timeout=6
+done
+
+case $cpusel in
+  "1100")
+  echo 5 > /proc/pandora/cpu_opp_max
+  sed -i "s/.*maxopp.*/maxopp:5/g" /etc/pandora/conf/cpu.conf
+  sed -i "s/.*max:.*/max:1200/g" /etc/pandora/conf/cpu.conf
+  sed -i "s/.*default.*/default:1100/g" /etc/pandora/conf/cpu.conf
+  sed -i "s/.*safe.*/safe:1100/g" /etc/pandora/conf/cpu.conf
+  default_cpu=1100
+  ;;
+
+  "1000")
+  echo 5 > /proc/pandora/cpu_opp_max
+  sed -i "s/.*maxopp.*/maxopp:5/g" /etc/pandora/conf/cpu.conf
+  sed -i "s/.*max:.*/max:1100/g" /etc/pandora/conf/cpu.conf
+  sed -i "s/.*default.*/default:1000/g" /etc/pandora/conf/cpu.conf
+  sed -i "s/.*safe.*/safe:1000/g" /etc/pandora/conf/cpu.conf
+  default_cpu=1000
+  ;;
+
+  "800")
+  echo 5 > /proc/pandora/cpu_opp_max
+  sed -i "s/.*maxopp.*/maxopp:5/g" /etc/pandora/conf/cpu.conf
+  sed -i "s/.*max:.*/max:900/g" /etc/pandora/conf/cpu.conf
+  sed -i "s/.*default.*/default:800/g" /etc/pandora/conf/cpu.conf
+  sed -i "s/.*safe.*/safe:800/g" /etc/pandora/conf/cpu.conf
+  default_cpu=800
+  ;;
+
+
+
+  "600")
+  echo 3 > /proc/pandora/cpu_opp_max
+  sed -i "s/.*maxopp.*/maxopp:3/g" /etc/pandora/conf/cpu.conf
+  sed -i "s/.*max:.*/max:700/g" /etc/pandora/conf/cpu.conf
+  sed -i "s/.*default.*/default:600/g" /etc/pandora/conf/cpu.conf
+  sed -i "s/.*safe.*/safe:600/g" /etc/pandora/conf/cpu.conf
+  default_cpu=600
+  ;;
+
+esac
 
 # ----
 
@@ -229,6 +281,21 @@ update-rc.d -f blueprobe remove
 update-rc.d -f dropbear remove
 update-rc.d -f wl1251-init remove
 
+# prevent wifi from being autoloaded on later kernels, let wl1251-init script do it
+if ! grep -q 'blacklist wl1251_sdio' /etc/modprobe.conf 2> /dev/null; then
+  echo 'blacklist wl1251_sdio' >> /etc/modprobe.conf
+fi
+# we don't ship firmware for rtl8192cu, and it was reported not to work
+# with the right firmware anyway (not verified though)
+# vendor 8192cu is compiled instead for now
+if ! grep -q 'blacklist rtl8192cu' /etc/modprobe.conf 2> /dev/null; then
+  echo 'blacklist rtl8192cu' >> /etc/modprobe.conf
+fi
+
+# add Midi Module and zram
+echo snd-seq>>/etc/modules
+echo zram>>/etc/modules
+
 # get rid of some dirs in /media that OE creates but are unlikely to be used
 rmdir /media/card /media/cf /media/mmc1 /media/net /media/realroot /media/union 2> /dev/null
 
@@ -239,10 +306,21 @@ touch /etc/pandora/first-boot
 # Make the control file writeable by all to allow the user to delete to rerun the wizard on next boot.
 chmod 0666 /etc/pandora/first-boot
 
+if zenity --question --title="Calibrate Touchscreen" --text="It is recommended to calibrate the touchscreen to make sure it accurately works.\n\nIf you do so, you will see a moving crosshair.\nUse the stylus to press the crosshair as accurate as possible.\n\nYou can always (re-)calibrate it from the Settings-Menu later in the OS as well." --ok-label="Calibrate Touchscreen" --cancel-label="Don't calibrate it"; then
+  . /etc/profile
+  TSLIB_CONSOLEDEVICE=none op_runfbapp ts_calibrate
+  /usr/pandora/scripts/op_touchinit.sh
+while ! zenity --question --title="Check Calibration" --text="Your new calibration setting has been applied.\n\nPlease check if the touchscreen is now working properly.\nIf not, you might want to try a recalibration.\n\n(Hint: use the nubs to press the button if the touchscreen is way off)" --ok-label="The touchscreen is fine" --cancel-label="Recalibrate"; do
+      TSLIB_CONSOLEDEVICE=none op_runfbapp ts_calibrate
+  /usr/pandora/scripts/op_touchinit.sh  
+done
+fi
+
+
 
 # Let the user run optional config stuff.
 
-while mainsel=$(zenity --title="Optional settings" --width="400" --height="300" --list --column "id" --column "Please select" --hide-column=1 --text="This concludes the mandatory part of the First Boot Wizard.\n\nYou can now either continue to boot the system or change some more settings.\n\n\nThank you for buying the OpenPandora. Enjoy using the device." "speed" "CPU-Speed and Overclocking-Settings" "startup" "Startup-Settings" "lcd" "LCD-Settings" --ok-label="Change selected Setting" --cancel-label="Continue to Boot"); do
+while mainsel=$(zenity --title="Optional settings" --width="400" --height="300" --list --column "id" --column "Please select" --hide-column=1 --text="This concludes the mandatory part of the First Boot Wizard.\n\nYou can now either continue to boot the system or change some more settings.\n\n\nThank you for buying the OpenPandora. Enjoy using the device." "speed" "Advanced CPU-Speed and Overclocking-Settings" "startup" "Advanced Startup-Settings" "lcd" "LCD-Settings" --ok-label="Change selected Setting" --cancel-label="Finish Setup"); do
 
 case $mainsel in
   "speed")
@@ -260,7 +338,6 @@ case $mainsel in
 
 esac
 done
-
 # ----