21 Commits
0.3.1 ... 0.6

Author SHA1 Message Date
ef98a333ca rm netinstall 2018-10-02 22:18:26 +02:00
udeved
7727ce662e fix runit live sym 2018-05-14 16:59:29 +00:00
udeved
b841184cb2 fix runit live sym 2018-05-14 16:56:44 +00:00
udeved
528b3091c6 Merge branch 'master' of github.com:artix-linux/live-services 2018-05-14 16:50:45 +00:00
udeved
ffb4f4ba98 update runit live for runit-rc 2018-05-14 16:50:22 +00:00
udeved
64fe174eba update runit live for runit-rc 2018-05-14 16:40:37 +00:00
udeved
dc955770b3 makefile: small fix 2018-04-14 18:40:06 +02:00
udeved
004760e16a mkaefile: fix datadir path 2018-04-14 16:48:18 +02:00
bb1f0fbdc0 reflect the new runit service directory 2018-04-14 08:49:23 +07:00
udeved
f879bf8965 start 0.5 2018-04-11 21:12:10 +02:00
udeved
7e93c77b9a makefile: fix uninstall 2018-04-11 19:24:17 +02:00
8832d21deb change pacman-init directory to reflect new scheme 2018-04-09 10:58:20 +07:00
189ceeb7e7 Move pacman-init to a service on its own 2018-02-17 13:12:39 +07:00
9c6b20fea3 Fix typo 2018-02-17 12:00:58 +07:00
9a514cc3ca Add initial runit support for artix-live 2018-02-15 12:21:20 +07:00
udeved
4f3899f6c6 util-live: fix load_desktop_map() 2017-12-19 16:28:33 +01:00
udeved
0efd3bdfa9 rename unoack to netinstall kernel param; grub now has a selection menu entry 2017-12-19 15:30:46 +01:00
udeved
f5d07a597f util-live: fix unpackfs paths 2017-12-18 13:16:51 +01:00
udeved
c48893ded2 artix-live: add option to configure calamares with a unpack=yes/no kernel parameter 2017-12-14 20:28:10 +01:00
udeved
781f6de35a rm machine-id config 2017-10-02 09:24:47 +02:00
udeved
6131156806 reactivate machine-id config 2017-10-01 21:59:18 +02:00
5 changed files with 249 additions and 192 deletions

View File

