The main purpose of this article is to be a reference point for anyone new, looking to dive into slackware. As a pre-requisite they should have installed a spanking fresh copy of slackware 14.2 on their machine. And also, this article will contain use of GUI tools. To my greybeard bretheren of the cult of keyboards, I apologize. I am a noob myself, and I will shift to your ways soon.
Another friendly note:
I did this installation on a Lenovo Ideapad 100, which is not the latest bleeding edge, but it's still recent and it's my only machine (*cries in the corner*). I have also chosen not to install the KDE and EMACS packages during the install.
I partitioned the drive as
Code: Select all
/dev/sda1 - /home
/dev/sda2 - swap
/dev/sda3 - /
Code: Select all
$ isohybrid slackware.iso
# dd if=slackware.iso of=/dev/sdb bs=4M; sync
The things in this article are my personal steps, which I collected from scavenging the slackware forums and various sites that I stumbled on. This is in no way a replacement for the well set up slackwiki. Seriously, read it. Almost all of the steps in this article are from it.
Post Install Steps:
1. Setup a normal user account
By default, only the root user will be setup. After logging in we issue,
Code: Select all
# useradd -m -g users -G wheel,floppy,audio,video,cdrom,plugdev,power,netdev,lp,scanner -s /usr/bin/bash bob
Code: Select all
# passwd bob
Code: Select all
# EDITOR=nano visudo
Code: Select all
## Uncomment to allow members of group wheel to execute any command <- definitely read comments
%wheel ALL=(ALL) ALL
2. Setup a GENERIC kernel
Inorder to detect the wide range of hardware, a user might have. The default slackware install media as well as the after-install default slackware-kernel comes with all hardware modules pre-loaded into it. This results in a huge kernel. After installation, we can choose which all modules we need to run with the currently installed system.
Inorder to get root privilleges, issue
Code: Select all
$ sudo su -
# enter password for bob
Code: Select all
# /usr/share/mkinitrd/mkinitrd_command_generator.sh
Code: Select all
mkinitrd -c -k 4.4.14 -f ext4 -r /dev/sda3 -m xhci-pci:ohci-pci:ehci-pci:xhci-hcd:uhci-hcd:ehci-hcd:hid:usbhid:i2c-hid:hid_generic:hid-cherry:hid-logitech:hid-logitech-dj:hid-logitech-hidpp:hid-lenovo:hid-microsoft:hid_multitouch:jbd2:mbcache:ext4 -u -o /boot/initrd.gz
Code: Select all
# /usr/share/mkinitrd/mkinitrd_command_generator.sh -l /boot/vmlinuz-generic-4.4.14
Code: Select all
image = /boot/vmlinuz-generic-4.4.14
initrd = /boot/initrd.gz
root = /dev/sda3
label = 4.4.14
read-only
Code: Select all
lba32
compact # this would be commented, uncomment for faster boots
Code: Select all
# lilo -v
3. Infinality for X fonts
During the installation, I setup my internet connection with NetworkManager. If you have not, try making the init script for NetworkManager executable.
Code: Select all
# chmod +x /etc/rc.d/rc.networkmanager
When we normally startx at the command line, the fonts in default xfce-4.12 is not that great as when compared to ubuntu to other distros. Lucky for us, a slackware user has a repo with infinality (something close to it, but I'm happy with it). Download the zip from his github page. Unzip the archive and cd into it.
Become root and install the .sh script
Code: Select all
$ sudo su -
# cd path/to/infinality/download
# ./build-infinality-fonts.sh
4. Package Management:
With slackware we do not get automatic dependency resolution. But all is not lost, you can get some-sort of that functionality with 3rd party tools like slapt-get. We'll try something else.
(i) slackbuilds: Visit slackbuilds. Search for some package you want and download the tar.gz file for it (You have to choose the archive marked Download Slackbuild). Make sure, that the drop-down in the slackbuild search page is set to 14.2.
What is a SlackBuild ?
It's an archive that contains a .SlackBuild script, which when run, downloads the source for the package and builds the package to /tmp/ as a .tgz file. We then install the package using a utility called installpkg, as root .If I was building a program called redshift (good for your eyes) from slackbuilds, I'd do the following
- (*) Get the redshift.tar.gz (under Download SlackBuild) from here.
(*) Extract it to a suitable location.
(*) Become root and run(*) We'll get an installable archive in /tmp. Install the package withCode: Select all
# ./redshift.SlackBuild
Code: Select all
# installpkg /tmp/redshift-1.8-x86_64-1_SBo.tgz
We'll download sbotools from slackbuilds and perform the steps above to get it installed on our system.
sbotools will download the slackbuild repo to our machine. We can then use this, instead of using our web browser to visit slackbuilds. After installing sbotools issue
Code: Select all
# sbosnap fetch
# sbosnap update # not needed at first
Code: Select all
# sbofind packagename
# sboinstall packagename
Code: Select all
# nano /etc/slackpkg/mirrors # <- uncomment a mirror closest to you. Uncomment only one!
# slackpkg update gpg
# slackpkg update
Another cool utility among slackware users is slackpkg+. Download it and install it.
To configure slackpkg+, open /etc/slackpkg/slackpkgplus.conf and make the changes
Code: Select all
...
REPOPLUS=( slackpkgplus multilib restricted alienbob slacky ) # uncomment this
#REPOPLUS=( slackpkgplus ) # comment it
...
# Slackware 14.2 - x86_64
MIRRORPLUS['multilib']=http://bear.alienbase.nl/mirrors/people/alien/multilib/14.2/
MIRRORPLUS['alienbob']=http://bear.alienbase.nl/mirrors/people/alien/sbrepos/14.2/x86_64/
MIRRORPLUS['restricted']=http://bear.alienbase.nl/mirrors/people/alien/restricted_sbrepos/14.2/x86_64/
MIRRORPLUS['slacky']=http://repository.slacky.eu/slackware64-14.2/
# uncomment the above
Again, do
Code: Select all
# slackpkg update gpg
# slackpkg update
The documentation for slackpkg+ and sbotools are really well written. Consult the man pages if in doubt, first.
NOTE: There are a lot many tools out there that help in making your slackware system more at home. Check salix and slackel, to see how they do things.
Personal Touches
(i) Login Manager - LXDM :
Code: Select all
# sboinstall lxdm
Code: Select all
id:4:initdefault: # <- by default it'll be id:3:initdefault:
Code: Select all
# Launch lxdm first
if [ -x /usr/sbin/lxdm ]; then
exec /usr/sbin/lxdm
fi
Now reboot and see your login manager. Choose session as XFCE the first time. We'll have to configure it later.
(ii) Libreoffice & Multilib :
This is more of a preference actually, we can choose to install them with slackpkg+, as we saw above. But incase we need an alternative. We can use wget to download the entire repo and install manually.
Code: Select all
$ wget -r --no-parent --reject index.html* http://www.slackware.com/~alien/slackbuilds/libreoffice/pkg64/14.2/
# cd /path/of/package/download
# installpkg *.t?z
(iii) Setting bootscreen resolution with framebuffer :
I recieved an error while setting up lilo's framebuffer resolution, during install. So here's what I did
Code: Select all
# sboinstall hwinfo libx86emu
# hwinfo --framebuffer
example :
Code: Select all
...
Mode 0x037f: 1366x768 (+5504), 24 bits
...
Code: Select all
# VESA framebuffer console @ 1336x768x24k
vga = 0x037f
And with that, we have come to the end. Thanks for the time, and if you find the need to shout at me, please do so.
THANKS & CREDITS
- (*) Linux4UnMe
(*) Dougenchen's blog.
(*) Slack forums.
(*) Bones from our bbq, his posts inspired me to make the switch to slack.
(*) Alien Bob's blog
(*) Infinality for slack
Have fun folks,
~akts.