Advertisement
Guest User

Untitled

a guest
May 28th, 2012
41
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.49 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. countdown=5
  4.  
  5. default=0
  6.  
  7. title[0]="Arch Linux"
  8. kernel[0]="ArchLinux.image"
  9. cmdline[0]="root=/dev/mmcblk0p2 rootfstype=ext3 rootwait"
  10.  
  11. title[1]="OpenELEC"
  12. kernel[1]="OpenELEC.image"
  13. cmdline[1]="root=/dev/ram0 rdinit=/init boot=/dev/mmcblk0p1 disk=/dev/mmcblk0p3 ssh debugging"
  14.  
  15. title[2]="Debian"
  16. kernel[2]="ArchLinux.image"
  17. cmdline[2]="root=/dev/mmcblk0p4 rootfstype=ext4 rootwait"
  18.  
  19. title[3]="USB (sda1)"
  20. kernel[3]="ArchLinux.image"
  21. cmdline[3]="root=/dev/sda1 rootwait"
  22.  
  23. version=0.1
  24.  
  25. tempfile=$( tempfile 2>/dev/null ) || tempfile=/tmp/choice$$
  26. trap "rm -f $tempfile" 0 1 2 5 15
  27.  
  28. echo "4 1 1 7" > /proc/sys/kernel/printk
  29. dialog --backtitle "XECLoader $version" --pause "Starting ${title[$default]}... \nPress Ok to start now.\nPress Cancel to select." 10 40 $countdown
  30.  
  31. if [ $? -eq 0 ]; then
  32. clear
  33. kexec -l "/mnt/kernels/${kernel[$default]}" --command-line="$( cat /proc/cmdline ) ${cmdline[$default]}"
  34. kexec -e
  35. else
  36. for (( i=0; i<${#title[@]}; i++ )); do
  37. options[2*i]=$i
  38. options[2*i+1]="${title[$i]}"
  39. done
  40. dialog --backtitle "XECLoader $version" --menu "Select system or cancel to launch a shell." 20 50 20 "${options[@]}" 2> $tempfile
  41. if [ $? -eq 0 ]; then
  42. dialog --backtitle "XECLoader $version" --infobox "Starting ${title[$( cat $tempfile )]}..." 4 40;
  43. kexec -l "/mnt/kernels/${kernel[$( cat $tempfile )]}" --command-line="$( cat /proc/cmdline ) ${cmdline[$( cat $tempfile )]}"
  44. rm $tempfile
  45. kexec -e
  46. else
  47. /bin/bash
  48. fi
  49. fi
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement