blob: cca2930682a7102a6d6edd79082e9b73b114366d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
|
#!/bin/sh
TARGET_DIR="/mnt"
EDITOR=
# clock
HARDWARECLOCK=
TIMEZONE=
# partitions
PART_ROOT=
# default filesystem specs (the + is bootable flag)
# <mountpoint>:<partsize>:<fstype>[:+]
DEFAULTFS="/boot:32:ext2:+ swap:256:swap /:7500:ext3 /home:*:ext3"
# install stages
S_SRC=0 # choose install medium
S_NET=0 # network configuration
S_CLOCK=0 # clock and timezone
S_PART=0 # partitioning
S_MKFS=0 # formatting
S_MKFSAUTO=0 # auto fs part/formatting TODO: kill this
S_SELECT=0 # package selection
S_INSTALL=0 # package installation
S_CONFIG=0 # configuration editing
S_GRUB=0 # TODO: kill this - if using grub
S_BOOT="" # bootloader installed (set to loader name instead of 1)
DIALOG --infobox "Generating GRUB device map...\nThis could take a while.\n\n Please be patient." 0 0
get_grub_map
mainmenu()
{
if [ -n "$NEXTITEM" ]; then
DEFAULT="--default-item $NEXTITEM"
else
DEFAULT=""
fi
DIALOG $DEFAULT --title " MAIN MENU " \
--menu "Use the UP and DOWN arrows to navigate menus. Use TAB to switch between buttons and ENTER to select." 16 55 8 \
"0" "Select Source" \
"1" "Set Clock" \
"2" "Prepare Hard Drive" \
"3" "Select Packages" \
"4" "Install Packages" \
"5" "Configure System" \
"6" "Install Bootloader" \
"7" "Exit Install" 2>$ANSWER
NEXTITEM="$(cat $ANSWER)"
case $(cat $ANSWER) in
"0")
select_source ;;
"1")
set_clock ;;
"2")
prepare_harddrive ;;
"3")
select_packages ;;
"4")
installpkg ;;
"5")
configure_system ;;
"6")
install_bootloader ;;
"7")
echo ""
echo "If the install finished successfully, you can now type 'reboot'"
echo "to restart the system."
echo ""
exit 0 ;;
*)
DIALOG --yesno "Abort Installation?" 6 40 && exit 0
;;
esac
}
partition() {
if [ "$S_MKFSAUTO" = "1" ]; then
DIALOG --msgbox "You have already prepared your filesystems with Auto-prepare" 0 0
return 0
fi
_umountall
# Select disk to partition
DISCS=$(finddisks _)
DISCS="$DISCS OTHER - DONE +"
DIALOG --msgbox "Available Disks:\n\n$(_getavaildisks)\n" 0 0
DISC=""
while true; do
# Prompt the user with a list of known disks
DIALOG --menu "Select the disk you want to partition (select DONE when finished)" 14 55 7 $DISCS 2>$ANSWER || return 1
DISC=$(cat $ANSWER)
if [ "$DISC" = "OTHER" ]; then
DIALOG --inputbox "Enter the full path to the device you wish to partition" 8 65 "/dev/sda" 2>$ANSWER || return 1
DISC=$(cat $ANSWER)
fi
# Leave our loop if the user is done partitioning
[ "$DISC" = "DONE" ] && break
# Partition disc
DIALOG --msgbox "Now you'll be put into the cfdisk program where you can partition your hard drive. You should make a swap partition and as many data partitions as you will need. NOTE: cfdisk may ttell you to reboot after creating partitions. If you need to reboot, just re-enter this install program, skip this step and go on to step 2." 18 70
cfdisk $DISC
done
S_PART=1
}
#####################
## begin execution ##
DIALOG --msgbox "Welcome to the Arch Linux Installation program. The install \
process is fairly straightforward, and you should run through the options in \
the order they are presented. If you are unfamiliar with partitioning/making \
filesystems, you may want to consult some documentation before continuing. \
You can view all output from commands by viewing your VC7 console (ALT-F7). \
ALT-F1 will bring you back here." 14 65
while true; do
mainmenu
done
exit 0
|