Jul 30, 2026
Installing Linux on Old (and Not-So-Old) Laptops in 2026: A Field Report
What I learned setting up Linux on two family laptops before leaving the country, including everything that went wrong, why, and how to avoid it.
The Backstory
I was preparing to move to the US and had two laptops back home that needed to run reliably without me around to remote-debug them. My father would keep his 2012-vintage Lenovo E49; my wife would use a 2016-era i3 laptop with 8 GB RAM and a 932 GB HDD. Both needed to be dead-simple to use, hardened against typical failure modes, and, critically, should not brick themselves the moment I stepped onto a plane.
Neither user is technical. Both have specific, narrow use cases. Both had Windows installations I couldn't get into: one because the password was lost, the other because the Windows trial was unactivated. The choice, essentially, was: buy new laptops, keep fighting broken Windows, or install Linux.
I chose Linux. This is what I learned across ~15 hours of installation, troubleshooting, and setup.
Part 1: Choosing the Right Distro
Distro selection matters less than most guides make it seem, but only if you frame the question correctly. The right questions aren't "which is best?" but:
- Who will use it? (technical? non-technical?)
- What are the specific applications? (browser only? productivity? gaming?)
- How old is the hardware? (RAM, CPU, graphics)
- Who will support it? (yourself? someone remote? nobody?)
- How much does streaming quality matter? (see the DRM section)
Streaming and DRM: The 720p Ceiling
One thing worth knowing up front: Netflix, Prime Video, Hotstar and most streaming services cap Linux at 720p. This is because of Widevine DRM levels. Windows and macOS get "L1" (hardware-backed) DRM which unlocks 1080p and 4K. Linux (any distro) and ChromeOS Flex both get "L3" (software-based) DRM which caps at 720p.
If your user cares about 1080p Netflix, Linux isn't the right answer. If they don't notice the difference (or don't do much streaming), it's a non-issue. Verify this preference before committing.
The Framework I Used
For an older laptop with a non-technical user, browsing/trading/simple use, and someone else supporting it: Linux Mint XFCE.
For modern hardware (2018+) with a non-technical user, browsing/job apps/streaming: Linux Mint Cinnamon.
For modern hardware with a technical user who wants a beautiful, minimalist macOS-like experience: Fedora Workstation.
For install-once-and-forget for years on any hardware: Debian 12.
Notable non-recommendations:
- Ubuntu (Snap package system creates friction; Mint is essentially Ubuntu with those annoyances stripped out)
- Arch/Manjaro/EndeavourOS (rolling release surprises are the opposite of what non-technical users need)
- ChromeOS Flex (worse Android MTP support than Linux, no Android app support, uncertain future, and same 720p ceiling as Linux: you get the streaming penalty without the flexibility)
Why Linux Mint Dominates for Family Machines
The reason Mint keeps coming up isn't that it's the objectively best distro; it's that it's built on Ubuntu LTS (long-term support until 2029 for the current version), the Cinnamon and XFCE desktops feel familiar to Windows users, and, most importantly for remote support, searching for Mint error messages returns useful results. When something breaks and you're troubleshooting from another time zone, community size and StackOverflow footprint matter enormously.
If you're supporting multiple machines, standardize on one distro family. My father's XFCE and my wife's Cinnamon are the same underlying system, just different desktop shells. Same commands, same fixes, same forums.
Part 2: Case Study: The 2012 Lenovo E49 (Broadcom Hell)
The Situation
- Lenovo E49, roughly 13 years old
- Sandy Bridge / Ivy Bridge era Intel CPU
- Roughly 2-4 GB RAM (I don't remember exact spec)
- Spinning HDD, ~300 GB
- Broadcom BCM4313 Wi-Fi chip ← this becomes important
- Locked out of Windows, no password
- User: my father. Would use it for browsing, stock trading via ICICI Direct (web-based), and moving files between his Android phone and the laptop
- Support model: my father calls me. I have to debug remotely from a different country.
Distro Choice: Linux Mint XFCE
XFCE (rather than Cinnamon or MATE) because:
- Lightest official flavor of Mint: snappy on old hardware
- Windows-7-like layout: familiar to older users
- Same underlying system as other Mint flavors: my troubleshooting knowledge is portable
- Full desktop OS: handles Android MTP file transfers plug-and-play (something ChromeOS Flex struggles with)
Preparing the Installer
Since I was on a Mac, my tool was Balena Etcher (Rufus is Windows-only). Flashed the Mint 22.3 XFCE ISO onto an 8+ GB USB stick.
Lesson 1: When macOS pops up "The disk you inserted was not readable by this computer" after Etcher finishes, that's the correct behavior. It means the USB now contains a Linux filesystem that macOS genuinely cannot read. Click Eject or Ignore, never Initialize (which would reformat and destroy your work).
Booting the E49 from USB
Standard Lenovo: F12 during boot for the boot menu. If it doesn't work, F2 for BIOS, then disable Secure Boot and set Legacy/CSM boot mode if needed.
The Install Almost Went Fine, Except…
Two errors during install:
Error 1: "Partition(s) 2, 4, 5 on /dev/sda have been written, but we have been unable to inform the kernel of the change."
This is the installer saying "I wrote the new partition table but the kernel is still holding onto the old one." The advice was to click Ignore and continue. Which is correct advice most of the time, but here it led to Error 2.
Error 2: "Failed to create a file system. The ext4 file system creation in partition #2 of SCSI2 (0,0,0) (sda) failed."
The install couldn't format the disk because the old Windows partitions were still "in use" by the kernel that had booted from USB. The fix: exit the installer, drop to a terminal, and manually wipe the disk before restarting the installer.
Commands used:
sudo lsblk # confirm sda is the target
sudo umount /dev/sda* # unmount anything
sudo swapoff -a # disable any active swap
sudo wipefs -a /dev/sda # wipe all filesystem signatures
sudo sgdisk --zap-all /dev/sda # nuke both MBR and GPT partition tables
sudo lsblk # verify: sda should show no partitions
Rerun the installer. Now it worked cleanly.
Lesson 2: When Windows-to-Linux conversion fails at partitioning, a manual wipefs + sgdisk --zap-all before running the installer is the reliable fix.
The Broadcom Wi-Fi Saga
Installed. Booted. No Wi-Fi.
The Lenovo E49 has a Broadcom BCM4313 Wi-Fi chip. Broadcom froze their Linux driver source (broadcom-sta) in 2013 and hasn't updated it since. Every kernel released since then has to be paired with an older driver that's been laboriously kept compilable via community patches.
The install had shipped without internet (an oversight: plug in Ethernet or connect to Wi-Fi during install to avoid this), so post-install we had:
- No Wi-Fi driver installed
- ~1.2 GB of pending system updates
- No way to download either without internet
Once I got Ethernet plugged in, Driver Manager showed the broadcom-sta-dkms driver was available. Attempted to install it. Failed with:
E: http://archive.ubuntu.com/ubuntu noble-updates/restricted amd64 broadcom-sta-dkms all 6.30.223.271-23ubuntu1.1 is not (yet) available (Could not resolve 'archive.ubuntu.com')
Turns out the laptop had briefly lost DNS resolution. Reconnected. Retried. The driver installed. Wi-Fi came alive. Ran the ~1.2 GB pending update.
The Kernel-Wi-Fi Catastrophe
Then came the real drama. The update pulled in Linux kernel 6.17. Which is so new that the Broadcom 2013-vintage driver refused to compile against it:
dkms autoinstall on 6.17.0-29-generic/x86_64 failed for broadcom-sta(10)
Error! One or more modules failed to install during autoinstall.
Translation: the running Wi-Fi driver worked (because it was built against the old kernel already installed). But the next reboot would boot into kernel 6.17, where the driver wouldn't load, meaning Wi-Fi would silently break the next time my father turned on the laptop while I was overseas.
The fix: pin to the stable Ubuntu 24.04 LTS default kernel (6.8.0-117-generic) and hold it in place.
The full sequence:
- Temporarily make the GRUB menu visible at boot:
sudo nano /etc/default/grub
# Change:
# GRUB_TIMEOUT_STYLE=hidden
# GRUB_TIMEOUT=0
# To:
# GRUB_TIMEOUT_STYLE=menu
# GRUB_TIMEOUT=10
sudo update-grub
sudo reboot
-
At GRUB menu → Advanced Options → boot into kernel
6.8.0-117-generic. -
Verify:
uname -r→ should show6.8.0-117-generic. Confirm Wi-Fi still works. -
Remove the newer kernel (which is now no longer the running one, so removal will succeed):
sudo apt remove --purge linux-image-6.14.0-37-generic linux-headers-6.14.0-37-generic linux-modules-6.14.0-37-generic linux-modules-extra-6.14.0-37-generic
sudo apt autoremove --purge
sudo apt --fix-broken install
sudo update-grub
- Hide the GRUB menu again:
sudo nano /etc/default/grub
# Restore:
# GRUB_TIMEOUT_STYLE=hidden
# GRUB_TIMEOUT=0
sudo update-grub
- Hold the kernel packages so future updates won't touch them:
sudo apt-mark hold linux-image-generic linux-headers-generic linux-image-generic-hwe-24.04 linux-headers-generic-hwe-24.04 linux-generic linux-generic-hwe-24.04
apt-mark showhold # verify
Now the laptop is pinned to kernel 6.8.0-117 forever (or until I manually unhold it on a future visit). It still gets security patches for this specific kernel through the normal update channel, but won't ever roll forward to a newer kernel that could break Wi-Fi.
Lesson 3: For legacy Broadcom Wi-Fi hardware, holding the kernel is not paranoia; it's the difference between a working laptop and a bricked one when you're not around. The HWE (Hardware Enablement) kernel channel that Ubuntu/Mint use by default keeps rolling forward, and every roll is a fresh compatibility gamble with 2013-era drivers.
First-Time Attempt Failed Because of an Offline Install
If I could redo the E49 install from scratch, the single change I'd make is: connect to Ethernet or Wi-Fi during the install itself, so the installer pulls the latest packages inline rather than needing a massive post-install catch-up that includes surprise kernel jumps.
The offline install pulled in an older kernel (6.14) that also had Broadcom issues. Then the huge post-install update pulled in 6.17, which broke everything. If the install had been online from the start, the installer would have used package versions from the Mint 22.3 release date, with no kernel surprises.
Part 3: Case Study: Modern i3 for My Wife (USB Stick Hell)
The Situation
- Lenovo laptop, 2016-2017 era
- Intel Core i3-6006U (6th gen, Skylake, 2 cores / 4 threads)
- 8 GB RAM
- Intel HD Graphics 520
- 932 GB HDD (WDC WD10SPZX: spinning, not SSD)
- Intel Wi-Fi (works out of the box)
- Windows was in an unactivated trial state, no product key
- User: my wife. Would use it for browsing, job applications (Naukri, LinkedIn, HireVue), streaming (Netflix, 720p acceptable)
Distro Choice: Linux Mint Cinnamon
Cinnamon over XFCE because:
- Hardware is comfortably fast enough for it
- Cinnamon looks more modern (Windows-10-like): polished but familiar
- Same underlying Ubuntu 24.04 LTS base as my father's XFCE install, so I still get portability of troubleshooting knowledge
The other real contender was Zorin OS Core: genuinely more polished aesthetically, has a Windows-11 like default layout, built specifically for switchers. In isolation, Zorin might have been the better pick. But given that I was already Mint-fluent from my father's install, standardizing on Mint reduced my support burden. That reasoning is worth taking seriously if you're the person supporting multiple machines.
The USB Stick Nightmare (What Wasn't Obvious)
The single biggest time-waster of my entire installation experience was a bad USB stick. Not the OS. Not the laptop. Not the drivers. A cheap USB stick with intermittent write failures.
Here's the diagnostic journey:
Symptom 1: After flashing with Etcher, diskutil list external on Mac showed:
/dev/disk4 (external, physical):
#: TYPE NAME SIZE IDENTIFIER
0: Apple_partition_scheme *62.0 GB disk4
1: Apple_partition_map 4.1 KB disk4s1
2: Apple_HFS 5.2 MB disk4s2
(free space) 62.0 GB -
Only 5.2 MB visible on a 64 GB stick. I misread this as a fake-capacity USB stick (which is a real problem in unregulated markets). Wrong diagnosis.
Symptom 2: dd said 3 GB was successfully written:
3091660800 bytes transferred in 470.708499 secs (6568101 bytes/sec)
But diskutil list still showed the same broken 5.2 MB partition afterward.
I burned an hour chasing "counterfeit USB" diagnostics. The real problem was more subtle.
Lesson 4: diskutil list on macOS is unreliable for reading Linux hybrid ISO layouts. The Mac genuinely can't parse Linux partition schemes, and its output is often misleading. The only trustworthy test is whether the target laptop actually boots from the USB.
I eventually figured this out and just tried booting. The USB did boot the laptop into Mint's live environment. Cinnamon desktop appeared. Everything looked fine.
But then the "Welcome" window got stuck. Wouldn't close. Couldn't launch the installer. Ran sudo ubiquity in a terminal and got:
OSError: [Errno 5] Input/output error: '/var/log/installer/version'
Errno 5 = the USB stick was returning hardware read/write errors. The stick was intermittently failing writes, which explained everything: Cinnamon services partially frozen waiting on I/O, welcome window couldn't complete init writes, and the installer crashed on its first log write.
Solution: Swap the USB stick. Reflashed with a different (known-good) stick. Everything worked.
Lesson 5: Buy branded USB sticks (SanDisk, Kingston, HP) from reputable retailers. Cheap generic 64 GB sticks under ₹500 are often either counterfeit, dying, or both. An 8-32 GB SanDisk Ultra costs ₹300-500 and is dramatically more reliable. You don't need capacity; the Mint ISO is ~3 GB. You need reliability.
The USB Port Question
Once I had a working stick, the install was slow. Turned out I was using a USB 2.0 port. Blue-plastic-insert USB 3.0 ports are 5-10x faster than black-insert USB 2.0 ports. For a bootable installer, USB 2.0 works fine, just slower. For a general-purpose file transfer stick, always match a blue stick to a blue port.
Verifying the ISO Before Blaming Hardware
Before you burn hours suspecting the USB or the laptop, verify the ISO wasn't corrupted during download:
On Mac:
shasum -a 256 ~/Downloads/linuxmint-22.3-cinnamon-64bit.iso
Compare the output to the SHA-256 hash published on linuxmint.com's download page (usually linked as sha256sum.txt). Match the first 8 and last 8 characters: if both ends match, the whole hash matches. If the hash differs, redownload before doing anything else.
The Install Itself Was Smooth
Once the good USB was in place:
- Boot from USB via F12 (or Fn+F12 on Lenovo; see below)
- Verify Wi-Fi, trackpad, sound, brightness work in live mode
- Connect to Wi-Fi in live mode before running the installer
- Run installer: Erase disk, timezone Kolkata, user account with auto-login
- ~15 minutes to complete
- Reboot, remove USB, done
The Fn+F12 Puzzle
Modern Lenovos ship with "Hotkey Mode" enabled, meaning F12 alone triggers media/hardware functions, and Fn+F12 acts as the "real" F12. During boot, only the real F12 opens the boot menu.
Three workarounds:
- Use Fn+F12 during boot (simplest)
- Novo button: many Lenovos have a tiny pinhole button on the side that, when pressed while off, opens a boot options menu directly
- Windows Shift+Restart → Use a device: if Windows still boots, this bypasses the whole F-key mess
Also, if Windows Fast Startup is enabled, the F-keys often don't register at boot because the laptop is technically resuming from hibernation rather than doing a real cold boot. Disable Fast Startup in Windows Power Options before trying to boot from USB.
Part 4: The Post-Install Setup That Actually Matters
This is the part that most guides skimp on, and it's arguably more important than the install itself.
1. Run All Updates First
Before installing anything else. Open Update Manager. If it wants to update itself, let it do that first (it's normal). Then Select All → Install Updates. Reboot when prompted.
Do this BEFORE installing browsers, apps, or anything else. Otherwise you fight dependency issues.
2. Timeshift: The Non-Negotiable Safety Net
Timeshift takes snapshots of the system (not personal files) that can be restored in minutes if anything breaks. Setup:
- Menu → search Timeshift → open
- Wizard:
- Snapshot type: RSYNC (BTRFS requires BTRFS filesystem at install time; if you're on ext4 like most people, use RSYNC)
- Location: internal drive (not USB)
- Schedule: Weekly (keep 3) + Boot (keep 2); skip Monthly (too infrequent), skip Hourly (overkill), Daily (keep 5) is optional
- Home directories: Exclude All Files (default). This is important; see below
- Take a first snapshot manually. Label it something like "Fresh install, all apps configured."
Why exclude home directories: Timeshift is for fixing system problems. If you include home directories, restoring the system also rewinds all documents, downloads, browser data, usually not what you want. For personal file backup, use cloud sync (Google Drive, iCloud) instead.
Why this matters when you're supporting remotely: If something breaks while you're 13,000 km away, you can walk the user through a Timeshift restore over phone in 10 minutes. Without Timeshift, "my laptop broke" becomes "book a flight."
3. UFW Firewall
Linux Mint ships with UFW installed but disabled. Enable it. Zero real-world downside for browsing/streaming users, meaningful protection when the laptop travels to café Wi-Fi, hotel Wi-Fi, or someone else's home network.
GUI setup:
- Menu → Firewall Configuration
- Toggle Status to ON
- Incoming: Deny, Outgoing: Allow (defaults are correct)
Or via terminal:
sudo ufw enable
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw status verbose
For a browsing/streaming/video-call user, UFW is completely invisible. All of those are outbound connections, which UFW allows. It only blocks unsolicited incoming connections, exactly the kind of thing you don't want when the laptop is on an untrusted network.
4. Browser Setup: Firefox Primary, Chrome Backup
Firefox is fine as primary. It's already installed, integrates cleanly with the OS, updates through Mint's update manager, and handles ~95% of everything correctly.
But install Chrome as a backup. The remaining 5% (HireVue video interviews, some Indian job portal edge cases like Naukri video screening and corporate Workday portals, and certain government eKYC flows) sometimes only works properly in Chrome. Install it, don't pin it to the taskbar, just leave it available in the menu. Ten minutes now saves a scramble the day of an important video interview.
Chrome install:
- Firefox → google.com/chrome → download 64-bit .deb
- Files → right-click .deb → Open with Software Installer → Install
Firefox tuning worth doing:
- uBlock Origin: Add-ons → search → install. Ad-blocking makes browsing dramatically faster on old hardware.
- Set homepage to frequently-used sites: Settings → Home → Custom URLs, use
|to separate multiple - Bookmark toolbar visible + populated with sites the user actually uses
- Zoom to 110-120% if the screen is small
5. Auto-Login
For users who won't remember passwords, enable auto-login:
- Menu → Login Window → Users tab → Enable automatic login
Test by rebooting; it should land at the desktop directly.
6. Video Conferencing (Zoom)
sudo apt install zoom-client
Or download the .deb from zoom.us if that package isn't available in your repo.
7. LibreOffice Suite
Usually pre-installed on Mint. Ensure the full suite:
sudo apt install libreoffice
Handles .docx, .xlsx, .pptx well enough for typical use. For resume editing on job applications, works fine.
8. Phone-to-Laptop File Transfer
Test this before considering the setup done:
- Plug user's phone into laptop via USB
- Unlock phone → pick "File Transfer" or "MTP" mode
- Phone should appear in Files (Nemo on Cinnamon, Thunar on XFCE)
- Copy a photo across
Mint handles Android MTP plug-and-play. This is a genuine advantage over ChromeOS Flex, which struggles with the same task.
9. Disable Auto-Suspend (for older users)
Default suspend after 15 minutes can confuse non-tech users when their "laptop won't wake up." Menu → Power Manager → set inactivity timeout to Never for AC power at least.
10. Fonts and Readability
For older eyes: Menu → Appearance → Fonts → bump default size to 11 or 12. In browsers, set default zoom to 120-125%.
Part 5: The Debugging Playbook
Distilled from actual mistakes, here's what to check when things go wrong.
If the installer says "Failed to create a file system"
Old partition tables are blocking the format. From live USB terminal:
sudo umount /dev/sda*
sudo swapoff -a
sudo wipefs -a /dev/sda
sudo sgdisk --zap-all /dev/sda
Retry installer.
If a package install fails with dependency errors
sudo apt --fix-broken install
sudo apt autoremove --purge
If a kernel upgrade broke Wi-Fi (Broadcom hardware)
Boot into an older kernel via GRUB → Advanced Options → older kernel entry → confirm Wi-Fi works → then remove the broken newer kernel and hold the working one. See Part 2 for the full sequence.
If the "Welcome" screen won't close
Try Ctrl+Q, Alt+F4, right-click in taskbar → Close. If none work, open terminal and:
pkill -f welcome
pkill -f mintwelcome
If the whole desktop feels stuck, Ctrl+Alt+Backspace restarts the graphical session. Live USB has no state to lose, so hard-reboot is also safe.
If USB won't boot on Lenovo
- Try Fn+F12 instead of F12
- Look for the Novo button (pinhole, side of laptop)
- Disable Windows Fast Startup, then try again
- In BIOS: disable Secure Boot, try both UEFI and Legacy boot modes
If macOS diskutil shows weird output after flashing
Ignore it. Try booting the laptop. macOS's partition tools are unreliable for Linux hybrid ISOs. The only real test is whether the target laptop boots.
If Etcher/dd flashes seem to fail silently
- Verify ISO SHA-256 matches published hash (rules out corrupt download)
- Try a completely different USB stick (rules out failing hardware)
- Keep Mac plugged in and awake during flash (sleep interrupts writes)
If ubiquity says "already running" but you can't see a window
wmctrl -l # list all windows
wmctrl -a "Install" # activate the installer window
Or:
sudo pkill -9 ubiquity
sudo ubiquity # restart fresh
If it errors with OSError: [Errno 5] Input/output error, the USB stick is failing; replace it.
Part 6: A Bonus Case: What About a 2020-Era i5/8GB?
If you have relatively modern hardware and can afford a distro that isn't optimized for compatibility with 2012 chips, your choice space widens.
For someone who wants a modern, minimalist, macOS-adjacent aesthetic and is willing to spend a few days learning a new UX, Fedora Workstation is genuinely delightful.
Why Fedora over Mint on newer hardware:
- GNOME desktop is beautifully minimal; it feels closer to macOS than to Windows
- Excellent hardware support out of the box
- Modern kernel means better power management, better performance
- Enterprise-grade backing (Red Hat) means stability is real, not just marketing
- Btrfs filesystem by default enables efficient built-in snapshots
Fedora tradeoffs:
- No bottom taskbar by default; you use Super key → Activities → search
- Every 6 months, you upgrade to the next version (unlike Debian's 3-5 year cadence)
dnfpackage manager instead ofapt(functionally similar, different commands)- MP3/H.264/proprietary drivers require enabling RPM Fusion post-install (one-time setup)
For an "install once and forget for years" model, Debian 12 wins. Same GNOME experience if you want it, older software that stays put, ancient rock-solid project.
For "modern, learn something new, boring stability where it matters", Fedora Workstation wins.
Part 7: Lessons Learned (Real Ones)
-
Distro choice is less important than setup discipline. A well-configured Mint install beats a poorly-configured Fedora install every time.
-
Standardize across your household if you're supporting remotely. One mental model, one troubleshooting workflow.
-
Connect to the internet during install. Offline installs create huge post-install update backlogs, which surface exactly the kind of surprises (new kernels, broken drivers) that cause remote-support nightmares.
-
Cheap USB sticks are the enemy. Buy branded, buy from reputable retailers, don't overspend on capacity; 8-32 GB is all you need for a Linux installer.
-
Verify the ISO hash before assuming hardware issues. Takes 30 seconds. Rules out a whole category of red herrings.
-
macOS diskutil lies about Linux filesystems. Don't waste time on it. Try booting the actual target machine.
-
For legacy hardware, pin the kernel. Hardware Enablement kernels keep rolling forward, and every roll gambles with old drivers.
-
Timeshift is not optional. Especially if you're not around to fix things.
-
Test critical workflows before declaring victory. Phone-to-laptop file transfer, Netflix, Zoom, a resume upload: verify all four work before handing the laptop off.
-
Assume you'll fix things by phone. Set up the system to make that possible. Auto-login. Timeshift. Chrome installed as a backup. Firewall on. Known-good baseline snapshot labeled clearly. When "it broke" comes over WhatsApp, you want the system state to be predictable.
-
Errno 5 always means hardware. If any command fails with an I/O error, stop debugging software and investigate the storage device (USB or disk).
-
The Welcome screen glitch in live Mint sessions is a diagnostic, not a bug. If it locks up, the USB is likely failing. Swap it and try again.
Part 8: What I'd Do Differently Next Time
- Buy two brand-name USB sticks upfront: one to keep as a permanent installer, one to reflash for the next machine.
- Have Ethernet ready during install even if I plan to use Wi-Fi; it bypasses the whole Wi-Fi-driver chicken-and-egg problem.
- Verify SHA-256 immediately after downloading the ISO. Non-optional first step.
- Boot the live environment and do the 4-point hardware check (Wi-Fi, trackpad, sound, brightness) before running the installer. This catches driver issues while you can still trivially back out.
- Take the first Timeshift snapshot before installing anything else, so you have a "true fresh install" restore point separate from your "fully configured" one.
- Standardize on one distro if I'm supporting multiple family machines. This alone saves hours of "wait, how does Fedora do X again" context-switching.
Closing Notes
This entire process took me roughly 15 hours across two laptops. About 8 hours of that was time I wouldn't spend again if I redid it: bad USB sticks, offline installs, misdiagnosed macOS output, missing Fn+F12 quirks. If you're doing this in 2026, learn from those hours instead of repeating them.
The end result: two aging laptops that now run current, secure, supported Linux with proper backups, hardened networking, and known-good baseline snapshots. Both my father (browsing + ICICI Direct trading + Android file transfers) and my wife (browsing + job applications + Netflix at 720p) got laptops that work reliably for their specific needs, that I can support from thousands of kilometers away without heroic troubleshooting.
Linux on old hardware in 2026 is genuinely good, better than most people expect. It's also worth every hour of the setup effort if you value what you get: modern software, real security updates, zero telemetry, and, for two family machines, a total software cost of zero.
If you're planning your own install, save this guide. And buy a good USB stick.