summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xslackware-bootstrap/bootstrap5
-rwxr-xr-xslackware-bootstrap/finish15
-rw-r--r--slackware-bootstrap/inittab71
-rwxr-xr-x[-rw-r--r--]slackware-bootstrap/nvidia-driver6
-rwxr-xr-xslackware-bootstrap/runlevel16
-rwxr-xr-xslackware-bootstrap/slackpkg13
-rw-r--r--slackware-bootstrap/slackpkg-nogpg.conf157
-rw-r--r--slackware-bootstrap/slackpkg.conf157
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.
+#