@@ -1,7 +1,23 @@
Version=0.1 VERSION = 0.5
PKG = live-services
TOOLS = artools
PREFIX = /usr/local
SYSCONFDIR = /etc SYSCONFDIR = /etc
ifdef PREFIX
PREFIX = /usr/local
endif
BINDIR = $(PREFIX)/bin
LIBDIR = $(PREFIX)/lib
DATADIR = $(PREFIX)/share
FMODE = -m0644
DMODE = -dm0755
BMODE = -m0755
RM = rm -f
M4 = m4 -P
CHAW = chmod a-w
CHX = chmod +x
BIN = \ BIN = \
bin/artix-live bin/artix-live
@@ -17,67 +33,86 @@ RC = \
data/rc/pacman-init \ data/rc/pacman-init \
data/rc/artix-live data/rc/artix-live
RUNIT_SVD = \
data/runit/live
RUNIT_SV = \
data/runit/pacman-init.run
GRUB_DEFAULT = \ GRUB_DEFAULT = \
data/grub2-portable-efi data/grub2-portable-efi
GRUB_D = \ GRUB_D = \
data/99_zzz-portable-efi data/99_zzz-portable-efi
all: $(BIN) $(RC) $(XBIN) ${GRUB_D} all: $(BIN) $(RC) $(RUNIT_SV) $(XBIN) $(GRUB_D)
edit = sed -e "s|@datadir[@]|$(DESTDIR)$(PREFIX)/share/artools|g" \ EDIT = sed -e "s|@datadir[@]|$(DATADIR)/$(TOOLS)|g" \
-e "s|@sysconfdir[@]|$(DESTDIR)$(SYSCONFDIR)/artools|g" \ -e "s|@sysconfdir[@]|$(SYSCONFDIR)/$(TOOLS)|g" \
-e "s|@libdir[@]|$(DESTDIR)$(PREFIX)/lib/artools|g" -e "s|@libdir[@]|$(LIBDIR)/$(TOOLS)|g"
%: %.in Makefile %: %.in Makefile
@echo "GEN $@" @echo "GEN $@"
@$(RM) "$@" @$(RM) "$@"
@m4 -P $@.in | $(edit) >$@ @$(M4) $@.in | $(EDIT) >$@
@chmod a-w "$@" @$(CHAW) "$@"
@chmod +x "$@" @$(CHX) "$@"
clean: clean:
rm -f $(BIN) $(RC) ${GRUB_D} $(RM) $(BIN) $(RC) $(GRUB_D)
install_base: install_base:
install -dm0755 $(DESTDIR)$(PREFIX)/bin install $(DMODE) $(DESTDIR)$(BINDIR)
install -m0755 ${BIN} $(DESTDIR)$(PREFIX)/bin install $(BMODE) $(BIN) $(DESTDIR)$(BINDIR)
install -dm0755 $(DESTDIR)$(PREFIX)/lib/artools install $(DMODE) $(DESTDIR)$(LIBDIR)/$(TOOLS)
install -m0644 ${LIBS} $(DESTDIR)$(PREFIX)/lib/artools install $(FMODE) $(LIBS) $(DESTDIR)$(LIBDIR)/$(TOOLS)
install -dm0755 $(DESTDIR)$(PREFIX)/share/artools install $(DMODE) $(DESTDIR)$(DATADIR)/$(TOOLS)
install -m0644 ${SHARED} $(DESTDIR)$(PREFIX)/share/artools install $(FMODE) $(SHARED) $(DESTDIR)$(DATADIR)/$(TOOLS)
install_rc: install_rc:
install -dm0755 $(DESTDIR)$(SYSCONFDIR)/init.d install $(DMODE) $(DESTDIR)$(SYSCONFDIR)/init.d
install -m0755 ${RC} $(DESTDIR)$(SYSCONFDIR)/init.d install $(BMODE) $(RC) $(DESTDIR)$(SYSCONFDIR)/init.d
install_runit:
install $(DMODE) $(DESTDIR)$(SYSCONFDIR)/rc/sysinit
install $(DMODE) $(DESTDIR)$(LIBDIR)/rc/sv.d
install $(DMODE) $(DESTDIR)$(SYSCONFDIR)/runit/sv/pacman-init
install $(BMODE) $(RUNIT_SVD) $(DESTDIR)$(LIBDIR)/rc/sv.d
ln -sf $(LIBDIR)/rc/sv.d/live $(DESTDIR)$(SYSCONFDIR)/rc/sysinit/98-live
install $(BMODE) $(RUNIT_SV) $(DESTDIR)$(SYSCONFDIR)/runit/sv/pacman-init/run
install_portable_efi: install_portable_efi:
install -dm0755 $(DESTDIR)$(SYSCONFDIR)/default install $(DMODE) $(DESTDIR)$(SYSCONFDIR)/default
install -m0755 $(GRUB_DEFAULT) $(DESTDIR)$(SYSCONFDIR)/default install $(BMODE) $(GRUB_DEFAULT) $(DESTDIR)$(SYSCONFDIR)/default
install -dm0755 $(DESTDIR)$(SYSCONFDIR)/grub.d install $(DMODE) $(DESTDIR)$(SYSCONFDIR)/grub.d
install -m0755 $(GRUB_D) $(DESTDIR)$(SYSCONFDIR)/grub.d install $(BMODE) $(GRUB_D) $(DESTDIR)$(SYSCONFDIR)/grub.d
uninstall_base: uninstall_base:
for f in ${BIN}; do rm -f $(DESTDIR)$(PREFIX)/bin/$$f; done for f in $(notdir $(BIN)); do $(RM) $(DESTDIR)$(BINDIR)/$$f; done
for f in ${SHARED}; do rm -f $(DESTDIR)$(PREFIX)/share/artools/$$f; done for f in $(notdir $(SHARED)); do $(RM) $(DESTDIR)$(DATADIR)/$(TOOLS)/$$f; done
for f in ${LIBS}; do rm -f $(DESTDIR)$(PREFIX)/lib/artools/$$f; done for f in $(notdir $(LIBS)); do $(RM) $(DESTDIR)$(LIBDIR)/$(TOOLS)/$$f; done
uninstall_portable_efi: uninstall_portable_efi:
for f in ${GRUB_DEFAULT}; do rm -f $(DESTDIR)$(SYSCONFDIR)/default/$$f; done for f in $(notdir $(GRUB_DEFAULT)); do $(RM) $(DESTDIR)$(SYSCONFDIR)/default/$$f; done
for f in ${GRUB_D}; do rm -f $(DESTDIR)$(SYSCONFDIR)/grub.d/$$f; done for f in $(notdir $(GRUB_D)); do $(RM) $(DESTDIR)$(SYSCONFDIR)/grub.d/$$f; done
uninstall_rc: uninstall_rc:
for f in ${RC}; do rm -f $(DESTDIR)$(SYSCONFDIR)/init.d/$$f; done for f in $(notdir $(RC)); do $(RM) $(DESTDIR)$(SYSCONFDIR)/init.d/$$f; done
uninstall_runit:
for f in $(notdir $(RUNIT_SV)); do $(RM) $(DESTDIR)$(SYSCONFDIR)/runit/sv/$$f; done
install: install_base install_rc install_portable_efi install: install_base install_rc install_portable_efi
uninstall: uninstall_base uninstall_rc uninstall_portable_efi uninstall: uninstall_base uninstall_rc uninstall_runit uninstall_portable_efi
dist: dist:
git archive --format=tar --prefix=live-services-$(Version)/ $(Version) | gzip -9 > live-services-$(Version).tar.gz git archive --format=tar --prefix=$(PKG)-$(VERSION)/ $(VERSION) | gzip -9 > $(PKG)-$(VERSION).tar.gz
gpg --detach-sign --use-agent live-services-$(Version).tar.gz gpg --detach-sign --use-agent $(PKG)-$(VERSION).tar.gz
.PHONY: all clean install uninstall dist .PHONY: all clean install uninstall dist

