All Notes

Linux Distributions Setup

January 10, 2026 🐧 System Configuration & Linux
linux os setup drivers

Linux Distributions Setup Guide

Choosing the right Linux distribution depends heavily on your hardware (PC vs. Laptop) and your intended use case (Daily Driver, Security, Development, or Experimentation). This note outlines the recommended setups, driver considerations, and virtualization strategies.

1. Hardware Considerations: PC vs. Laptop

Desktop PC Setup

  • Power: Generally less concern for battery life; focus on performance and cooling.
  • Hardware Compatibility: Easier to swap components (WiFi cards, GPUs) if drivers fail.
  • Recommended Distros:
    • Ubuntu LTS: Stability for workstations.
    • Manjaro: Access to AUR for latest software/drivers.
    • NixOS: For reproducible system configurations.

Laptop Setup

  • Power Management: Critical for battery life (TLP, Powertop).
  • WiFi & Suspend: Common pain points. Ensure kernel supports your specific WiFi card (Intel usually best, Realtek/Atheros can be tricky).
  • Hybrid Graphics: Laptops often have Intel + Nvidia. Requires careful driver handling (Prime offloading).
  • Recommended Distros:
    • Fedora Workstation: Great balance of new kernels and stability.
    • Pop!_OS: Excellent Nvidia ISO support out of the box.

2. Distribution Breakdown

Ubuntu (Daily Driver)

  • Use Case: General development, stability, server mirroring.
  • Pros: Huge community, .deb package availability, LTS support.
  • Cons: Can feel bloated, older packages in LTS.
  • Setup Tip: Use tasksel to install specific server/desktop environments cleanly.

Kali Linux (Security)

  • Use Case: Penetration testing, security audits.
  • ⚠️ Warning: Do not use as a daily driver. It runs as root by default in older versions (now standard user but still risky) and contains vulnerable tools.
  • Setup: Prefer running via Virtual Machine or Live USB.

Manjaro (Enthusiast)

  • Use Case: Gaming, latest tools, hardware detection.
  • Pros: mhwd for hardware drivers, AUR access, rolling release.
  • Cons: Rolling releases can break occasionally; hold updates during major kernel shifts.

NixOS (Advanced)

  • Use Case: Dev environments, reproducibility, learning functional system config.
  • Pros: Atomic updates, easy rollbacks, declarative configuration (configuration.nix).
  • Cons: Steep learning curve, non-standard filesystem hierarchy.

3. Driver Caution: Nvidia GPUs

Nvidia proprietary drivers are the most common cause of boot loops or screen tearing on Linux.

Installation Steps (Ubuntu/Debian based)

Remove existing Nvidia drivers

sudo apt purge 'nvidia'

Add graphics drivers PPA

sudo add-apt-repository ppa:graphics-drivers/ppa sudo apt update

Check recommended driver

ubuntu-drivers devices

Install specific driver (e.g., 535)

sudo apt install nvidia-driver-535 sudo reboot

Secure Boot

Issue: Secure Boot often blocks unsigned proprietary drivers. Fix: Either disable Secure Boot in BIOS or sign the Nvidia kernel module manually (MOK management).

Hybrid Graphics (Laptops)

Use prime-select to switch between integrated and discrete GPU.

4. Virtual Environments & Security Distros

For security tools, isolation is key. Never expose your host machine to potentially malicious payloads during testing.

VirtualBox / KVM Setup

Kali Linux: Download the pre-built VM images from Offensive Security to avoid installation issues.

Parrot Security OS: Lightweight alternative to Kali. Better for daily security work due to lower resource usage.

BlackArch: Arch-based pentesting distro. Can be installed on top of existing Arch Linux or run via ISO. Warning: BlackArch installs thousands of tools. Use the blackarch-tools group to install specific categories rather than the whole suite.

Ventoy Multi-Boot

Use Ventoy on USB drives to hold multiple ISOs (Kali, Ubuntu, Tails, Rescuezilla) without reformatting every time.

5. Post-Installation Checklist

Update System:

sudo apt update && sudo apt upgrade -y

Install Essential Tools:

git, curl, wget, vim, htop.

Configure Firewall:

Enable ufw (Uncomplicated Firewall).

Timeshift:

Set up system snapshots before making major changes.

SSH Keys:

Generate SSH keys for GitHub/GitLab access.