System Requirements

Before you begin, ensure your system meets the minimum requirements for Debian 12:

Component Minimum Recommended
CPU1 GHz 64-bit processor2+ GHz multi-core
RAM512 MB (GUI: 1 GB)4+ GB
Disk Space1 GB (GUI: 10 GB)40+ GB SSD
Display800×600 (for GUI)1920×1080+
BootUSB drive (4GB+) or DVDUSB 3.0 drive (8GB+)
💡

Debian Editions

Debian offers several installation images: netinst (minimal, downloads packages during install), DVD (full, no download needed), and Live (try before installing). The netinst image is recommended for most users.

Pre-Installation Preparation

1. Download the ISO

Download the Debian 12 netinst ISO from debian.org/distrib. Choose the appropriate architecture (amd64 for most modern computers).

bash
# Download using wget
$ wget https://cdimage.debian.org/cdimage/latest_netinst.iso/debian-12.0.0-amd64-netinst.iso

# Verify the download (GPG signature)
$ wget https://cdimage.debian.org/cdimage/latest_netinst.iso/SHA256SUMS
$ wget https://cdimage.debian.org/cdimage/latest_netinst.iso/SHA256SUMS.sign
$ gpg --verify SHA256SUMS.sign SHA256SUMS
$ sha256sum -c SHA256SUMS 2>&1 | grep netinst.iso

2. Create a Bootable USB

Use balenaEtcher, Rufus (Windows), or the dd command (Linux/macOS) to create a bootable USB drive.

bash
# Linux: Using dd (âš ī¸ be careful with the device name!)
# First, find your USB device:
$ lsblk

# Then write the ISO (replace /dev/sdX with your USB device)
$ sudo dd if=debian-12.0.0-amd64-netinst.iso of=/dev/sdX bs=4M status=progress oflag=sync

# Alternative: Using cp (faster on some systems)
$ sudo cp debian-12.0.0-amd64-netinst.iso /dev/sdX
$ sync
âš ī¸

Backup Your Data

Installation will erase data on the target drive. Make sure to back up any important files before proceeding.

Installation Process

Follow these steps to install Debian 12 on your system

1

Boot from USB

Insert the USB drive and restart your computer. Enter the BIOS/UEFI boot menu (usually F12, F2, ESC, or Del) and select the USB drive as the boot device.

When the Debian boot menu appears, select "Graphical install" for a GUI-based installation or "Install" for a text-based installation.

💡

UEFI vs Legacy BIOS

Modern systems use UEFI. Make sure your USB was created in the correct mode. The Debian installer supports both UEFI and Legacy BIOS installations.

2

Language & Region Setup

Select your preferred language, country/region, and keyboard layout. These settings determine the default locale and keyboard configuration for your system.

  • Choose your language (e.g., English)
  • Select your country or region
  • Configure your keyboard layout
  • Test the keyboard layout in the provided text box
3

Network Configuration

The installer will attempt to configure your network automatically via DHCP. If you use a static IP, you'll need to configure it manually.

bash
# Static network configuration (if needed)
# Edit /etc/network/interfaces after installation:
auto eth0
iface eth0 inet static
    address 192.168.1.100
    netmask 255.255.255.0
    gateway 192.168.1.1
    dns-nameservers 8.8.8.8 8.8.4.4
4

Partitioning

This is one of the most important steps. Choose a partitioning method:

  • Guided - use entire disk: Simplest option. Erases everything on the disk and sets up partitions automatically.
  • Guided - use entire disk with LVM: Sets up Logical Volume Management for flexible disk management.
  • Guided - use entire disk with LVM and encryption: Full disk encryption using LUKS.
  • Manual: Advanced option for custom partition layouts.
â„šī¸

Recommended Partition Scheme

For a typical desktop: /boot/efi (512MB, FAT32), / (root, 30-50GB), swap (equal to RAM or half of RAM), /home (remaining space). For servers, consider separate /var and /tmp partitions.

5

Base System Installation

The installer will install the base Debian system. This includes the Linux kernel, essential system libraries, and core utilities. This step may take 10-30 minutes depending on your hardware and connection speed.

During this step, you'll be asked to:

  • Configure the package manager (select your nearest mirror)
  • Choose whether to participate in the package usage survey (optional)
6

User & Password Setup

Set up your system accounts:

  • Set a root password (or leave blank to disable direct root login)
  • Create your regular user account with a password
  • Choose your timezone
💡

Security Best Practice