View File

@@ -53,6 +53,10 @@ livetimer=$(get_timer_ms)
configure_displaymanager configure_displaymanager
echo "Configured displaymanager: $(elapsed_time_ms ${livetimer})ms" >> "${LOGFILE}" echo "Configured displaymanager: $(elapsed_time_ms ${livetimer})ms" >> "${LOGFILE}"
# livetimer=$(get_timer_ms)
# configure_calamares
# echo "Configured calamares netinstall ${netinstall} $(elapsed_time_ms ${livetimer})ms" >> "${LOGFILE}"
livetimer=$(get_timer_ms) livetimer=$(get_timer_ms)
configure_user_root / configure_user_root /
echo "Configured root user: $(elapsed_time_ms ${livetimer})ms" >> "${LOGFILE}" echo "Configured root user: $(elapsed_time_ms ${livetimer})ms" >> "${LOGFILE}"

15
data/runit/live Normal file
View File

@@ -0,0 +1,15 @@
#!/bin/bash
. /usr/lib/rc/functions
case "$1" in
start)
stat_busy "Initializing artix live system"
artix-live #|| stat_die
add_daemon live
stat_done
;;
*)
echo "usage: $0 {start}"
;;
esac

View File

@@ -0,0 +1,5 @@
#!/bin/sh
mount -t tmpfs -o size=10M,mode=0755 tmpfs /etc/pacman.d/gnupg
pacman-key --init 1>&2
pacman-key --populate archlinux artix 1>&2
exec chpst -b pacman-init pause

View File

