diff options
| author | navewindre <boneyaard@gmail.com> | 2025-06-18 05:14:57 +0200 |
|---|---|---|
| committer | navewindre <boneyaard@gmail.com> | 2025-06-18 05:14:57 +0200 |
| commit | 206896b42d5c8921314267eb300f70c2e1aac374 (patch) | |
| tree | 5d96fda4b1e6843d6b62fc70ef9e9efa350851ad | |
| parent | 4db9df83e5f7b4abdd49d0bc4139cfb95b07e60f (diff) | |
fix
| -rwxr-xr-x | slackware-bootstrap/bootstrap | 5 | ||||
| -rwxr-xr-x | slackware-bootstrap/finish | 15 | ||||
| -rw-r--r-- | slackware-bootstrap/inittab | 71 | ||||
| -rwxr-xr-x[-rw-r--r--] | slackware-bootstrap/nvidia-driver | 6 | ||||
| -rwxr-xr-x | slackware-bootstrap/runlevel | 16 | ||||
| -rwxr-xr-x | slackware-bootstrap/slackpkg | 13 | ||||
| -rw-r--r-- | slackware-bootstrap/slackpkg-nogpg.conf | 157 | ||||
| -rw-r--r-- | slackware-bootstrap/slackpkg.conf | 157 |
8 files changed, 434 insertions, 6 deletions
diff --git a/slackware-bootstrap/bootstrap b/slackware-bootstrap/bootstrap index a3ed3cc..d628cd6 100755 --- a/slackware-bootstrap/bootstrap +++ b/slackware-bootstrap/bootstrap @@ -47,7 +47,8 @@ if [[ $choice == "y" ]]; then fi if [[ $nreboot == 1 ]]; then - echo "rm -rf /root/.bashrc" >> /root/.bashrc + echo "sh $basedir/finish" >> /root/.bashrc + echo "rm -f /root/.bashrc" >> /root/.bashrc echo "============================ [ reboot ] ===========================" printf "\x1b[1;31mupon reboot, make sure to log in as ROOT first !!!\x1b[0;0m\n" echo "===================================================================" @@ -55,6 +56,8 @@ if [[ $nreboot == 1 ]]; then echo "rebooting..." reboot else + sh $basedir/runlevel + echo "============== [ setup done ] ===============" echo "username: $username" echo "you may now log into your user account." diff --git a/slackware-bootstrap/finish b/slackware-bootstrap/finish new file mode 100755 index 0000000..a1a8ad6 --- /dev/null +++ b/slackware-bootstrap/finish @@ -0,0 +1,15 @@ +#!/bin/bash +basedir=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) + +sh $basedir/runlevel + +echo "================= [ setup complete ] ====================" +echo "the system will now reboot" +echo "upon reboot, you can sign in with your chosen username" +echo "if you didn't choose to set up graphical login," +echo "you can start the desktop by typing 'startx'" +echo "or 'init 4' after login as root" +echo "=========================================================" + +read -p "press enter to reboot" +reboot diff --git a/slackware-bootstrap/inittab b/slackware-bootstrap/inittab new file mode 100644 index 0000000..9cd3fa2 --- /dev/null +++ b/slackware-bootstrap/inittab @@ -0,0 +1,71 @@ +# +# inittab This file describes how the INIT process should set up +# the system in a certain run-level. +# +# Version: @(#)inittab 2.04 17/05/93 MvS +# 2.10 02/10/95 PV +# 3.00 02/06/1999 PV +# 4.00 04/10/2002 PV +# 13.37 2011-03-25 PJV +# +# Author: Miquel van Smoorenburg, <miquels@drinkel.nl.mugnet.org> +# Modified by: Patrick J. Volkerding, <volkerdi@slackware.com> +# + +# These are the default runlevels in Slackware: +# 0 = halt +# 1 = single user mode +# 2 = unused (but configured the same as runlevel 3) +# 3 = multiuser mode (default Slackware runlevel) +# 4 = X11/Wayland with SDDM/KDM/GDM/XDM (session managers) +# 5 = unused (but configured the same as runlevel 3) +# 6 = reboot + +# Default runlevel. (Do not set to 0 or 6) +id:4:initdefault: + +# System initialization (runs when system boots). +si:S:sysinit:/etc/rc.d/rc.S + +# Script to run when going single user (runlevel 1). +su:1S:wait:/etc/rc.d/rc.K + +# Script to run when going multi user. +rc:2345:wait:/etc/rc.d/rc.M + +# What to do at the "Three Finger Salute". +ca::ctrlaltdel:/sbin/shutdown -t5 -r now + +# Runlevel 0 halts the system. +l0:0:wait:/etc/rc.d/rc.0 + +# Runlevel 6 reboots the system. +l6:6:wait:/etc/rc.d/rc.6 + +# What to do when power fails. +pf::powerfail:/sbin/genpowerfail start + +# If power is back, cancel the running shutdown. +pg::powerokwait:/sbin/genpowerfail stop + +# These are the standard console login getties in multiuser mode: +c1:12345:respawn:/sbin/agetty --noclear 38400 tty1 linux +c2:12345:respawn:/sbin/agetty 38400 tty2 linux +c3:12345:respawn:/sbin/agetty 38400 tty3 linux +c4:12345:respawn:/sbin/agetty 38400 tty4 linux +c5:12345:respawn:/sbin/agetty 38400 tty5 linux +c6:12345:respawn:/sbin/agetty 38400 tty6 linux + +# Local serial lines: +#s1:12345:respawn:/sbin/agetty -L ttyS0 9600 vt100 +#s2:12345:respawn:/sbin/agetty -L ttyS1 9600 vt100 + +# Dialup lines: +#d1:12345:respawn:/sbin/agetty -mt60 38400,19200,9600,2400,1200 ttyS0 vt100 +#d2:12345:respawn:/sbin/agetty -mt60 38400,19200,9600,2400,1200 ttyS1 vt100 + +# Runlevel 4 also starts /etc/rc.d/rc.4 to run a display manager for X. +# Display managers are preferred in this order: gdm, kdm, xdm +x1:4:respawn:/etc/rc.d/rc.4 + +# End of /etc/inittab diff --git a/slackware-bootstrap/nvidia-driver b/slackware-bootstrap/nvidia-driver index 4f3763e..d74e5a3 100644..100755 --- a/slackware-bootstrap/nvidia-driver +++ b/slackware-bootstrap/nvidia-driver @@ -7,7 +7,11 @@ slpkg --repository="sbo" -d nvidia-driver cd /tmp/slpkg/nvidia-kernel -kernelver=$(ls /boot | grep "vmlinuz-generic-" | sort | tail -1) +kernelver=$(ls /boot | grep "vmlinuz-generic-" | sort | tail -1 | cut -d '-' -f 3) +if [[ $kernel == "" ]]; then + kernel=$(ls /boot | grep "vmlinuz-[0-9]" | sort | tail -1 | cut -d '-' -f 2) +fi + chmod +x ./nvidia-kernel.SlackBuild KERNEL=$kernelver ./nvidia-kernel.SlackBuild diff --git a/slackware-bootstrap/runlevel b/slackware-bootstrap/runlevel new file mode 100755 index 0000000..03aaaf8 --- /dev/null +++ b/slackware-bootstrap/runlevel @@ -0,0 +1,16 @@ +#!/bin/bash +basedir=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) + +echo "=================[ runlevel choice ] ====================" +echo "this means that you only get this console and no graphics" +echo "if you would like to change the runlevel to 4, enabling" +echo "graphical login, you can do that now." +echo "=========================================================" + +read -p "would you like to change runlevel to 4 [y/n]? (n) " choice +if [[ $choice == 'y' ]]; then + cp -f $basedir/inittab /etc/inittab +else + echo "you can start the graphical login as root using 'init 4'" + echo "or a desktop session as a normal user with 'startx'" +fi diff --git a/slackware-bootstrap/slackpkg b/slackware-bootstrap/slackpkg index f157625..7aa2589 100755 --- a/slackware-bootstrap/slackpkg +++ b/slackware-bootstrap/slackpkg @@ -46,7 +46,7 @@ printf "\x1b[1;31m============================================================== read -p "press enter to continue" nano /etc/slackpkg/mirrors -cp $basedir/slackpkg-blacklist-allowkern /etc/slackpkg/blacklist +cp -f $basedir/slackpkg-blacklist-allowkern /etc/slackpkg/blacklist echo "running full system update ..." slackpkg update slackpkg update gpg @@ -55,15 +55,20 @@ slackpkg update gpg slackpkg upgrade glibc libgcrypt aaa_glibc-solibs glib2 libffi slackpkg upgrade gnupg gnupg2 openssl openssl-solibs openssl11 openssl11-solibs slackpkg update gpg +cp -f $basedir/slackpkg-nogpg.conf /etc/slackpkg/slackpkg.conf slackpkg install-new slackpkg upgrade-all slackpkg update gpg slackpkg upgrade-all -cp $basedir/slackpkg-blacklist /etc/slackpkg/blacklist +cp -f $basedir/slackpkg-blacklist /etc/slackpkg/blacklist +cp -f $basedir/slackpkg.conf /etc/slackpkg/slackpkg.conf -kernel=$(ls /boot | grep "vmlinuz-generic-" | sort | tail -1 | cut -d '-' -f 2) +kernel=$(ls /boot | grep "vmlinuz-generic-" | sort | tail -1 | cut -d '-' -f 3) +if [[ $kernel == "" ]]; then # newer versions of slackware dont differentiate -generic and -huge + kernel=$(ls /boot | grep "vmlinuz-[0-9]" | sort | tail -1 | cut -d '-' -f 2) +fi -initrdcmd="$(usr/share/mkinitrd/mkinitrd_command_generator.sh -k $kernel)" +initrdcmd="$(/usr/share/mkinitrd/mkinitrd_command_generator.sh -k $kernel)" initrdcmd=$(echo $initrdcmd | tail -1) $initrdcmd diff --git a/slackware-bootstrap/slackpkg-nogpg.conf b/slackware-bootstrap/slackpkg-nogpg.conf new file mode 100644 index 0000000..5ea1d9a --- /dev/null +++ b/slackware-bootstrap/slackpkg-nogpg.conf @@ -0,0 +1,157 @@ +# +# /etc/slackpkg/slackpkg.conf +# Configuration for SlackPkg +# v15.0 +# + +# SlackPkg - An Automated packaging tool for Slackware Linux +# Copyright (C) 2003-2011 Roberto F. Batista, Evaldo Gardenali +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# Project Page: https://slackpkg.org/ +# Roberto F. Batista (aka PiterPunk) piterpunk@slackware.com +# Evaldo Gardenali (aka UdontKnow) evaldogardenali@fasternet.com.br + +# For configuration options that have only two states, possible values are +# either "on" or "off" + +# Remember, the only official Slackware ports are x86, s390, arm, and aarch64, +# and slackpkg developers don't have s390 boxes for testing. If you are +# testing/using other architectures and have suggestions or patches, please +# let us know (email rworkman@slackware.com) +# +# Select the architecture of your system. Valid values are: +# i#86 (where # is 3, 4, 5 or 6) +# x86_64 +# s390 +# arm* (* can be v4, v5tejl, and other ARM versions) +# aarch64 +# powerpc +# +# The line is commented because slackpkg will try to find your +# architecture automagically. If you want to override what slackpkg +# finds, put the value after the = and uncomment this line +#ARCH= + +# The default PKGMAIN is "slackware", but some derived distros use other +# names as the main directory. PKGMAIN is the place with the slackware +# package series (a, ap, n, ... ). +# +# Usually slackpkg can automagically discover this variable. If you want +# to override the discovered variable, then uncomment this line and change +# it to reflect the correct value of PKGMAIN +#PKGMAIN=slackware + +# Slackware packages are signed by project key. Slackpkg uses this key +# to check if the packages downloaded are valid, so remember to set +# CHECKGPG to "on". +# +# Usually slackpkg can automagically discover this variable. If you want +# to override the discovered variable, then uncomment this line and edit +# as needed +#SLACKKEY="Slackware Linux Project <security@slackware.com>" + +# Downloaded files will be in the TEMP directory: +TEMP=/var/cache/packages + +# Package lists, file lists, and others will be stored in WORKDIR: +WORKDIR=/var/lib/slackpkg + +# Special options for wget (default is WGETFLAGS="--passive-ftp") +WGETFLAGS="--passive-ftp" + +# If DELALL is "on", all downloaded files will be removed after install. +DELALL=on + +# If CHECKMD5 is "on", the system will check the md5sums of all packages before +# install/upgrade/reinstall is performed. +CHECKMD5=on + +# If CHECKGPG is "on", the system will verify the GPG signature of each package +# before install/upgrade/reinstall is performed. +CHECKGPG=off + +# If CHECKSIZE is "on", the system will check if we have sufficient disk +# space to install selected package. This make upgrade/install safer, but +# will also slow down the upgrade/install process. +CHECKSIZE=off + +# PRIORITY sets the download priority. slackpkg will try to found the +# package first in the first value, then the second one, through all +# values in list. +# +# Default value: patches %PKGMAIN extra pasture testing +PRIORITY=( patches %PKGMAIN extra pasture testing ) + +# Enables (on) or disables (off) slackpkg's post-installation features, such +# as checking for new (*.new) configuration files and new kernel images, and +# prompts you for what it should do. Default=on +POSTINST=on + +# Post-installation features, by default, search all of /etc and a few other +# predefined locations for .new files. This is the safe option: with it, +# you won't have any unmerged .new files to cause problems. Even so, some +# people prefer that only the .new files installed by the current slackpkg +# session be checked. If this is your case, change ONLY_NEW_DOTNEW to "on". +# Default=off +ONLY_NEW_DOTNEW=off + +# Whether to backup files overwritten by their .new counterparts with a +# .orig extension. +ORIG_BACKUPS=on + +# The ONOFF variable sets the initial behavior of the dialog interface. +# If you set this to "on" then all packages will be selected by default. +# If you prefer the opposite option (all unchecked), then set this to "off". +ONOFF=on + +# If this variable is set to "on", all files will be downloaded before the +# requested operation (install or upgrade) is performed. If set to "off", +# then the files will be downloaded and the operation (install/upgrade) +# performed one by one. Default=on +DOWNLOAD_ALL=on + +# Enables (on) or disables (off) the dialog interface in slackpkg. Default=on +DIALOG=on + +# Enables (on) or disables (off) the non-interactive mode. If set to "on", +# slackpkg will run without asking the user anything, and answer all questions +# with DEFAULT_ANSWER. If you do any upgrades using this mode, you'll need to +# run "slackpkg new-config" later to find and merge any .new files. +BATCH=off + +# Default answer to slackpkg questions. Can be "y" or "n". +DEFAULT_ANSWER=n + +# Slackpkg allows a template to "include" the packages specified in another +# template. This option enables (on) or disables (off) the parsing of +# any "#include" directives in template files. Default=on +USE_INCLUDES=on + +# Enables a spinning bar as visual feedback when slackpkg is making its +# internal lists and some other operations. Default=on +SPINNING=on + +# Max number of characters that "dialog" command can handle. +# If unset, this variable will be 19500 (the number that works on +# Slackware 10.2) +DIALOG_MAXARGS=139000 + +# +# The MIRROR is set from /etc/slackpkg/mirrors +# You only need to uncomment the selected mirror. +# Uncomment one mirror only. +# diff --git a/slackware-bootstrap/slackpkg.conf b/slackware-bootstrap/slackpkg.conf new file mode 100644 index 0000000..cbc845d --- /dev/null +++ b/slackware-bootstrap/slackpkg.conf @@ -0,0 +1,157 @@ +# +# /etc/slackpkg/slackpkg.conf +# Configuration for SlackPkg +# v15.0 +# + +# SlackPkg - An Automated packaging tool for Slackware Linux +# Copyright (C) 2003-2011 Roberto F. Batista, Evaldo Gardenali +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# Project Page: https://slackpkg.org/ +# Roberto F. Batista (aka PiterPunk) piterpunk@slackware.com +# Evaldo Gardenali (aka UdontKnow) evaldogardenali@fasternet.com.br + +# For configuration options that have only two states, possible values are +# either "on" or "off" + +# Remember, the only official Slackware ports are x86, s390, arm, and aarch64, +# and slackpkg developers don't have s390 boxes for testing. If you are +# testing/using other architectures and have suggestions or patches, please +# let us know (email rworkman@slackware.com) +# +# Select the architecture of your system. Valid values are: +# i#86 (where # is 3, 4, 5 or 6) +# x86_64 +# s390 +# arm* (* can be v4, v5tejl, and other ARM versions) +# aarch64 +# powerpc +# +# The line is commented because slackpkg will try to find your +# architecture automagically. If you want to override what slackpkg +# finds, put the value after the = and uncomment this line +#ARCH= + +# The default PKGMAIN is "slackware", but some derived distros use other +# names as the main directory. PKGMAIN is the place with the slackware +# package series (a, ap, n, ... ). +# +# Usually slackpkg can automagically discover this variable. If you want +# to override the discovered variable, then uncomment this line and change +# it to reflect the correct value of PKGMAIN +#PKGMAIN=slackware + +# Slackware packages are signed by project key. Slackpkg uses this key +# to check if the packages downloaded are valid, so remember to set +# CHECKGPG to "on". +# +# Usually slackpkg can automagically discover this variable. If you want +# to override the discovered variable, then uncomment this line and edit +# as needed +#SLACKKEY="Slackware Linux Project <security@slackware.com>" + +# Downloaded files will be in the TEMP directory: +TEMP=/var/cache/packages + +# Package lists, file lists, and others will be stored in WORKDIR: +WORKDIR=/var/lib/slackpkg + +# Special options for wget (default is WGETFLAGS="--passive-ftp") +WGETFLAGS="--passive-ftp" + +# If DELALL is "on", all downloaded files will be removed after install. +DELALL=on + +# If CHECKMD5 is "on", the system will check the md5sums of all packages before +# install/upgrade/reinstall is performed. +CHECKMD5=on + +# If CHECKGPG is "on", the system will verify the GPG signature of each package +# before install/upgrade/reinstall is performed. +CHECKGPG=on + +# If CHECKSIZE is "on", the system will check if we have sufficient disk +# space to install selected package. This make upgrade/install safer, but +# will also slow down the upgrade/install process. +CHECKSIZE=off + +# PRIORITY sets the download priority. slackpkg will try to found the +# package first in the first value, then the second one, through all +# values in list. +# +# Default value: patches %PKGMAIN extra pasture testing +PRIORITY=( patches %PKGMAIN extra pasture testing ) + +# Enables (on) or disables (off) slackpkg's post-installation features, such +# as checking for new (*.new) configuration files and new kernel images, and +# prompts you for what it should do. Default=on +POSTINST=on + +# Post-installation features, by default, search all of /etc and a few other +# predefined locations for .new files. This is the safe option: with it, +# you won't have any unmerged .new files to cause problems. Even so, some +# people prefer that only the .new files installed by the current slackpkg +# session be checked. If this is your case, change ONLY_NEW_DOTNEW to "on". +# Default=off +ONLY_NEW_DOTNEW=off + +# Whether to backup files overwritten by their .new counterparts with a +# .orig extension. +ORIG_BACKUPS=on + +# The ONOFF variable sets the initial behavior of the dialog interface. +# If you set this to "on" then all packages will be selected by default. +# If you prefer the opposite option (all unchecked), then set this to "off". +ONOFF=on + +# If this variable is set to "on", all files will be downloaded before the +# requested operation (install or upgrade) is performed. If set to "off", +# then the files will be downloaded and the operation (install/upgrade) +# performed one by one. Default=on +DOWNLOAD_ALL=on + +# Enables (on) or disables (off) the dialog interface in slackpkg. Default=on +DIALOG=on + +# Enables (on) or disables (off) the non-interactive mode. If set to "on", +# slackpkg will run without asking the user anything, and answer all questions +# with DEFAULT_ANSWER. If you do any upgrades using this mode, you'll need to +# run "slackpkg new-config" later to find and merge any .new files. +BATCH=off + +# Default answer to slackpkg questions. Can be "y" or "n". +DEFAULT_ANSWER=n + +# Slackpkg allows a template to "include" the packages specified in another +# template. This option enables (on) or disables (off) the parsing of +# any "#include" directives in template files. Default=on +USE_INCLUDES=on + +# Enables a spinning bar as visual feedback when slackpkg is making its +# internal lists and some other operations. Default=on +SPINNING=on + +# Max number of characters that "dialog" command can handle. +# If unset, this variable will be 19500 (the number that works on +# Slackware 10.2) +DIALOG_MAXARGS=139000 + +# +# The MIRROR is set from /etc/slackpkg/mirrors +# You only need to uncomment the selected mirror. +# Uncomment one mirror only. +# |
