this is obsolete doc -- see http://doc.nethence.com/ instead

slackinst - automated slackware installation script 

 

http://pbraun.nethence.com/doc/sysutils_linux/slackware.html 

http://pbraun.nethence.com/doc/sysutils_linux/slackware_pkgsrc.html 

http://pbraun.nethence.com/doc/sysutils_linux/slackware_slackinst.html 

(FR) http://pbraun.nethence.com/doc/sysutils_linux/slackware_dedibox.html 

 

 

Introduction 

The purpose of this guide is to automate the installation of Slackware Linux (instead of using 'setup'). If you want to get a fully unattended Slackware installation, you may combine this with a PXE configuration. 

 

 

Prerequesties 

Boot with some Live CD or USB stick and make sure you've got those available, 

which wget
which pdksh
which lftp
which xz

Note. pdksh or KSH93 (KSH88 untested) 

Note. XZ Utils -- either search for package 'xz-utils' or download it from http://tukaani.org/xz/ 

Note. and preferably with sshd running, make it comfortable... 

 

 

Preparation 

Prepare the filesystems, 

#swapon -s | grep sda
#mount | grep sda
mkfs.ext4 /dev/sda1
mkswap /dev/sda2
mount /dev/sda1 /mnt

 

Get the slackinst script into destination's root dir, 

cd /mnt/
wget http://pbraun.nethence.com/code/sysutils/slack/slackinst.ksh
wget http://pbraun.nethence.com/code/sysutils/slack/fstab
wget http://pbraun.nethence.com/code/sysutils/slack/lilo.conf
#wget http://pbraun.nethence.com/code/sysutils/slack/lilo.conf.773
chmod +x slackinst.ksh

adpat those to your needs, 

vi lilo.conf
vi fstab

 

 

Configuration 

Configure the script, 

cd /mnt/
vi slackinst.ksh

change, 

repo=
keymap=
timezone=
clearrootpasswd=
fqdn=
ip=
mask=
gw=
dns=
dns2=

 

 

Stage 1 -- prepare the chroot 

Prepare a very minimalistic system, 

cd /mnt/
./slackinst.ksh prep

Note. if something went wrong, you can clean-up everything and rerun stage 1, 

#./slackinst.ksh clean
#./slackinst.ksh prep

 

 

Stage 2 -- continue into the chroot 

Enter chroot, 

  cd /mnt/
chroot .

and make it a decent system, 

./slackinst.ksh chroot

 

Note. eventually mount /proc/ (optional), 

#mkdir -p proc/
#mount -t proc none proc/

 

Note. eventually mount /dev/ for devs (optional), 

#mkdir -p dev/
#mount -o bind /dev dev/

 

When finished, exit chroot, umount everything and reboot,, 

exit
cd /
sync
umount /mnt/
shutdown -r now

Note. if using some LiveCD or some rescue system, don't forget to switch it off for a proper reboot. 

 

You now have a running Slackware Linux distribution. Connect to it through SSH. 

 

 

Stage 3 

Fix the temporary root password we used for installation, 

passwd root

 

The system is very decent but still minimalistic. You'll probably want to install additional packages and/or sets. Here are some scripts for that, 

alias ll='ls -alkF'
mkdir -p ~/bin/
cd ~/bin/
wget http://pbraun.nethence.com/code/sysutils/slack/searchpkg.ksh
wget http://pbraun.nethence.com/code/sysutils/slack/installpkg.ksh
wget http://pbraun.nethence.com/code/sysutils/slack/installset.ksh
chmod +x searchpkg.ksh installpkg.ksh installset.ksh

 

To use them you need a copy of slackware sets dir into /z_pkgs (a, ap, n are already downloaded by the script), 

cd /z_pkgs/
lftp ftp://ftp.slackware.at/slackware64-13.1/slackware64
#lftp ftp://ftp.slackware.at/slackware-13.1/slackware64
mirror d
mirror l
mirror t
mirror x
exit

 

Mandatory (ADD tags) packages are already installed from the A, AP and N sets from the slackinst installation script. Add the required ones (REC tags). Same for D, L and T sets (ADD + REC tags). 

cd ~/
PATH=$PATH:$HOME/bin
installset.ksh a ap n
installset.ksh d l t

 

Look for glibc packages and make sure l/glibc is installed, 

ls /var/log/packages/ | grep glibc

 

 

References 

http://alien.slackbook.org/dokuwiki/doku.php?id=slackware:pxe 

http://www.mutagenix.org/pxe_kickstart/index.php 

http://wiki.slicehost.com/doku.php?id=install_slackware_on_your_slice 

http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=1&chap=6