Installation Guide
A comprehensive step-by-step guide to installing Debian 12 "Bookworm" on your system.
System Requirements
Before you begin, ensure your system meets the minimum requirements for Debian 12:
| Component | Minimum | Recommended |
|---|---|---|
| CPU | 1 GHz 64-bit processor | 2+ GHz multi-core |
| RAM | 512 MB (GUI: 1 GB) | 4+ GB |
| Disk Space | 1 GB (GUI: 10 GB) | 40+ GB SSD |
| Display | 800Ã600 (for GUI) | 1920Ã1080+ |
| Boot | USB drive (4GB+) or DVD | USB 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).
# 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.
# 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
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.
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
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.
# 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
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.
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)
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.
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.
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
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-upgradeto 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:
# 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
# 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
linuxand addnouveau.modeset=0(for NVIDIA) ornomodesetat 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
wpasupplicantand configure withwpa_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 -handdu -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