Building My Work Environment (Part 1)
Part 1 - Base System
I have been a long time Slackware Linux user, probably since Slackware 9 or so. Because of its UNIX-like architecture and stability, Slackware has always been the main OS for my workstation (although I do distro hoppings on my laptop among Debian, FreeBSD, and Arch Linux).
This is just my notes for a list of steps/software I need to install to create my work environment from fresh install of Slackware.
Disclaimer:
The information in this site is the result of my researches in the Internet and of my experiences. This information below is solely used for my purpose and may not be suitable for others.
Partition Scheme:
On my current system, I have 16GB of RAM. So, theoretically, I don't think I need a swap partition; however, just in case my system goes haywire, I reserve 1GB of swap partition.
/dev/sda1 - swap (1GB)
/dev/sda2 - / (around 80GB)
/dev/sda3 - /backup (Rest of space)
Installation of Slackware:
Nothing needs to be noted. Follow its instruction.
Post Installation:
After rebooting the system, there are some tasks need to be done.
Create a user
A regulsr user to do daily tasks.
# adduser
... follow the instructions ...
Switch to a generic kernel
Run the following script to output the mkinitrd command with customized options. In my case it was below:
# /usr/share/mkinitrd/mkinitrd_command_generator.sh
#
# mkinitrd_command_generator.sh revision 1.45
#
# This script will now make a recommendation about the command to use
# in case you require an initrd image to boot a kernel that does not
# have support for your storage or root filesystem built in
# (such as the Slackware 'generic' kernels').
# A suitable 'mkinitrd' command will be:
mkinitrd -c -k 4.4.14 -f ext4 -r /dev/sda2 -m usb-storage:ehci-hcd:ehci-pci:xhci-pci:ohci-pci:xhci-hcd:uhci-hcd:hid:usbhid:i3c-hid:hid_generic:hid-cherry:hid-logitech:hid-logitech-dj:hid-logitech-hidpp:hid-lenovo:hid-microsoft:hid_multitouch:jdb2mbcache:ext4 -u -o /boot/initrd.gz
Update lilo.conf
Since I have LILO installed (the default bootloader of Slackware), its configuration file needs to be updated to boot into the generic kernel. But first run below command to output example sections that need to be updated:
# /usr/share/mkinitrd/mkinitrd_command_generator.sh -l /boot/vmlinuz-generic-4.4.14
...
image = /boot/vmlinuz-generic-4.4.14
initrd = /boot/initrd.gz
root = /dev/sda2
label = 4.4.14
read-only
...
While editing /etc/lilo.conf, insert lba32, uncomment compact options, and change the timeout value to 0 (zero):# vim /etc/lilo.conf
...
lba32
compact
...
timeout = 0
...
Then, run below command to update LILO:# lilo -v
Black listing nouveau video driver
I have rather old video card from NVIDIA which complains about nouveau video driver during its installation. So, the nouveau driver needs to be black listed before installing the video driver from NVIDIA.
To view the name of video driver:# lspci | grep -i vga
01:00.0 VGA compatible controller: NVIDIA Corporation GF106 [GeForce GTS 450] (rev a1)
Then, download xf86-video-nouveau-blacklist-noarch-1.txz from the extra directory in the source tree:# installpkg xf86-video-nouveau-blacklist-noarch-1.txz
...
Package xf86-video-nouveau-blacklist-noarch-1.txz installed.
Run the NVIDIA video driver script that's downloaded from the NVIDIA site:# ./NVIDIA-Linux-x86_64-390.48.run
Download Security Patches from slackware.com:
No need to explain:# mkdir /tmp/patches
# cd /tmp/patches
# wget ftp://ftp.slackware.com/pub/slackware/slackware64-14.2/patches/packages/*.txz
...
# upgradepkg *.txz
In next article, let's talk about installing other utilities.
- Part 1 - Base System
- Part 2 - Getting Some Utilities Installed
- Part 3 - Oh, what's that Window Manager?
- Part 4 - De-Uglifying i3
- Part 5 - Show Me Japanese in my Terminal
- Part 6 - Let's type in Japanese
Things To Be Installed:
Fonts:- font-awesome
- Kochi (Japanese)
- Ricty - See my previous post about Ricty on Slackware 14.2
- Sazanami (Japanese)
Icons:
- Faenza (Slackbuilds.org)
File Manager:
- pcmanfm
- ranger
- highlight (for ranger)
- My customized ranger/rc.conf (~/.config/ranger/)
Music:
- cmus
Terminal:
- rxvt-unicode
- My customized .Xresources (~/)
Text Editor:
- nvim
- My customized nvim/init.vim (~/.config/nvim/)
Themes:
- lxappearance
- nitrogen
- My customized .bashrc (~/)
- My customized Morning Glory (~/.themes/)
Version Control:
- git
Virtualization:
- virtualbox-kernel
- virtualbox
Web Browser:
- chromium
Window Manager:
- i3
- i3status
- i3pystatus
- My customized i3/conf (~/.config/i3/)
- My customized i3pystatusconf.py (~/.config/i3/)
Others:
- rofi - Replacement for dmenu
- scrot - Command line screen capture
- My customized rofi/config (~/.config/rofi/)
That's all!
-gibb