Planning & Installing
Debian Development Machine Setup
Chapter 1 ยท Planning the Machine & Installing Debian 13
A development machine is different from the server you deploy to. It is where you install things, break things, try three versions of a tool, and put it all back. So it is worth planning it properly once, and writing down what you did, rather than letting it grow by accident. This course builds one such machine from an empty disk to a documented, repeatable setup. In this first chapter we choose the operating system, check the hardware, and get Debian installed.
devserver. Your existing web server is debserver.
The names differ by a single letter, so check the prompt before you run anything that changes a system.
Chapter 2 shows how to make the shell prompt say which machine you are on.
Why Debian 13 (“Trixie”)
Debian 13, codenamed Trixie, was released on 9 August 2025. It ships with the Linux 6.12 LTS kernel and offers GNOME 48, KDE Plasma 6.3, Xfce 4.20, LXQt 2.1 and LXDE as desktop choices. At the time of writing the current point release is 13.7 (12 September 2026).
| Debian 12 (Bookworm) | Debian 13 (Trixie) | |
|---|---|---|
| Released | June 2023 | 9 August 2025 |
| Full support ends | 11 July 2026 (already over) | 9 August 2028 |
| Long Term Support until | 30 June 2028 | 30 June 2030 |
| 32-bit PC (i386) | Installable | No installer, no kernel |
Bookworm is still safe to run, since Long Term Support keeps supplying security fixes until mid-2028, but a brand-new machine should start on the current release. Trixie gives you newer toolchains, which matters on a development box, and it keeps you in the Debian family, so everything you know from Setting Up a Web Server on Debian and Linux Package Managers 2 (APT in Depth) applies directly.
amd64). The Debian release notes
advise anyone running a 32-bit system to reinstall as amd64 or retire the hardware instead of upgrading.
Checking the Hardware Before You Start
Debian's stated minimum for a desktop is modest (about 1 GB of RAM, with 2 GB recommended, and 10 GB of disk), and your machine is far above it. The questions that matter here are practical ones. Go through this list before you touch the installer.
| Check | What to find out |
|---|---|
| Graphics card fit | The case is low-height. Measure the slot: card height (is it low-profile?), length, and cooler thickness. A 6 GB card may also need extra power connectors and a power supply with enough capacity, and a small work desktop often has neither. |
| RAM | 64 GB of DDR4: confirm in the BIOS/UEFI screen that all of it is detected and that the sticks are in the right slots. |
| Storage | How big is the drive, and is it an SSD? Development means many small files, so an SSD makes a large difference. Note the size; you will need it for the partition plan below. |
| Network | A wired connection during installation is the simplest way to fetch packages and updates. |
| Boot mode | Is the firmware UEFI or legacy BIOS, and is Secure Boot switched on? Modern machines are usually UEFI. |
| Work ownership | The machine came from work. Ask whether it has a BIOS/UEFI password, management software, or a policy about wiping and reusing it, before you erase anything. |
Choosing an Installation Image
Debian offers a few kinds of image for amd64. The two you are most likely to choose between are:
- Netinst — a small image that installs the base system and downloads the rest over the network. It needs a working internet connection during installation and always installs current packages.
- DVD — a large image containing many packages, so it can install without a network.
Official images have included the non-free firmware that some hardware needs since Debian 12. During
installation Debian's installer checks which firmware your hardware wants and configures the
non-free-firmware repository component when it is needed, so a Wi-Fi card or graphics chip is
less likely to leave you stuck on a black screen than in earlier releases. Chapter 4 returns to the
graphics card, which is a separate matter: the proprietary NVIDIA driver is not part of that firmware
package set.
Which desktop?
The installer lets you choose a desktop environment. GNOME is the default and a fine choice. KDE Plasma suits people who like to configure things. Xfce is lighter, but with 64 GB of RAM that is not a concern for you. The rest of this course works on any of them, because the tools we install run the same regardless. Pick the one you would be happy to look at all day.
Verifying and Writing the Installer
Download the netinst image for amd64 from debian.org, together with the SHA512SUMS and
SHA512SUMS.sign files from the same directory. Then check the image before you use it. A
corrupted or tampered installer is a bad way to start.
The first command confirms the image matches its listed checksum. The second confirms the checksum file carries a genuine Debian signature. Compare the key fingerprint gpg reports with the fingerprints published on Debian's verification page.
Debian's images are hybrid, which means they can be copied straight onto a USB stick and booted.
On Linux, find the stick with lsblk, then write the image to the whole device.
dd does exactly what it is told. If of= points at your system disk instead of the
USB stick, the disk is overwritten immediately. Read the device name twice, compare its size in
lsblk with the stick you expect, and never write to a partition such as sdb1. Do
not use tools such as UNetbootin, which modify the image instead of copying it. On Windows, use a tool that
writes the ISO in raw (“DD image”) mode.
The version number in the file name changes with each point release, so use whatever the current netinst file is called on the download page.
Planning the Partitions
Debian's guided partitioning offers several schemes: everything in one partition, a separate
/home, or separate /home, /var and /tmp. It can also
build an encrypted LVM setup, which puts everything except a small /boot inside an encrypted
volume. For a development machine, a separate /home is the option worth taking. It keeps your
projects, settings and downloads apart from the system, so you can reinstall or upgrade the operating
system later without touching your work.
| Partition | Suggested size | Why |
|---|---|---|
| EFI System Partition | 512 MB – 1 GB | Needed for booting a UEFI machine; the installer creates it for you. |
/ (ext4) | 60 – 100 GB | The system, plus packages, tools and language runtimes you will install. |
| swap | 8 – 16 GB | With 64 GB of RAM you will rarely swap. Make it at least as large as RAM only if you want hibernation. |
/home (ext4) | Everything left | Projects, repositories, downloads, settings. |
These sizes are this course's suggestion, not Debian's rule. Adjust them to your disk. Encrypting the disk is worth considering if the machine could be lost or stolen, or if company policy requires it. Ask when you check the work-ownership question above, because an encrypted disk cannot be recovered if you forget the passphrase.
/tmp to be a tmpfs filesystem held in memory, using up
to 50% of RAM by default. On this machine that is a large, fast scratch area, which suits builds and
compilers. It also means very large temporary files are stored in memory and vanish on reboot, and you can
change the limit with systemctl edit tmp.mount.
Running the Installer
Boot from the USB stick (the boot menu key varies by manufacturer; it is often F12, F10 or Esc during start-up). Choose the graphical or text installer, then work through the questions. The choices that matter for this machine are:
- Language, location and keyboard — choose these to match the physical keyboard you actually have.
- Hostname —
devserver. Leave the domain name blank unless you have one. - Root password — leave it empty. Debian then disables the root account and makes your first user an administrator who can use
sudo, which is the safer everyday setup and the one this course assumes. - Your user account — a strong password; this is the account you will live in.
- Partitioning — pick manual or guided with a separate
/home, and review the summary carefully before you confirm the write to disk. - Mirror — choose a mirror in your own country for faster downloads.
- Software selection — tick your chosen desktop environment and “standard system utilities”. It is worth also ticking “SSH server” so you can log in remotely (Chapter 2 revisits this). Leave the web server option off; you are not building the web server here.
First Checks After the Reboot
When the machine restarts into the installed system, confirm that what you built is what you meant to build. Open a terminal and run:
If lspci is not found, install it with sudo apt install pciutils. It is included
in the standard system utilities on many installs but not all. If free -h shows much less than
64 GB, or lspci does not list a graphics card, stop here and sort it out; a stick loose in
its slot is more common than a hardware fault. Everything after this chapter assumes the hardware is
behaving.
Hands-On Exercises
Write a one-page hardware and installation plan for devserver. Include: the measurements or checks you will do for the graphics card, the disk size you found, whether the firmware is UEFI, the answer to the work-ownership question, your chosen desktop and why, and the exact partition table you will create.
Practise verification without needing a Debian download. Create a small file, generate its checksum into a file with sha512sum, verify it with sha512sum -c, then change one character in the file and verify again. Explain what each result proves, and what the gpg --verify step adds that a checksum alone cannot.
A 1 TB SSD will hold devserver. Design the partition table (sizes and filesystems) and justify each choice. Then explain what Trixie's in-memory /tmp means for someone compiling a large project on this machine, and what you would do if a build ran out of space there.
Chapter 1 Quick Reference
- Debian 13 (Trixie) was released 9 August 2025; full support runs to 9 August 2028 and Long Term Support to 30 June 2030
- Debian 12 (Bookworm) full support ended 11 July 2026; LTS continues until 30 June 2028
- Trixie has no 32-bit x86 installer or kernel; the new machine must be amd64
- Official images include non-free firmware since Debian 12; the NVIDIA driver is a separate matter (Chapter 4)
- Verify the download:
sha512sum -c SHA512SUMS --ignore-missingthengpg --verify SHA512SUMS.sign SHA512SUMS - Write the image to the whole device (
/dev/sdX, not a partition) withdd ... conv=fsync, thensync - A separate
/homelets you reinstall the system without touching your work - Trixie mounts
/tmpastmpfsin RAM, up to 50% of RAM by default - Leave the root password empty in the installer to get a
sudo-enabled first user - After installing, check
/etc/os-release,uname -m,dpkg --print-architecture,free -h,lsblkandlspci