blob: 5be3195ce203c02498815202c6c787cb81606672 (
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
|
#!/bin/bash
source /root/session-common.sh.inc
# prompt for hostname
hostname=$( WizardDlg "${TR[menu_config-${TR_KEY}]}" \
--inputbox "${TR[hostname-${TR_KEY}]}" 8 40 )
echo ${hostname} > /etc/hostname
# prompt for timezone
timezone=$( WizardDlg "${TR[menu_config-${TR_KEY}]}" \
--inputbox "${TR[timezone-${TR_KEY}]}" 8 40 )
ln -s /usr/share/zoneinfo/${timezone} /etc/localtime
# prompt for keymap
live_keymap=$(GetStateVar 'XKBMAP' 'us')
keymaps=()
for keymap in $(cat "${WIZARD_DIR}"/KEYMAPS_VT)
do selected_state=$( [[ ${keymap} =~ ^${live_keymap} ]] && echo 'on' || echo 'off' )
keymaps+=( "${keymap}" "${keymap}" ${selected_state} )
done
keymap=$( WizardDlg "${TR[menu_config-${TR_KEY}]}" \
--radiolist "${TR[keymap-${TR_KEY}]}" 20 70 50 \
"${keymaps[@]}" )
echo "KEYMAP=${keymap}" > /etc/vconsole.conf
# prompt for locale
all_locales=$( sed -e '1,23d' -e 's/#//g' -e 's/ /#/g' -e 's/..$//' /etc/locale.gen )
live_locale=$( GetStateVar 'LANG' 'en_US' )
locales=()
for locale in ${all_locales}
do locale=$(echo ${locale} | sed -e 's/#/ /g')
selected_state=$( [[ ${locale} =~ ^${live_locale} ]] && echo 'on' || echo 'off' )
locales+=( "${locale}" "${locale}" ${selected_state} )
done
locales=$( WizardDlg "${TR[menu_config-${TR_KEY}]}" \
--checklist "${TR[locales-${TR_KEY}]}" 20 70 50 \
"${locales[@]}" )
locales=$(echo ${locales} | sed -e 's/" "/\n/g' -e 's/ /#/g' -e 's/"//g')
for locale in ${locales[@]}
do locale=$(echo ${locale} | sed -e 's/#/ /g')
sed -i -e "s/#${locale}/${locale}/g" /etc/locale.gen
done
locale-gen
# prompt for language
live_language=$(GetStateVar 'LANG' 'en_US.UTF-8')
language=()
while read language
do selected_state=$( [[ ${language} =~ ^${live_language} ]] && echo 'on' || echo 'off' )
languages+=( "${language% *}" "${language#*\ }" ${selected_state} )
done << <(cat "${WIZARD_DIR}"/LANGUAGES)
language=$( WizardDlg "${TR[menu_config-${TR_KEY}]}" \
--radiolist "${TR[language-${TR_KEY}]}" 20 70 50 \
"${languages[@]}" )
echo "LANG=${language}" > /etc/locale.conf
# prepare initrd and GRUB
mkinitcpio -p linux-libre
device=$(GetStateVar 'DEVICE')
which grub-install &> /dev/null && grub-install ${device}
which grub-mkconfig &> /dev/null && grub-mkconfig -o /boot/grub/grub.cfg
# initialize root user
pass='changeme' pass2=''
while [[ "$pass" != "$pass2" ]]
do pass=$( WizardDlg "${TR[menu_config-${TR_KEY}]}" \
--passwordbox "${TR[root_pass-${TR_KEY}]}" 8 40 )
pass2=$( WizardDlg "${TR[menu_config-${TR_KEY}]}" \
--passwordbox "${TR[root_pass2-${TR_KEY}]}" 8 40 )
done
usermod -p $(openssl passwd ${pass}) root
exit
|