diff options
author | bill-auger <mr.j.spam.me@gmail.com> | 2017-11-16 13:36:18 -0500 |
---|---|---|
committer | bill-auger <mr.j.spam.me@gmail.com> | 2020-03-27 18:02:55 -0400 |
commit | 9aa612ba7a98b70b26edb16dbcd549b5bcde3fcd (patch) | |
tree | 2ddaa79cde355b05c495877fc12208c61da50b6b /configs/profile/root-image/root/customize_root_image.sh | |
parent | 813621e21707cd08a604e256fe28e9df2e763eee (diff) |
add openrc config
Diffstat (limited to 'configs/profile/root-image/root/customize_root_image.sh')
-rwxr-xr-x | configs/profile/root-image/root/customize_root_image.sh | 51 |
1 files changed, 45 insertions, 6 deletions
diff --git a/configs/profile/root-image/root/customize_root_image.sh b/configs/profile/root-image/root/customize_root_image.sh index 8d0b7b0..505bf3d 100755 --- a/configs/profile/root-image/root/customize_root_image.sh +++ b/configs/profile/root-image/root/customize_root_image.sh @@ -2,10 +2,16 @@ readonly DEV_RELEASE=1 # 1 for development builds - 0 for production builds readonly REPOS='libre core extra community pcr' -readonly SYSTEMD_SERVICES_ALL="multi-user.target \ - pacman-init.service \ - choose-mirror.service " +readonly SYSTEMD_SERVICES_ALL="choose-mirror.service \ + multi-user.target \ + pacman-init.service " readonly SYSTEMD_SERVICES_GUI="NetworkManager.service" +readonly OPENRC_SERVICES_ALL="dbus \ + haveged \ + NetworkManager \ + pacman-init " +readonly OPENRC_SERVICES_GUI="alsasound \ + elogind " readonly DEFAULT_SHELL=/bin/bash readonly NETINSTALL_MSG="To install Parabola, the system must be connected to the internet." readonly COMPLETE_MSG="This ISO is capable of installing a complete Parabola system\n\ @@ -20,6 +26,9 @@ readonly ROOT_SKEL_FILES="/etc/skel/.automated_script.sh \ /etc/skel/.bash_profile " readonly LIVE_USER=parabola readonly LIVE_USER_GROUPS="adm,audio,floppy,log,network,rfkill,scanner,storage,optical,power,wheel" +readonly OPENRC_USER_GROUPS="disk,sys" +[[ "${iso_init}" == 'openrc' ]] && readonly USER_GROUPS="${LIVE_USER_GROUPS},${OPENRC_USER_GROUPS}" || + readonly USER_GROUPS="${LIVE_USER_GROUPS}" [ "${enable_offline_install}" == 'true' ] && readonly INSTALL_TYPE="Complete" || \ readonly INSTALL_TYPE="NetInstall" readonly WELCOME_TITLE="Parabola ${iso_init}/${iso_wm} Edition - (${INSTALL_TYPE})" @@ -28,11 +37,15 @@ readonly WELCOME_TITLE="Parabola ${iso_init}/${iso_wm} Edition - (${INSTALL_TYPE set -e -u # configure locales -ln -sf /usr/share/zoneinfo/UTC /etc/localtime +ln -sf /usr/share/zoneinfo/UTC /etc/localtime sed -i 's/#\(en_US\.UTF-8\)/\1/' /etc/locale.gen sed -i 's/#\(es_ES\.UTF-8\)/\1/' /etc/locale.gen sed -i 's/#\(gl_ES\.UTF-8\)/\1/' /etc/locale.gen sed -i 's/#\(pt_BR\.UTF-8\)/\1/' /etc/locale.gen +sed -i 's/#\(pl_PL\.UTF-8\)/\1/' /etc/locale.gen +sed -i 's/#\(it_IT\.UTF-8\)/\1/' /etc/locale.gen +sed -i 's/#\(fr_FR\.UTF-8\)/\1/' /etc/locale.gen +sed -i 's/#\(eo\)/\1/' /etc/locale.gen locale-gen # configure sudo @@ -58,7 +71,32 @@ echo "Server = https://parabola.isacdaavid.info:8081/\$repo/os/\$arch" > /etc/pa # configure services if [[ "${iso_init}" == 'systemd' ]] then systemctl enable ${SYSTEMD_SERVICES_ALL} + # delete files that are specific to other init systems + rm /etc/conf.d/agetty.tty1 + rm /etc/conf.d/hostname + rm /etc/init.d/pacman-init + rm /etc/X11/Xwrapper.config + + # enable services [[ "${iso_wm}" != 'cli' ]] && systemctl enable ${SYSTEMD_SERVICES_GUI} +elif [[ "${iso_init}" == 'openrc' ]] + # delete files that are specific to other init systems + rm /etc/hostname + rm /etc/systemd/scripts/choose-mirror + rm /etc/systemd/system/choose-mirror.service + rm /etc/systemd/system/etc-pacman.d-gnupg.mount + rm /etc/systemd/system/getty@tty1.service.d/autologin.conf + rm /etc/systemd/system/pacman-init.service + + # enable services + for service in ${OPENRC_SERVICES_ALL} ; do rc-update add ${service} default ; done ; + if [[ "${iso_wm}" != 'cli' ]] + then for service in ${OPENRC_SERVICES_GUI} ; do rc-update add ${service} default ; done ; + fi + + # create the dbus user and group if it does not exist + if [[ "$(grep 'dbus' /etc/group )" = "" ]] ; then groupadd -g 81 dbus ; fi ; + if [[ "$(grep 'dbus' /etc/passwd)" = "" ]] ; then useradd -r -s /sbin/nologin -g 81 -u 81 dbus ; fi ; fi # configure root user @@ -72,10 +110,11 @@ then cp ${ROOT_SKEL_FILES} /root/ sed -i "s|_DESKTOP_SESSION_||" /root/.bash_profile else # configure GUI login session and live user - [ -n "$(id ${LIVE_USER} 2> /dev/null)" ] && userdel -r ${LIVE_USER} 2> /dev/null - useradd -m -p "" -g users -G "$LIVE_USER_GROUPS" -s ${DEFAULT_SHELL} ${LIVE_USER} + [[ -n "$(id ${LIVE_USER} 2> /dev/null)" ]] && userdel -r ${LIVE_USER} 2> /dev/null + useradd -m -p "" -g users -G "${USER_GROUPS}" -s ${DEFAULT_SHELL} ${LIVE_USER} if [[ "${iso_init}" == 'systemd' ]] then sed -i "s|--autologin root|--autologin ${LIVE_USER}|" /etc/systemd/system/getty@tty1.service.d/autologin.conf + else sed -i "s|--autologin root|--autologin ${LIVE_USER}|" /etc/conf.d/agetty.tty1 fi # configure desktop environment |