Leave the root password blank and use sudo with your regular user account. This is more secure and follows the principle of least privilege.

7

Software Selection

Choose which software to install. This is one of the most important choices:

  • Debian desktop environment: Installs a full desktop (GNOME is default)
  • GNOME: The default Debian desktop environment
  • KDE Plasma: A feature-rich, customizable desktop
  • XFCE: A lightweight desktop for older hardware
  • LXQt: An extremely lightweight desktop
  • Cinnamon: A traditional desktop environment
  • Web server: Apache/Nginx for web hosting
  • SSH server: OpenSSH for remote access
  • Standard system utilities: Essential command-line tools
â„šī¸

Minimal Installation

For servers or minimal setups, select only "Standard system utilities" and "SSH server." You can install additional software later using apt.

8

Bootloader Installation

Install GRUB, the bootloader, to the master boot record (MBR) or EFI system partition. This allows your system to boot into Debian.

  • For UEFI systems: GRUB will be installed to the EFI partition
  • For Legacy BIOS: GRUB is installed to the MBR of the primary disk
  • If you dual-boot with Windows, GRUB will detect it and add it to the boot menu
9

Complete Installation

Remove the USB drive and reboot. Your Debian system is now installed! After the first boot:

  • Login with your user account
  • Run sudo apt update && sudo apt full-upgrade to get the latest packages
  • Install any additional software you need
  • Configure your desktop environment to your liking

Post-Installation Setup

After your first boot, run these essential commands to set up your system:

bash
# 1. Update the system
$ sudo apt update
$ sudo apt full-upgrade -y

# 2. Install essential tools
$ sudo apt install curl wget git htop tmux tree \
    vim nano filezilla firefox \
    ffmpeg gstreamer1.0-plugins-ugly \
    fonts-liberation fonts-noto-color-emoji

# 3. Install firmware (for better hardware support)
$ sudo apt install firmware-linux firmware-linux-nonfree

# 4. Enable non-free repository (for proprietary drivers)
$ sudo echo 'deb http://deb.debian.org/debian bookworm non-free non-free-firmware' >> /etc/apt/sources.list
$ sudo apt update

# 5. Install NVIDIA drivers (if applicable)
$ sudo apt install nvidia-driver firmware-misc-nonfree

# 6. Clean up
$ sudo apt autoremove --purge -y
$ sudo apt autoclean

Adding Repositories

bash
# Add Debian Backports (newer packages)
$ echo 'deb http://deb.debian.org/debian bookworm-backports main' | sudo tee /etc/apt/sources.list.d/backports.list
$ sudo apt update

# Install from backports
$ sudo apt install -t bookworm-backports package-name

# Add Google Chrome repository
$ wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
$ sudo apt install ./google-chrome-stable_current_amd64.deb

# Add Docker repository
$ curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
$ echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list
$ sudo apt update && sudo apt install docker-ce docker-ce-cli containerd.io

Troubleshooting

🔧 Installation is stuck or very slow

+

If the installation is stuck during package download, try:

  • Select a different mirror (choose one geographically close to you)
  • Check your network connection
  • Try the DVD image instead of netinst if you have slow internet
  • Press Ctrl+Alt+F2 to switch to a console and check network with ping debian.org

đŸ–Ĩī¸ Black screen after installation

+

If you get a black screen after booting:

  • At the GRUB menu, press 'e' to edit the boot entry
  • Find the line starting with linux and add nouveau.modeset=0 (for NVIDIA) or nomodeset at the end
  • Press F10 to boot
  • After booting, install proprietary drivers

🌐 No internet after installation

+

Check your network configuration:

  • For wired: sudo dhclient eth0 (or your interface name)
  • For WiFi: Install wpasupplicant and configure with wpa_cli
  • Check interface names with ip link show
  • Verify DNS: cat /etc/resolv.conf

🔊 No sound after installation

+

Sound issues are common. Try these steps:

  • Install PulseAudio/PipeWire: sudo apt install pulseaudio pipewire pipewire-pulse
  • Check if sound is muted: alsamixer (press M to unmute)
  • Verify sound card is detected: aplay -l
  • For HDMI audio, you may need to configure the output device

💾 Disk full error

+

If you run out of disk space:

  • Check usage: df -h and du -sh /*
  • Clear apt cache: sudo apt clean
  • Remove old kernels: sudo apt autoremove --purge
  • Check journal logs: sudo journalctl --vacuum-size=100M
  • Find large files: find / -type f -size +100M