Use mhwd to install kernels and drivers, preliminary testing.

merge-requests/273/head
Chrysostomus 8 years ago
parent 6f6fed2106
commit 6a77903199

10
TODO

@ -6,11 +6,9 @@
3. Amend package choice function (install_de_wm function, lines 2069-2145)
to install manjaro edition package lists and desktop-settings packages.
- Otherwise produced installations do not really resemble manjaro editions
4. Make user creation and password setting part of the installer
4. Add support for btrfs submodules
- use code from manjaro cli-installer
5. Add support for btrfs submodules
- use code from manjaro cli-installer
6. Generate a proper fstab, even though system seems to boot fine without one.
7. Add option to choose default shell
8. Add support for openrc installations
5. Add option to choose default shell?
- use code from arch-anywhere
6. Add support for openrc installations
- I leave it to someone who actually uses openrc

118
aif

@ -4,11 +4,13 @@
#
# Written by Carl Duff for Architect Linux
#
# Modified by Chrysostomus to install manjaro instead
#
# This program is free software, provided under the GNU General Public License
# as published by the Free Software Foundation. So feel free to copy, distribute,
# or modify it as you wish.
#
#
######################################################################
@ -1509,7 +1511,7 @@ install_base() {
BTRF_CHECK=$(echo "btrfs-progs" "-" off)
F2FS_CHECK=$(echo "f2fs-tools" "-" off)
KERNEL="n"
kernels="linux-lts linux-grsec linux-zen"
kernels="linux-rt-lts-manjaro linux410 linux-rt-manjaro"
# User to select "standard" or "advanced" installation Method
dialog --backtitle "$VERSION - $SYSTEM ($ARCHI)" --title " $_InstBseTitle " --menu "$_InstBseBody" 0 0 2 \
@ -1520,8 +1522,8 @@ install_base() {
if [[ $(cat ${ANSWER}) -eq 1 ]]; then
dialog --backtitle "$VERSION - $SYSTEM ($ARCHI)" --title " $_InstBseTitle " --checklist "$_InstStandBseBody$_UseSpaceBar" 0 0 3 \
"linux" "-" on \
"linux-lts" "-" off \
"linux49" "-" on \
"linux-rt-lts-manjaro" "-" off \
"base-devel" "-" on 2>${PACKAGES}
# "Advanced" installation method
@ -1544,10 +1546,10 @@ install_base() {
done
dialog --backtitle "$VERSION - $SYSTEM ($ARCHI)" --title " $_InstBseTitle " --checklist "$_InstAdvBseBody $_UseSpaceBar" 0 0 20 \
"linux" "-" on \
"linux-lts" "-" off \
"linux-grsec" "-" off \
"linux-zen" "-" off \
"linux49" "-" on \
"linux-rt-lts-manjaro" "-" off \
"linux-rt-manjaro" "-" off \
"linux-linux410" "-" off \
$PKG_LIST $BTRF_CHECK $F2FS_CHECK 2>${PACKAGES}
fi
@ -1579,7 +1581,10 @@ install_base() {
[[ $(cat ${ANSWER}) -eq 1 ]] && basestrap ${MOUNTPOINT} $(pacman -Sqg base | sed 's/linux//' | sed 's/util-/util-linux/') $(cat ${PACKAGES}) btrfs-progs f2fs-tools sudo 2>/tmp/.errlog
[[ $(cat ${ANSWER}) -eq 2 ]] && basestrap ${MOUNTPOINT} $(cat ${PACKAGES}) 2>/tmp/.errlog
check_for_error
# Use mhwd to install selected kernels with right kernel modules
# This is as of yet untested
arch_chroot "mhwd-kernel -i $(cat ${PACKAGES} | grep "^linux" | grep -v '-')" 2>/tmp/.errlog
check_for_error
# If the virtual console has been set, then copy config file to installation
[[ -e /tmp/vconsole.conf ]] && cp -f /tmp/vconsole.conf ${MOUNTPOINT}/etc/vconsole.conf 2>/tmp/.errlog
# If specified, copy over the pacman.conf file to the installation
@ -1886,6 +1891,17 @@ install_xorg_input() {
setup_graphics_card() {
# Save repetition
install_free(){
arch_chroot "mhwd -a pci free 0300" 2>/tmp/.errlog
}
install_nonfree(){
arch_chroot "mhwd -a pci nonfree 0300" 2>/tmp/.errlog
}
install_intel(){
basestrap ${MOUNTPOINT} xf86-video-intel libva-intel-driver intel-ucode 2>/tmp/.errlog
@ -1948,76 +1964,87 @@ install_ati(){
dialog --default-item ${HIGHLIGHT_SUB_GC} --backtitle "$VERSION - $SYSTEM ($ARCHI)" --title " $_GCtitle " \
--menu "$GRAPHIC_CARD\n" 0 0 10 \
"1" $"xf86-video-ati" \
"2" $"xf86-video-intel" \
"3" $"xf86-video-nouveau (+ $INTEGRATED_GC)" \
"4" $"Nvidia (+ $INTEGRATED_GC)" \
"5" $"Nvidia-340xx (+ $INTEGRATED_GC)" \
"6" $"Nvidia-304xx (+ $INTEGRATED_GC)" \
"7" $"xf86-video-openchrome" \
"8" $"virtualbox-guest-dkms" \
"9" $"xf86-video-vmware" \
"10" "$_GCUnknOpt / xf86-video-fbdev" 2>${ANSWER}
"1" $"Automatically install free drivers" \
"2" $"Automatically install proprietary drivers" \
"3" $"xf86-video-ati" \
"4" $"xf86-video-intel" \
"5" $"xf86-video-nouveau (+ $INTEGRATED_GC)" \
"6" $"Nvidia (+ $INTEGRATED_GC)" \
"7" $"Nvidia-340xx (+ $INTEGRATED_GC)" \
"8" $"Nvidia-304xx (+ $INTEGRATED_GC)" \
"9" $"xf86-video-openchrome" \
"10" $"virtualbox-guest-dkms" \
"11" $"xf86-video-vmware" \
"12" "$_GCUnknOpt / xf86-video-fbdev" 2>${ANSWER}
case $(cat ${ANSWER}) in
"1") # ATI/AMD
"1") # Install free drivers with mhwd
install_free
;;
"2") # install nonfree drivers with mhwd
install_nonfree
;;
"3") # ATI/AMD
install_ati
;;
"2") # Intel
"4") # Intel
install_intel
;;
"3") # Nouveau / NVIDIA
"5") # Nouveau / NVIDIA
[[ $INTEGRATED_GC == "ATI" ]] && install_ati || install_intel
basestrap ${MOUNTPOINT} xf86-video-nouveau 2>/tmp/.errlog
sed -i 's/MODULES=""/MODULES="nouveau"/' ${MOUNTPOINT}/etc/mkinitcpio.conf
;;
"4") # NVIDIA-GF
"6") # NVIDIA-GF
[[ $INTEGRATED_GC == "ATI" ]] && install_ati || install_intel
arch_chroot "pacman -Rdds --noconfirm mesa-libgl mesa"
# Set NVIDIA driver(s) to install depending on installed kernel(s)
([[ -e ${MOUNTPOINT}/boot/initramfs-linux.img ]] || [[ -e ${MOUNTPOINT}/boot/initramfs-linux-grsec.img ]] || [[ -e ${MOUNTPOINT}/boot/initramfs-linux-zen.img ]]) && NVIDIA="nvidia"
[[ -e ${MOUNTPOINT}/boot/initramfs-linux-lts.img ]] && NVIDIA="$NVIDIA nvidia-lts"
# ([[ -e ${MOUNTPOINT}/boot/initramfs-linux.img ]] || [[ -e ${MOUNTPOINT}/boot/initramfs-linux-grsec.img ]] || [[ -e ${MOUNTPOINT}/boot/initramfs-linux-zen.img ]]) && NVIDIA="nvidia"
# [[ -e ${MOUNTPOINT}/boot/initramfs-linux-lts.img ]] && NVIDIA="$NVIDIA nvidia-lts"
install_nonfree
clear
basestrap ${MOUNTPOINT} ${NVIDIA} nvidia-libgl nvidia-utils pangox-compat nvidia-settings 2>/tmp/.errlog
# basestrap ${MOUNTPOINT} ${NVIDIA} nvidia-libgl nvidia-utils pangox-compat nvidia-settings 2>/tmp/.errlog
NVIDIA_INST=1
;;
"5") # NVIDIA-340
"7") # NVIDIA-340
[[ $INTEGRATED_GC == "ATI" ]] && install_ati || install_intel
arch_chroot "pacman -Rdds --noconfirm mesa-libgl mesa"
install_nonfree
# Set NVIDIA driver(s) to install depending on installed kernel(s)
([[ -e ${MOUNTPOINT}/boot/initramfs-linux.img ]] || [[ -e ${MOUNTPOINT}/boot/initramfs-linux-grsec.img ]] || [[ -e ${MOUNTPOINT}/boot/initramfs-linux-zen.img ]]) && NVIDIA="nvidia-340xx"
[[ -e ${MOUNTPOINT}/boot/initramfs-linux-lts.img ]] && NVIDIA="$NVIDIA nvidia-340xx-lts"
# ([[ -e ${MOUNTPOINT}/boot/initramfs-linux.img ]] || [[ -e ${MOUNTPOINT}/boot/initramfs-linux-grsec.img ]] || [[ -e ${MOUNTPOINT}/boot/initramfs-linux-zen.img ]]) && NVIDIA="nvidia-340xx"
# [[ -e ${MOUNTPOINT}/boot/initramfs-linux-lts.img ]] && NVIDIA="$NVIDIA nvidia-340xx-lts"
clear
basestrap ${MOUNTPOINT} ${NVIDIA} nvidia-340xx-libgl nvidia-340xx-utils nvidia-settings 2>/tmp/.errlog
# basestrap ${MOUNTPOINT} ${NVIDIA} nvidia-340xx-libgl nvidia-340xx-utils nvidia-settings 2>/tmp/.errlog
install_nonfree
NVIDIA_INST=1
;;
"6") # NVIDIA-304
"8") # NVIDIA-304
[[ $INTEGRATED_GC == "ATI" ]] && install_ati || install_intel
arch_chroot "pacman -Rdds --noconfirm mesa-libgl mesa"
# Set NVIDIA driver(s) to install depending on installed kernel(s)
([[ -e ${MOUNTPOINT}/boot/initramfs-linux.img ]] || [[ -e ${MOUNTPOINT}/boot/initramfs-linux-grsec.img ]] || [[ -e ${MOUNTPOINT}/boot/initramfs-linux-zen.img ]]) && NVIDIA="nvidia-304xx"
[[ -e ${MOUNTPOINT}/boot/initramfs-linux-lts.img ]] && NVIDIA="$NVIDIA nvidia-304xx-lts"
# Set NVIDIA driarch_chroot "mhwd -a pci nonfree 0300" 2>/tmp/.errlogver(s) to install depending on installed kernel(s)
# ([[ -e ${MOUNTPOINT}/boot/initramfs-linux.img ]] || [[ -e ${MOUNTPOINT}/boot/initramfs-linux-grsec.img ]] || [[ -e ${MOUNTPOINT}/boot/initramfs-linux-zen.img ]]) && NVIDIA="nvidia-304xx"
# [[ -e ${MOUNTPOINT}/boot/initramfs-linux-lts.img ]] && NVIDIA="$NVIDIA nvidia-304xx-lts"
clear
basestrap ${MOUNTPOINT} ${NVIDIA} nvidia-304xx-libgl nvidia-304xx-utils nvidia-settings 2>/tmp/.errlog
# basestrap ${MOUNTPOINT} ${NVIDIA} nvidia-304xx-libgl nvidia-304xx-utils nvidia-settings 2>/tmp/.errlog
install_nonfree
NVIDIA_INST=1
;;
"7") # Via
"9") # Via
basestrap ${MOUNTPOINT} xf86-video-openchrome 2>/tmp/.errlog
;;
"8") # VirtualBox
"10") # VirtualBox linux-rt-lts-manjaro linux410 linux-rt-manjaro
# Set VB headers to install depending on installed kernel(s)
[[ -e ${MOUNTPOINT}/boot/initramfs-linux.img ]] && VB_MOD="linux-headers"
[[ -e ${MOUNTPOINT}/boot/initramfs-linux-grsec.img ]] && VB_MOD="$VB_MOD linux-grsec-headers"
[[ -e ${MOUNTPOINT}/boot/initramfs-linux-zen.img ]] && VB_MOD="$VB_MOD linux-zen-headers"
[[ -e ${MOUNTPOINT}/boot/initramfs-linux-lts.img ]] && VB_MOD="$VB_MOD linux-lts-headers"
[[ -e ${MOUNTPOINT}/boot/initramfs-4.9*.img ]] && VB_MOD="linux49-headers"
[[ -e ${MOUNTPOINT}/boot/initramfs-4.10*.img ]] && VB_MOD="linux410-headers"
[[ -e ${MOUNTPOINT}/boot/initramfs-*-rt-lts-*.img ]] && VB_MOD="$VB_MOD linux-rt-lts-manjaro-headers"
[[ -e ${MOUNTPOINT}/boot/initramfs-*-rt-*.img ]] && VB_MOD="$VB_MOD linux-rt-manjaro-headers"
dialog --backtitle "$VERSION - $SYSTEM ($ARCHI)" --title "$_VBoxInstTitle" --msgbox "$_VBoxInstBody" 0 0
clear
@ -2030,10 +2057,10 @@ install_ati(){
arch_chroot "systemctl enable vboxservice"
echo -e "vboxguest\nvboxsf\nvboxvideo" > ${MOUNTPOINT}/etc/modules-load.d/virtualbox.conf
;;
"9") # VMWare
"11") # VMWare
basestrap ${MOUNTPOINT} xf86-video-vmware xf86-input-vmmouse 2>/tmp/.errlog
;;
"10") # Generic / Unknown
"12") # Generic / Unknown
basestrap ${MOUNTPOINT} xf86-video-fbdev 2>/tmp/.errlog
;;
*) install_graphics_menu
@ -2065,7 +2092,6 @@ install_ati(){
}
install_de_wm() {
# Only show this information box once

@ -1,298 +0,0 @@
DIALOG(){
# parameters: see dialog(1)
# returns: whatever dialog did
dialog --backtitle "$TITLE" --aspect 15 --yes-label "$_yes" --no-label "$_no" --cancel-label "$_cancel" "$@"
return $?
}
configure_system(){
## PREPROCESSING ##
# only done on first invocation of configure_system
if [ $S_PRECONFIG -eq 0 ]; then
#edit /etc/locale.conf & /etc/environment
echo "LANG=${LOCALE}.UTF-8" > ${DESTDIR}/etc/locale.conf
echo "LC_COLLATE=C" >> ${DESTDIR}/etc/locale.conf
echo "LANG=${LOCALE}.UTF-8" >> ${DESTDIR}/etc/environment
# add BROWSER var
if [ -e "${DESTDIR}/usr/bin/firefox" ] ; then
echo "BROWSER=/usr/bin/firefox" >> ${DESTDIR}/etc/environment
fi
#edit /etc/mkinitcpio.conf to have external bootup from pcmcia and resume support
HOOKS=`cat /etc/mkinitcpio.conf | grep HOOKS= | grep -v '#' | cut -d'"' -f2 | sed 's/filesystems/pcmcia resume filesystems/g'`
if [ -e ${DESTDIR}/etc/plymouth/plymouthd.conf ] ; then
sed -i -e "s/^HOOKS=.*/HOOKS=\"${HOOKS} plymouth\"/g" ${DESTDIR}/etc/mkinitcpio.conf
fi
# Determind which language we are using
configure_language ${DESTDIR}
fi
S_PRECONFIG=1
## END PREPROCESS ##
DONE=0
DONE_CONFIG=""
NEXTITEM=""
while [[ "${DONE}" = "0" ]]; do
if [[ -n "${NEXTITEM}" ]]; then
DEFAULT="--default-item ${NEXTITEM}"
else
DEFAULT=""
fi
DIALOG $DEFAULT --menu "Configuration" 17 78 10 \
"Root-Password" "${_definerootpass}" \
"Setup-User" "${_defineuser}" \
"Setup-Locale" "${_definelocale}" \
"Setup-Keymap" "${_definekeymap}" \
"Config-System" "${_doeditconfig}" \
"${_return_label}" "${_mainmenulabel}" 2>${ANSWER} || NEXTITEM="${_return_label}"
NEXTITEM="$(cat ${ANSWER})"
case $(cat ${ANSWER}) in
"Root-Password")
PASSWDUSER="root"
set_passwd
echo "$PASSWDUSER:$PASSWD" | chroot ${DESTDIR} chpasswd
DONE_CONFIG="1"
NEXTITEM="Setup-User"
;;
"Setup-User")
_setup_user && NEXTITEM="Setup-Locale"
;;
"Setup-Locale")
set_language && NEXTITEM="Setup-Keymap"
;;
"Setup-Keymap")
set_keyboard && NEXTITEM="Config-System"
;;
"Config-System")
_config_system && NEXTITEM="${_return_label}"
;;
"${_return_label}") DONE="1" ;;
*) DONE="1" ;;
esac
done
if [[ "${DONE_CONFIG}" = "1" ]]; then
_post_process
else
NEXTITEM="4"
fi
}
_setup_user(){
#addgroups="video,audio,power,disk,storage,optical,network,lp,scanner"
DIALOG --inputbox "${_enterusername}" 10 65 "${username}" 2>${ANSWER} || return 1
REPLY="$(cat ${ANSWER})"
while [ -z "$(echo $REPLY |grep -E '^[a-z_][a-z0-9_-]*[$]?$')" ];do
DIALOG --inputbox "${_givecorrectname}" 10 65 "${username}" 2>${ANSWER} || return 1
REPLY="$(cat ${ANSWER})"
done
chroot ${DESTDIR} useradd -m -p "" -g users -G $addgroups $REPLY
PASSWDUSER="$REPLY"
if [ -d "${DESTDIR}/var/lib/AccountsService/users" ] ; then
echo "[User]" > ${DESTDIR}/var/lib/AccountsService/users/$PASSWDUSER
if [ -e "/usr/bin/startxfce4" ] ; then
echo "XSession=xfce" >> ${DESTDIR}/var/lib/AccountsService/users/$PASSWDUSER
fi
if [ -e "/usr/bin/cinnamon-session" ] ; then
echo "XSession=cinnamon" >> ${DESTDIR}/var/lib/AccountsService/users/$PASSWDUSER
fi
if [ -e "/usr/bin/mate-session" ] ; then
echo "XSession=mate" >> ${DESTDIR}/var/lib/AccountsService/users/$PASSWDUSER
fi
if [ -e "/usr/bin/enlightenment_start" ] ; then
echo "XSession=enlightenment" >> ${DESTDIR}/var/lib/AccountsService/users/$PASSWDUSER
fi
if [ -e "/usr/bin/openbox-session" ] ; then
echo "XSession=openbox" >> ${DESTDIR}/var/lib/AccountsService/users/$PASSWDUSER
fi
if [ -e "/usr/bin/startlxde" ] ; then
echo "XSession=LXDE" >> ${DESTDIR}/var/lib/AccountsService/users/$PASSWDUSER
fi
if [ -e "/usr/bin/lxqt-session" ] ; then
echo "XSession=LXQt" >> ${DESTDIR}/var/lib/AccountsService/users/$PASSWDUSER
fi
echo "Icon=" >> ${DESTDIR}/var/lib/AccountsService/users/$PASSWDUSER
fi
if DIALOG --yesno "${_addsudouserdl1}${REPLY}${_addsudouserdl2}" 6 40;then
echo "${PASSWDUSER} ALL=(ALL) ALL" >> ${DESTDIR}/etc/sudoers
else
chroot ${DESTDIR} gpasswd -d "${PASSWDUSER}" wheel
fi
sed -i -e 's|# %wheel ALL=(ALL) ALL|%wheel ALL=(ALL) ALL|g' ${DESTDIR}/etc/sudoers
chmod 0440 ${DESTDIR}/etc/sudoers
set_passwd
echo "$PASSWDUSER:$PASSWD" | chroot ${DESTDIR} chpasswd
NEXTITEM="Setup-User"
DONE_CONFIG=1
}
_config_system(){
DONE=0
NEXTITEM=""
while [[ "${DONE}" = "0" ]]; do
if [[ -n "${NEXTITEM}" ]]; then
DEFAULT="--default-item ${NEXTITEM}"
else
DEFAULT=""
fi
if [[ -e /run/systemd ]]; then
DIALOG $DEFAULT --menu "Configuration" 17 78 10 \
"/etc/fstab" "${_fstabtext}" \
"/etc/mkinitcpio.conf" "${_mkinitcpioconftext}" \
"/etc/resolv.conf" "${_resolvconftext}" \
"/etc/hostname" "${_hostnametext}" \
"/etc/hosts" "${_hoststext}" \
"/etc/hosts.deny" "${_hostsdenytext}" \
"/etc/hosts.allow" "${_hostsallowtext}" \
"/etc/locale.gen" "${_localegentext}" \
"/etc/locale.conf" "${_localeconftext}" \
"/etc/environment" "${_environmenttext}" \
"/etc/pacman-mirrors.conf" "${_mirrorconftext}" \
"/etc/pacman.d/mirrorlist" "${_mirrorlisttext}" \
"/etc/X11/xorg.conf.d/10-evdev.conf" "${_xorgevdevconftext}" \
"/etc/vconsole.conf" "${_vconsoletext}" \
"${_return_label}" "${_return_label}" 2>${ANSWER} || NEXTITEM="${_return_label}"
NEXTITEM="$(cat ${ANSWER})"
else
DIALOG $DEFAULT --menu "Configuration" 17 78 10 \
"/etc/fstab" "${_fstabtext}" \
"/etc/mkinitcpio.conf" "${_mkinitcpioconftext}" \
"/etc/resolv.conf" "${_resolvconftext}" \
"/etc/rc.conf" "${_rcconfigtext}" \
"/etc/conf.d/hostname" "${_hostnametext}" \
"/etc/conf.d/keymaps" "${_localeconftext}" \
"/etc/conf.d/modules" "${_modulesconftext}" \
"/etc/conf.d/hwclock" "${_hwclockconftext}" \
"/etc/conf.d/xdm" "${_xdmconftext}" \
"/etc/hosts" "${_hoststext}" \
"/etc/hosts.deny" "${_hostsdenytext}" \
"/etc/hosts.allow" "${_hostsallowtext}" \
"/etc/locale.gen" "${_localegentext}" \
"/etc/environment" "${_environmenttext}" \
"/etc/pacman-mirrors.conf" "${_mirrorconftext}" \
"/etc/pacman.d/mirrorlist" "${_mirrorlisttext}" \
"/etc/X11/xorg.conf.d/10-evdev.conf" "${_xorgevdevconftext}" \
"/etc/X11/xorg.conf.d/00-keyboard.conf" "X11 keyboard configuration" \
"${_return_label}" "${_return_label}" 2>${ANSWER} || NEXTITEM="${_return_label}"
NEXTITEM="$(cat ${ANSWER})"
fi
if [ "${NEXTITEM}" = "${_return_label}" -o -z "${NEXTITEM}" ]; then
DONE=1
else
$EDITOR ${DESTDIR}${NEXTITEM}
fi
done
}
set_clock(){
# utc or local?
DIALOG --menu "${_machinetimezone}" 10 72 2 \
"UTC" " " \
"localtime" " " \
2>${ANSWER} || return 1
HARDWARECLOCK=$(cat ${ANSWER})
# timezone?
REGIONS=""
for i in $(grep '^[A-Z]' /usr/share/zoneinfo/zone.tab | cut -f 3 | sed -e 's#/.*##g'| sort -u); do
REGIONS="$REGIONS $i -"
done
region=""
zone=""
while [ -z "$zone" ];do
region=""
while [ -z "$region" ];do
:>${ANSWER}
DIALOG --menu "${_selectregion}" 0 0 0 $REGIONS 2>${ANSWER}
region=$(cat ${ANSWER})
done
ZONES=""
for i in $(grep '^[A-Z]' /usr/share/zoneinfo/zone.tab | grep $region/ | cut -f 3 | sed -e "s#$region/##g"| sort -u); do
ZONES="$ZONES $i -"
done
:>${ANSWER}
DIALOG --menu "${_selecttimezone}" 0 0 0 $ZONES 2>${ANSWER}
zone=$(cat ${ANSWER})
done
TIMEZONE="$region/$zone"
# set system clock from hwclock - stolen from rc.sysinit
local HWCLOCK_PARAMS=""
if [[ -e /run/openrc ]];then
local _conf_clock='clock="'${HARDWARECLOCK}'"'
sed -i -e "s|^.*clcok=.*|${_conf_clock}|" /etc/conf.d/hwclock
fi
if [ "$HARDWARECLOCK" = "UTC" ]; then
HWCLOCK_PARAMS="$HWCLOCK_PARAMS --utc"
else
HWCLOCK_PARAMS="$HWCLOCK_PARAMS --localtime"
if [[ -e /run/systemd ]];then
echo "0.0 0.0 0.0" > /etc/adjtime &> /dev/null
echo "0" >> /etc/adjtime &> /dev/null
echo "LOCAL" >> /etc/adjtime &> /dev/null
fi
fi
if [ "$TIMEZONE" != "" -a -e "/usr/share/zoneinfo/$TIMEZONE" ]; then
/bin/rm -f /etc/localtime
#/bin/cp "/usr/share/zoneinfo/$TIMEZONE" /etc/localtime
ln -sf "/usr/share/zoneinfo/$TIMEZONE" /etc/localtime
fi
/usr/bin/hwclock --hctosys $HWCLOCK_PARAMS --noadjfile
if [[ -e /run/openrc ]];then
echo "${TIMEZONE}" > /etc/timezone
fi
# display and ask to set date/time
DIALOG --calendar "${_choosedatetime}" 0 0 0 0 0 2> ${ANSWER} || return 1
local _date="$(cat ${ANSWER})"
DIALOG --timebox "${_choosehourtime}" 0 0 2> ${ANSWER} || return 1
local _time="$(cat ${ANSWER})"
echo "date: $_date time: $_time" >$LOG
# save the time
# DD/MM/YYYY hh:mm:ss -> YYYY-MM-DD hh:mm:ss
local _datetime="$(echo "$_date" "$_time" | sed 's#\(..\)/\(..\)/\(....\) \(..\):\(..\):\(..\)#\3-\2-\1 \4:\5:\6#g')"
echo "setting date to: $_datetime" >$LOG
date -s "$_datetime" 2>&1 >$LOG
/usr/bin/hwclock --systohc $HWCLOCK_PARAMS --noadjfile
S_CLOCK=1
NEXTITEM="2"
}
set_passwd(){
# trap tmp-file for passwd
trap "rm -f ${ANSWER}" 0 1 2 5 15
# get password
DIALOG --title "$_passwdtitle" \
--clear \
--insecure \
--passwordbox "$_passwddl $PASSWDUSER" 10 30 2> ${ANSWER}
PASSWD="$(cat ${ANSWER})"
DIALOG --title "$_passwdtitle" \
--clear \
--insecure \
--passwordbox "$_passwddl2 $PASSWDUSER" 10 30 2> ${ANSWER}
PASSWD2="$(cat ${ANSWER})"
if [ "$PASSWD" == "$PASSWD2" ]; then
PASSWD=$PASSWD
_passwddl=$_passwddl1
else
_passwddl=$_passwddl3
set_passwd
fi
}
Loading…
Cancel
Save