@@ -10,74 +10,76 @@
# GNU General Public License for more details. # GNU General Public License for more details.
kernel_cmdline(){ kernel_cmdline(){
for param in $(cat /proc/cmdline); do for param in $(cat /proc/cmdline); do
case "${param}" in case "${param}" in
$1=*) echo "${param##*=}"; return 0 ;; $1=*) echo "${param##*=}"; return 0 ;;
$1) return 0 ;; $1) return 0 ;;
*) continue ;; *) continue ;;
esac esac
done done
[ -n "${2}" ] && echo "${2}" [ -n "${2}" ] && echo "${2}"
return 1 return 1
} }
get_lang(){ get_lang(){
echo $(kernel_cmdline lang) echo $(kernel_cmdline lang)
} }
get_keytable(){ get_keytable(){
echo $(kernel_cmdline keytable) echo $(kernel_cmdline keytable)
} }
get_tz(){ get_tz(){
echo $(kernel_cmdline tz) echo $(kernel_cmdline tz)
}
get_cal_mode(){
echo $(kernel_cmdline netinstall)
} }
get_timer_ms(){ get_timer_ms(){
echo $(date +%s%3N) echo $(date +%s%3N)
} }
# $1: start timer # $1: start timer
elapsed_time_ms(){ elapsed_time_ms(){
echo $(echo $1 $(get_timer_ms) | awk '{ printf "%0.3f",($2-$1)/1000 }') echo $(echo $1 $(get_timer_ms) | awk '{ printf "%0.3f",($2-$1)/1000 }')
} }
load_live_config(){ load_live_config(){
[[ -f $1 ]] || return 1 [[ -f $1 ]] || return 1
live_conf="$1" live_conf="$1"
[[ -r ${live_conf} ]] && source ${live_conf} [[ -r ${live_conf} ]] && source ${live_conf}
[[ -z ${autologin} ]] && autologin=true [[ -z ${autologin} ]] && autologin=true
[[ -z ${username} ]] && username="cromnix" [[ -z ${username} ]] && username="artix"
[[ -z ${password} ]] && password="cromnix" [[ -z ${password} ]] && password="artix"
[[ -z ${addgroups} ]] && addgroups="" [[ -z ${addgroups} ]] && addgroups="video,power,storage,optical,network,lp,scanner,wheel,users,audio"
echo "Loaded ${live_conf}: $(elapsed_time_ms ${livetimer})ms" >> "${LOGFILE}" echo "Loaded ${live_conf}: $(elapsed_time_ms ${livetimer})ms" >> "${LOGFILE}"
return 0 return 0
} }
is_valid_de(){ is_valid_de(){
if [[ ${default_desktop_executable} != "none" ]] && \ if [[ ${default_desktop_executable} != "none" ]] && \
[[ ${default_desktop_file} != "none" ]]; then [[ ${default_desktop_file} != "none" ]]; then
return 0 return 0
else else
return 1 return 1
fi fi
} }
load_desktop_map(){ load_desktop_map(){
local _space="s| ||g" _clean=':a;N;$!ba;s/\n/ /g' _com_rm="s|#.*||g" \ local _space="s| ||g" _clean=':a;N;$!ba;s/\n/ /g' _com_rm="s|#.*||g" \
file=${DATADIR}/desktop.map file=${DATADIR}/desktop.map
local desktop_map=$(sed "$_com_rm" "$file" \ local desktop_map=$(sed "$_com_rm" "$file" | sed "$_space" | sed "$_clean")
| sed "$_space" \
| sed "$_clean")
echo ${desktop_map} echo ${desktop_map}
} }
@@ -96,28 +98,28 @@ detect_desktop_env(){
} }
configure_accountsservice(){ configure_accountsservice(){
local path=/var/lib/AccountsService/users local path=/var/lib/AccountsService/users
if [ -d "${path}" ] ; then if [ -d "${path}" ] ; then
echo "[User]" > ${path}/$1 echo "[User]" > ${path}/$1
echo "XSession=${default_desktop_file}" >> ${path}/$1 echo "XSession=${default_desktop_file}" >> ${path}/$1
if [[ -f "/var/lib/AccountsService/icons/$1.png" ]];then if [[ -f "/var/lib/AccountsService/icons/$1.png" ]];then
echo "Icon=/var/lib/AccountsService/icons/$1.png" >> ${path}/$1 echo "Icon=/var/lib/AccountsService/icons/$1.png" >> ${path}/$1
fi fi
fi fi
} }
set_lightdm_greeter(){ set_lightdm_greeter(){
local greeters=$(ls /usr/share/xgreeters/*greeter.desktop) name local greeters=$(ls /usr/share/xgreeters/*greeter.desktop) name
for g in ${greeters[@]};do for g in ${greeters[@]};do
name=${g##*/} name=${g##*/}
name=${name%%.*} name=${name%%.*}
case ${name} in case ${name} in
lightdm-gtk-greeter) break ;; lightdm-gtk-greeter) break ;;
lightdm-*-greeter) lightdm-*-greeter)
sed -i -e "s/^.*greeter-session=.*/greeter-session=${name}/" /etc/lightdm/lightdm.conf sed -i -e "s/^.*greeter-session=.*/greeter-session=${name}/" /etc/lightdm/lightdm.conf
;; ;;
esac esac
done done
} }
set_lightdm_vt(){ set_lightdm_vt(){
@@ -125,117 +127,113 @@ configure_accountsservice(){
} }
configure_displaymanager(){ configure_displaymanager(){
# Try to detect desktop environment # Try to detect desktop environment
# Configure display manager # Configure display manager
if [[ -f /usr/bin/lightdm ]];then if [[ -f /usr/bin/lightdm ]];then
groupadd -r autologin groupadd -r autologin
set_lightdm_vt set_lightdm_vt
set_lightdm_greeter set_lightdm_greeter
if $(is_valid_de); then if $(is_valid_de); then
sed -i -e "s/^.*user-session=.*/user-session=$default_desktop_file/" /etc/lightdm/lightdm.conf sed -i -e "s/^.*user-session=.*/user-session=$default_desktop_file/" /etc/lightdm/lightdm.conf
fi fi
if ${autologin};then if ${autologin};then
gpasswd -a ${username} autologin &> /dev/null gpasswd -a ${username} autologin &> /dev/null
sed -i -e "s/^.*autologin-user=.*/autologin-user=${username}/" /etc/lightdm/lightdm.conf sed -i -e "s/^.*autologin-user=.*/autologin-user=${username}/" /etc/lightdm/lightdm.conf
sed -i -e "s/^.*autologin-user-timeout=.*/autologin-user-timeout=0/" /etc/lightdm/lightdm.conf sed -i -e "s/^.*autologin-user-timeout=.*/autologin-user-timeout=0/" /etc/lightdm/lightdm.conf
sed -i -e "s/^.*pam-autologin-service=.*/pam-autologin-service=lightdm-autologin/" /etc/lightdm/lightdm.conf sed -i -e "s/^.*pam-autologin-service=.*/pam-autologin-service=lightdm-autologin/" /etc/lightdm/lightdm.conf
fi fi
elif [[ -f /usr/bin/gdm ]];then elif [[ -f /usr/bin/gdm ]];then
configure_accountsservice "gdm" configure_accountsservice "gdm"
if ${autologin};then if ${autologin};then
sed -i -e "s/\[daemon\]/\[daemon\]\nAutomaticLogin=${username}\nAutomaticLoginEnable=True/" /etc/gdm/custom.conf sed -i -e "s/\[daemon\]/\[daemon\]\nAutomaticLogin=${username}\nAutomaticLoginEnable=True/" /etc/gdm/custom.conf
fi fi
elif [[ -f /usr/bin/mdm ]];then elif [[ -f /usr/bin/sddm ]];then
if $(is_valid_de); then if $(is_valid_de); then
sed -i "s|default.desktop|$default_desktop_file.desktop|g" /etc/mdm/custom.conf sed -i -e "s|^Session=.*|Session=$default_desktop_file.desktop|" /etc/sddm.conf
fi fi
elif [[ -f /usr/bin/sddm ]];then if ${autologin};then
if $(is_valid_de); then sed -i -e "s|^User=.*|User=${username}|" /etc/sddm.conf
sed -i -e "s|^Session=.*|Session=$default_desktop_file.desktop|" /etc/sddm.conf fi
fi elif [[ -f /usr/bin/lxdm ]];then
if ${autologin};then if $(is_valid_de); then
sed -i -e "s|^User=.*|User=${username}|" /etc/sddm.conf sed -i -e "s|^.*session=.*|session=/usr/bin/$default_desktop_executable|" /etc/lxdm/lxdm.conf
fi fi
elif [[ -f /usr/bin/lxdm ]];then if ${autologin};then
if $(is_valid_de); then sed -i -e "s/^.*autologin=.*/autologin=${username}/" /etc/lxdm/lxdm.conf
sed -i -e "s|^.*session=.*|session=/usr/bin/$default_desktop_executable|" /etc/lxdm/lxdm.conf fi
fi fi
if ${autologin};then
sed -i -e "s/^.*autologin=.*/autologin=${username}/" /etc/lxdm/lxdm.conf
fi
fi
} }
gen_pw(){ gen_pw(){
echo $(perl -e 'print crypt($ARGV[0], "password")' ${password}) echo $(perl -e 'print crypt($ARGV[0], "password")' ${password})
} }
configure_user(){ configure_user(){
# set up user and password # set up user and password
if [[ -n ${password} ]];then if [[ -n ${password} ]];then
useradd -m -G ${addgroups} -p $(gen_pw) -s /bin/bash ${username} useradd -m -G ${addgroups} -p $(gen_pw) -s /bin/bash ${username}
else else
useradd -m -G ${addgroups} -s /bin/bash ${username} useradd -m -G ${addgroups} -s /bin/bash ${username}
fi fi
} }
find_legacy_keymap(){ find_legacy_keymap(){
local file="${DATADIR}/kbd-model.map" local file="${DATADIR}/kbd-model.map"
while read -r line || [[ -n $line ]]; do while read -r line || [[ -n $line ]]; do
if [[ -z $line ]] || [[ $line == \#* ]]; then if [[ -z $line ]] || [[ $line == \#* ]]; then
continue continue
fi fi
mapping=( $line ); # parses columns mapping=( $line ); # parses columns
if [[ ${#mapping[@]} != 5 ]]; then if [[ ${#mapping[@]} != 5 ]]; then
continue continue
fi fi
if [[ "${keytable}" != "${mapping[0]}" ]]; then if [[ "${keytable}" != "${mapping[0]}" ]]; then
continue continue
fi fi
if [[ "${mapping[3]}" = "-" ]]; then if [[ "${mapping[3]}" = "-" ]]; then
mapping[3]="" mapping[3]=""
fi fi
X11_LAYOUT=${mapping[1]} X11_LAYOUT=${mapping[1]}
X11_MODEL=${mapping[2]} X11_MODEL=${mapping[2]}
X11_VARIANT=${mapping[3]} X11_VARIANT=${mapping[3]}
x11_OPTIONS=${mapping[4]} x11_OPTIONS=${mapping[4]}
done < $file done < $file
} }
write_x11_config(){ write_x11_config(){
# find a x11 layout that matches the keymap # find a x11 layout that matches the keymap
# in isolinux if you select a keyboard layout and a language that doesnt match this layout, # in isolinux if you select a keyboard layout and a language that doesnt match this layout,
# it will provide the correct keymap, but not kblayout value # it will provide the correct keymap, but not kblayout value
local X11_LAYOUT= local X11_LAYOUT=
local X11_MODEL="pc105" local X11_MODEL="pc105"
local X11_VARIANT="" local X11_VARIANT=""
local X11_OPTIONS="terminate:ctrl_alt_bksp" local X11_OPTIONS="terminate:ctrl_alt_bksp"
find_legacy_keymap find_legacy_keymap
# layout not found, use KBLAYOUT # layout not found, use KBLAYOUT
if [[ -z "$X11_LAYOUT" ]]; then if [[ -z "$X11_LAYOUT" ]]; then
X11_LAYOUT="${keytable}" X11_LAYOUT="${keytable}"
fi fi
# create X11 keyboard layout config # create X11 keyboard layout config
mkdir -p "/etc/X11/xorg.conf.d" mkdir -p "/etc/X11/xorg.conf.d"
local XORGKBLAYOUT="/etc/X11/xorg.conf.d/00-keyboard.conf" local XORGKBLAYOUT="/etc/X11/xorg.conf.d/00-keyboard.conf"
echo "" >> "$XORGKBLAYOUT" echo "" >> "$XORGKBLAYOUT"
echo "Section \"InputClass\"" > "$XORGKBLAYOUT" echo "Section \"InputClass\"" > "$XORGKBLAYOUT"
echo " Identifier \"system-keyboard\"" >> "$XORGKBLAYOUT" echo " Identifier \"system-keyboard\"" >> "$XORGKBLAYOUT"
echo " MatchIsKeyboard \"on\"" >> "$XORGKBLAYOUT" echo " MatchIsKeyboard \"on\"" >> "$XORGKBLAYOUT"
echo " Option \"XkbLayout\" \"$X11_LAYOUT\"" >> "$XORGKBLAYOUT" echo " Option \"XkbLayout\" \"$X11_LAYOUT\"" >> "$XORGKBLAYOUT"
echo " Option \"XkbModel\" \"$X11_MODEL\"" >> "$XORGKBLAYOUT" echo " Option \"XkbModel\" \"$X11_MODEL\"" >> "$XORGKBLAYOUT"
echo " Option \"XkbVariant\" \"$X11_VARIANT\"" >> "$XORGKBLAYOUT" echo " Option \"XkbVariant\" \"$X11_VARIANT\"" >> "$XORGKBLAYOUT"
echo " Option \"XkbOptions\" \"$X11_OPTIONS\"" >> "$XORGKBLAYOUT" echo " Option \"XkbOptions\" \"$X11_OPTIONS\"" >> "$XORGKBLAYOUT"
echo "EndSection" >> "$XORGKBLAYOUT" echo "EndSection" >> "$XORGKBLAYOUT"
} }
configure_language(){ configure_language(){
@@ -269,32 +267,32 @@ configure_language(){
echo "Configured timezone: ${timezone}" >> "${LOGFILE}" echo "Configured timezone: ${timezone}" >> "${LOGFILE}"
} }
# configure_machine_id(){ configure_calamares(){
# if [ -e "/etc/machine-id" ] ; then if [[ -f /usr/bin/calamares ]];then
# # delete existing machine-id netinstall=$(get_cal_mode)
# echo "Deleting existing machine-id ..." >> "${LOGFILE}" if [[ "${netinstall}" == 'no' ]];then
# rm /etc/machine-id sed -e "/- netinstall/d" \
# fi -e "s|- chrootcfg|- unpackfs|" -i /etc/calamares/settings.conf
# # set unique machine-id
# echo "Setting machine-id ..." >> "${LOGFILE}" sed -e '$ d' -i /etc/calamares/modules/welcome.conf
# dbus-uuidgen --ensure=/etc/machine-id fi
# ln -sf /etc/machine-id /var/lib/dbus/machine-id fi
# } }
configure_sudoers_d(){ configure_sudoers_d(){
echo "%wheel ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/g_wheel echo "%wheel ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/g_wheel
echo "root ALL=(ALL) ALL" > /etc/sudoers.d/u_root echo "root ALL=(ALL) ALL" > /etc/sudoers.d/u_root
} }
configure_swap(){ configure_swap(){
local swapdev="$(fdisk -l 2>/dev/null | grep swap | cut -d' ' -f1)" local swapdev="$(fdisk -l 2>/dev/null | grep swap | cut -d' ' -f1)"
if [ -e "${swapdev}" ]; then if [ -e "${swapdev}" ]; then
swapon ${swapdev} swapon ${swapdev}
fi fi
} }
configure_user_root(){ configure_user_root(){
# set up root password # set up root password
echo "root:${password}" | chroot $1 chpasswd echo "root:${password}" | chroot $1 chpasswd
cp /etc/skel/.{bash_profile,bashrc,bash_logout} /root/ cp /etc/skel/.{bash_profile,bashrc,bash_logout} /root/
} }