summaryrefslogtreecommitdiff
path: root/configs/profile/root-image/root/.session/install/chroot-environment.sh
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