From 8418050bff2e2b69606516bc3e082965cc073c9a Mon Sep 17 00:00:00 2001 From: Eric Hameleers Date: Thu, 15 Dec 2016 23:10:57 +0100 Subject: DLACK: add Dlackware as a DE choice when generating the ISO. Dlackware is Slackware with systemd and Gnome3. An interesting experiment. Thanks to bartgymnast of the Dlackware team who provided the patches. Note: at this moment, this is pre-alpha quality. - The default root and live passwords do not work so you'll have to add boot parameter 'livepw=XXXXXXXX' and think of a strong password that passes the PAM strength test. - The Gnome3 environment does not show an application menu. - The Dlackware package quality is sub-standard. Notably it will mess with the buildhost machine's password database and install 64bit stuff into /usr/lib --- make_slackware_live.sh | 28 +++++++++++++++++++++++++--- 1 file changed, 25 insertions(+), 3 deletions(-) (limited to 'make_slackware_live.sh') diff --git a/make_slackware_live.sh b/make_slackware_live.sh index 7cee8e3..a2817e9 100755 --- a/make_slackware_live.sh +++ b/make_slackware_live.sh @@ -94,7 +94,7 @@ DISTRO=${DISTRO:-"slackware"} LIVE_HOSTNAME=${LIVE_HOSTNAME:-"darkstar"} # What type of Live image? -# Choices are: SLACKWARE, XFCE, KDE4, PLASMA5, MATE, CINNAMON +# Choices are: SLACKWARE, XFCE, KDE4, PLASMA5, MATE, CINNAMON, DLACK LIVEDE=${LIVEDE:-"SLACKWARE"} # What runlevel to use if adding a DE like: XFCE, KDE4, PLASMA5 etc... @@ -182,6 +182,10 @@ SEQ_MSB="tagfile:a,ap,d,e,f,k,l,n,t,tcl,x,xap,xfce,y pkglist:slackextra,mate loc # - each will become a squashfs module: SEQ_CIN="tagfile:a,ap,d,e,f,k,l,n,t,tcl,x,xap,xfce,y pkglist:slackextra,cinnamon local:slackpkg+" +# Slackware package series with Gnome3/systemd instead of KDE4 (full install): +# - each will become a squashfs module: +SEQ_DLACK="tagfile:a,ap,d,e,f,k,l,n,t,tcl,x,xap pkglist:slackextra,systemd,dlackware" + # List of kernel modules required for a live medium to boot properly; # Lots of HID modules added to support keyboard input for LUKS password entry: KMODS=${KMODS:-"squashfs:overlay:loop:xhci-pci:ohci-pci:ehci-pci:xhci-hcd:uhci-hcd:ehci-hcd:usb-storage:hid:usbhid:i2c-hid:hid-generic:hid-cherry:hid-logitech:hid-logitech-dj:hid-logitech-hidpp:hid-lenovo:hid-microsoft:hid_multitouch:jbd:mbcache:ext3:ext4:isofs:fat:nls_cp437:nls_iso8859-1:msdos:vfat"} @@ -758,8 +762,8 @@ do echo " -h This help." echo " -a arch Machine architecture (default: ${SL_ARCH})." echo " Use i586 for a 32bit ISO, x86_64 for 64bit." - echo " -d desktoptype SLACKWARE (full Slack), KDE4 (basic KDE4)," - echo " XFCE (basic XFCE), PLASMA5, MATE, CINNAMON." + echo " -d desktoptype SLACKWARE (full Slack), KDE4 basic," + echo " XFCE basic, PLASMA5, MATE, CINNAMON, DLACK." echo " -e Use ISO boot-load-size of 32 for computers." echo " where the ISO won't boot otherwise." echo " -f Forced re-generation of all squashfs modules," @@ -960,6 +964,7 @@ case "$LIVEDE" in PLASMA5) MSEQ="${SEQ_PLASMA5}" ;; MATE) MSEQ="${SEQ_MSB}" ;; CINNAMON) MSEQ="${SEQ_CIN}" ;; + DLACK) MSEQ="${SEQ_DLACK}" ;; *) if [ -n "${SEQ_CUSTOM}" ]; then # Custom distribution with a predefined package list: MSEQ="${SEQ_CUSTOM}" @@ -1602,6 +1607,21 @@ EOGL fi # End LIVEDE = PLASMA5 +if [ "$LIVEDE" = "DLACK" ]; then + + # -------------------------------------------------------------------------- # + echo "-- Configuring DLACK." + # -------------------------------------------------------------------------- # + + # Make sure we start in graphical mode with gdm enabled. + ln -sf /lib/systemd/system/graphical.target ${LIVE_ROOTDIR}/etc/systemd/system/default.target + ln -sf /lib/systemd/system/gdm.service ${LIVE_ROOTDIR}/etc/systemd/system/display-manager.service + + # Do not show the blueman applet, Gnome3 has its own BlueTooth widget: + echo "NotShowIn=GNOME;" >> ${LIVE_ROOTDIR}/etc/xdg/autostart/blueman.desktop + +fi # End LIVEDE = DLACK + # You can define the function 'custom_config()' by uncommenting it in # the configuration file 'make_slackware_live.conf'. if type custom_config 1>/dev/null 2>/dev/null ; then @@ -1644,6 +1664,8 @@ elif [ "$LIVEDE" = "MATE" ]; then ln -sf xinitrc.mate-session ${LIVE_ROOTDIR}/etc/X11/xinit/xinitrc elif [ "$LIVEDE" = "CINNAMON" ]; then ln -sf xinitrc.cinnamon-session ${LIVE_ROOTDIR}/etc/X11/xinit/xinitrc +elif [ "$LIVEDE" = "DLACK" ]; then + ln -sf xinitrc.gnome ${LIVE_ROOTDIR}/etc/X11/xinit/xinitrc elif [ -f ${LIVE_ROOTDIR}/etc/X11/xinit/xinitrc.xfce ]; then ln -sf xinitrc.xfce ${LIVE_ROOTDIR}/etc/X11/xinit/xinitrc fi -- cgit v1.2.3 From 7b8b1e3dfebefe6afe5ddaf28e7b4a36afb0d4ea Mon Sep 17 00:00:00 2001 From: Eric Hameleers Date: Fri, 16 Dec 2016 08:45:16 +0100 Subject: (e)liloconfig: only try to patch these scripts if they are contained in the ISO. --- make_slackware_live.sh | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'make_slackware_live.sh') diff --git a/make_slackware_live.sh b/make_slackware_live.sh index a2817e9..260359d 100755 --- a/make_slackware_live.sh +++ b/make_slackware_live.sh @@ -1353,8 +1353,12 @@ if ls ${LIVE_ROOTDIR}/boot/vmlinuz-huge-* 1>/dev/null 2>/dev/null; then cd - 1>/dev/null # Fix some occurrences of '/mnt' that should not be used in the Live ISO: sed -i -e 's, /mnt, ${T_PX},g' -e 's,=/mnt/,=${T_PX}/,g' -e 's,T_PX=/mnt,T_PX=/setup2hd,g' ${LIVE_ROOTDIR}/usr/share/${LIVEMAIN}/* - patch ${LIVE_ROOTDIR}/sbin/liloconfig ${LIVE_TOOLDIR}/patches/liloconfig.patch - patch ${LIVE_ROOTDIR}/usr/sbin/eliloconfig ${LIVE_TOOLDIR}/patches/eliloconfig.patch + if [ -f ${LIVE_ROOTDIR}/sbin/liloconfig ]; then + patch ${LIVE_ROOTDIR}/sbin/liloconfig ${LIVE_TOOLDIR}/patches/liloconfig.patch + fi + if [ -f ${LIVE_ROOTDIR}/usr/sbin/eliloconfig ]; then + patch ${LIVE_ROOTDIR}/usr/sbin/eliloconfig ${LIVE_TOOLDIR}/patches/eliloconfig.patch + fi # Fix some occurrences of '/usr/lib/setup/' are covered by $PATH: sed -i -e 's,/usr/lib/setup/,,g' -e 's,:/usr/lib/setup,:/usr/share/${LIVEMAIN},g' ${LIVE_ROOTDIR}/usr/share/${LIVEMAIN}/* # Add the Slackware Live HD installer: -- cgit v1.2.3 From d68ea8a85d0ef3f7aaaf9ce2bf7bc7da5480e449 Mon Sep 17 00:00:00 2001 From: Eric Hameleers Date: Sun, 1 Jan 2017 23:03:24 +0100 Subject: DLACK: create a default config for localectl. --- make_slackware_live.sh | 1 + 1 file changed, 1 insertion(+) (limited to 'make_slackware_live.sh') diff --git a/make_slackware_live.sh b/make_slackware_live.sh index 998cd4d..62e8cf5 100755 --- a/make_slackware_live.sh +++ b/make_slackware_live.sh @@ -1129,6 +1129,7 @@ if grep -q "^ *export LANG=" ${LIVE_ROOTDIR}/etc/profile.d/lang.sh ; then else echo "export LANG=en_US.UTF-8" >> ${LIVE_ROOTDIR}/etc/profile.d/lang.sh fi +echo "LANG=en_US.UTF-8" > ${LIVE_ROOTDIR}/etc/locale.conf # Set timezone to UTC: cp -a ${LIVE_ROOTDIR}/usr/share/zoneinfo/UTC ${LIVE_ROOTDIR}/etc/localtime -- cgit v1.2.3 From 87f770523e1397209b93c5ac6f311f4ddeecc33f Mon Sep 17 00:00:00 2001 From: Eric Hameleers Date: Sun, 1 Jan 2017 23:38:30 +0100 Subject: DLACK: Add console keymap default setting for localectl. In the hope that this makes gnome-terminal start finally. --- make_slackware_live.sh | 2 ++ 1 file changed, 2 insertions(+) (limited to 'make_slackware_live.sh') diff --git a/make_slackware_live.sh b/make_slackware_live.sh index 62e8cf5..b58b795 100755 --- a/make_slackware_live.sh +++ b/make_slackware_live.sh @@ -1129,7 +1129,9 @@ if grep -q "^ *export LANG=" ${LIVE_ROOTDIR}/etc/profile.d/lang.sh ; then else echo "export LANG=en_US.UTF-8" >> ${LIVE_ROOTDIR}/etc/profile.d/lang.sh fi +# Does not hurt to also add systemd compatible configuration: echo "LANG=en_US.UTF-8" > ${LIVE_ROOTDIR}/etc/locale.conf +echo "KEYMAP=us" > ${LIVE_ROOTDIR}/etc/vconsole.conf # Set timezone to UTC: cp -a ${LIVE_ROOTDIR}/usr/share/zoneinfo/UTC ${LIVE_ROOTDIR}/etc/localtime -- cgit v1.2.3 From c81ada6132a864362044641705efb4a8986bf26e Mon Sep 17 00:00:00 2001 From: Eric Hameleers Date: Mon, 2 Jan 2017 16:02:21 +0100 Subject: DLACK: improve first-boot experience. Disable two processes that consume time or are just annoying on first boot: - do not start gnome-initial-setup; - do not let systemd re-generate dynamic linker cache on boot. --- make_slackware_live.sh | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'make_slackware_live.sh') diff --git a/make_slackware_live.sh b/make_slackware_live.sh index b58b795..7a073ee 100755 --- a/make_slackware_live.sh +++ b/make_slackware_live.sh @@ -1627,6 +1627,14 @@ if [ "$LIVEDE" = "DLACK" ]; then # Do not show the blueman applet, Gnome3 has its own BlueTooth widget: echo "NotShowIn=GNOME;" >> ${LIVE_ROOTDIR}/etc/xdg/autostart/blueman.desktop + # Do not start gnome-initial-setup: + mkdir -p ${LIVE_ROOTDIR}/home/${LIVEUID}/.config + touch ${LIVE_ROOTDIR}/home/${LIVEUID}/.config/gnome-initial-setup-done + + # Do not let systemd re-generate dynamic linker cache on boot: + echo "File created by ${MARKER}. See systemd-update-done.service(8)." \ + |tee ${LIVE_ROOTDIR}/etc/.updated >${LIVE_ROOTDIR}/var/.updated + fi # End LIVEDE = DLACK # You can define the function 'custom_config()' by uncommenting it in -- cgit v1.2.3