Skip to content

Latest commit

 

History

History
314 lines (232 loc) · 7.76 KB

slack.org

File metadata and controls

314 lines (232 loc) · 7.76 KB

Slackware install and init walkthrough

Why?

  • Why not?
  • Security? Things are off by default.
  • Don’t want systemd?

Install

  1. Download the ISO from http://www.slackware.com/. (For most parts in the US, https://mirrors.kernel.org/ is a good mirror site.) If you are going to install on a physical machine, burn it to a DVD, use dd to “burn” it to a USB memory stick, or use Balena Etcher to “burn” it to a USB memory stick.
    dd if=slackware64-15.0-install-dvd.iso of=/dev/sdx bs=1M status=progress
        
  2. Mount the DVD and peruse these files before attempting an installation. They provide important information and are extremely helpful.
    • README.TXT
    • Slackware-HOWTO
    • RELEASE_NOTES

    You may also wish to read

    • ANNOUNCE.15.0
    • CHANGES_AND_HINTS.TXT
    • README.initrd
    • README_UEFI.TXT
    • README_CRYPT.TXT
  3. Pick your target system. In this demo, we are using libvirt/qemu-kvm.
    • OS template: slackware-current
    • CPU: 4 (at least 1)
    • Mem: 8192 MB (at least 1024 MB, probably 4096 MB if running Xorg)
    • Disk: 50 GB (fresh install fills 16GB). Use the VirtIO bus.
    • “Customize hardware before install”
    • Add a CDROM device (buried under Storage): point to the Slackware ISO. Use the IDE bus only for the CDROM.
    • Boot options: configure the system to boot from CDROM
  4. Begin Installation. Boot with the default kernel. Use the default US keyboard map.
  5. Login as root.

    Hint: Use <Shift>+<PageUp> and <Shift>+<PageDown> scroll the console.

  6. Partition: fdisk, cfdisk, or parted. For advanced configurations, you may wish to use GParted on your Ubuntu, Mint, or Slackware Live DVD. You may wish to consider using a separate /boot or /home partition.
    fdisk -l
    fdisk /dev/vda
    # Print drive topology
    p
    # Create one big primary partition.  Leave room for 1GiB of swap.
    # Sectors 2048-102760447
    n
    # Fill the remaining 1GiB with a swap partition.  Set its type to 82
    # so that the installer knows it is a swap partition.
    n
    t
    # Write the partition table to disk
    w
        
  7. Run setup.
  8. ADDSWAP. Select /dev/vda2.
  9. Select /dev/vda1 for the root partition. Format it as ext4.
  10. Select source media: Slackware DVD.
  11. Package series selection: Select everything. Use ‘terse’ mode. Approx. time: 9min 45sec.
  12. Skip USB flash boot.
  13. Install LILO: simple mode. Use the standard Linux console. Install to Master Boot Record (MBR).
  14. Load GPM (mouse server) b/c why not?
  15. Configure network. Set a hostname. Set domain to ‘localdomain’. No VLAN. Either use DHCP (for simple setup) or NetworkManager (for a desktop).
  16. Confirm startup services to run. You probably want rc.ntpd. You may or may not want rc.sshd. Use the space bar to enable/disable an item.
  17. Console fonts? (No for me.)
  18. Hardware clock set to UTC? YES!
  19. Select timezone: America/Los_Angeles
  20. Default vi Editor: nvi (default)
  21. Select default Window Manager for X: KDE
  22. Set a root password. Setup is complete!
  23. Drop to a shell. There is one more thing to do: create a limited user account.
    chroot /mnt bash -l
    groupadd -g 2290 kyle
    adduser
    # Name: kyle, UID: 2290, Group: kyle, press UP arrow to select default
    # additional groups, add ‘users’ to list of additional groups.
        
  24. That’s it! poweroff. Remove the DVD and disable CDROM boot.

Install all the patches

First, consult the manual.

man slackpkg

Uncomment a mirror.

vi /etc/slackpkg/mirrors
# Uncomment http://mirrors.us.kernel.org/slackware/slackware64-15.0/

Update indexes and upgrade. Most of the time, you will only need ‘update’ and ‘upgrade-all’. However, the full dist-upgrade procedure is

slackpkg update
slackpkg install-new
slackpkg upgrade-all
slackpkg clean-system

If there is a kernel upgrade, then there are two commands you must run after the upgrade finishes.

geninitrd
lilo

If you do not run these two commands after upgrading your kernel, then your system will not boot!

Tip: perform kernel upgrades in a separate transaction.

Consult /var/lib/slackpkg/ChangeLog.txt for a list of package changes.

Configure some things

  • Add SSH keys.

    In the VM: get the IP address.

    ip a
        

    On the host: add the IP address to /etc/hosts (for convenience) and run ssh-copy-id.

    sudo vi /etc/hosts
    ssh-copy-id -i ~/.ssh/id_rsa.pub slack1
        
  • Annoyance #1: I don’t want GPM. How do I to disable a service?
    cd /etc/rc.d
    ./rc.gpm stop
    chmod -x rc.gpm
        

    Each service has a shell script that starts it. The executable bit determines whether it is run during boot.

  • Annoyance #2: LILO timeout time is 2 minutes. Yikes! Let’s fix that.
    vi /etc/lilo
    # Set
    # timeout = 20
    # (Values are tenths of a second.)
    
    lilo
        

    While we are in there, let’s set the generic kernel to boot with the initrd. The initrd is automatically generated in 15.0 (new). However, you need to configure LILO to boot it. There is a section that reads

    # Linux bootable partition config begins
    image = /boot/vmlinuz
      root = /dev/vda1
      label = Linux
      read-only
    # Linux bootable partition config ends
        

    Change it to

    # Linux bootable partition config begins
    image = /boot/vmlinuz-generic
      initrd = /boot/initrd.gz
      root = /dev/vda1
      label = Linux
      read-only
    image = /boot/vmlinuz-huge
      root = /dev/vda1
      label = Linux-huge
      read-only
    # Linux bootable partition config ends
        
    lilo
        
  • Configure sudo. As root, run
    usermod -a -G wheel kyle
    visudo
        
    ## Uncomment to allow members of group wheel to execute any command
    %wheel ALL=(ALL:ALL) ALL
        

    As kyle (logout and login again), run

    sudo -l
        
  • Where is the GUI?

    There are two ways to get a GUI. Both are valid. Which one you use is personal preference.

    Method #1 is to enable a Display Manager. This will display a nice graphical login screen. To enable a Display Manager, set the default runlevel from 3 to 4.

    vi /etc/inittab
    # Find the line that looks like
    #
    # id:3:initdefault:
    #
    # Change it to
    #
    # id:4:initdefault
    
    telinit 4 ; exit
    # OR
    reboot
        

    Method #2 is to login to a tty and run startx. This is the “old-school” way of running Xorg. First, select your preferred desktop environment (xwmconfig) to create a .xinitrc. Then, run startx.

    xwmconfig
    startx
        

Useful Slackware-specific commands

slackpkg
Install official updates
pkgtool
Local packages, re-run setup scripts
upgradepkg
Upgrade/Downgrade or (in case of --install-new) install a new package
installpkg
Install a new package, regardless of status
sbotools, sbopkg
Build packages from https://slackbuilds.org/, which is like ports or AUR for Slackware.

Rough benchmarks

  • Used memory: 93 MB without graphics, 518 MB in KDE with Konsole running.

Other fun things