sodcalculator

10 Tech How-To

Install Linux on Framework Laptop 12 & Check Hardware

Guide 10-10005 · Updated · Step by step

This guide walks you through installing a Linux distribution on the Framework Laptop 12 and then verifying that all core hardware components are recognized and working. You’ll learn how to prepare a bootable USB, configure the BIOS, install the OS, and run hardware checks using built-in Linux tools. Before starting, back up any data on the laptop and ensure you have a stable internet connection for downloading the OS image and updates.

What You’ll Need

  • A Framework Laptop 12 (any configuration).
  • A USB drive (at least 8 GB) for the installer.
  • Another computer to download the Linux ISO and create the bootable USB.
  • An internet connection (Ethernet or Wi-Fi) during installation.
  • Optional: a USB-C hub with Ethernet if Wi-Fi isn’t available during install.

Step-by-Step

  1. Download a Linux distribution. Choose a distro that supports recent hardware well, such as Ubuntu 24.04 LTS, Fedora 40, or Linux Mint 21.3. Go to the official website and download the ISO file (e.g., ubuntu-24.04-desktop-amd64.iso).
  2. Create a bootable USB drive. Use a tool like Rufus (Windows), balenaEtcher (any OS), or the dd command on Linux. For example, with Etcher: select the ISO, select the USB drive, and click Flash. This will erase the USB drive.
  3. Insert the USB into the Framework Laptop 12. Plug it into one of the USB-C ports (the laptop may have two or four depending on configuration).
  4. Enter the BIOS/UEFI. Power on the laptop and immediately press the F2 key repeatedly until the BIOS setup screen appears. (On some units, it might be Del or F10—check the user manual if unsure.)
  5. Adjust boot order. In the BIOS, go to the Boot section. Set the USB drive as the first boot option. If Secure Boot is enabled, you may need to disable it temporarily (most modern distros support Secure Boot, but disabling avoids issues). Save changes and exit (usually F10).
  6. Boot from the USB. The laptop should restart and boot into the live Linux environment. You’ll see a menu—select “Try Ubuntu� or “Start Fedora� to test the system without installing.
  7. Check hardware in the live session. Before installing, verify that key components are recognized. Open a terminal and run lspci to list PCI devices (look for Wi-Fi, audio, graphics). Run lsusb for USB devices (touchpad, camera, etc.). Run sudo dmesg | grep -i error to see any hardware errors.
  8. Start the installer. Double-click the “Install� icon on the desktop. Choose your language, keyboard layout, and installation type. For a fresh install, select “Erase disk and install� (or “Use entire disk�). If you want dual-boot with Windows, choose “Install alongside� if available.
  9. Follow the prompts. Set your time zone, create a username and password, and let the installer partition the disk. The Framework Laptop 12 uses an NVMe SSD, which should be detected automatically.
  10. Complete the installation. The installer will copy files and install the bootloader (GRUB). Once finished, remove the USB drive and reboot.
  11. First boot and updates. After reboot, log in. Open the software update tool (e.g., “Software Updater� on Ubuntu) and install all updates. This ensures you have the latest kernel and drivers.
  12. Run comprehensive hardware checks. Open a terminal and run the following commands to verify each component:
    • CPU: lscpu – shows processor model and cores.
    • Memory: free -h – shows RAM size and usage.
    • Storage: lsblk – lists disks and partitions.
    • Graphics: lspci | grep VGA – shows GPU. For AMD/Intel, the driver is usually built-in.
    • Wi-Fi: ip a – should show a wireless interface (e.g., wlan0). Test with nmcli dev wifi.
    • Bluetooth: bluetoothctl then list – should show a controller.
    • Audio: aplay -l – lists sound cards.
    • Camera: lsusb – look for a camera device (e.g., “Integrated Cameraâ€�). Test with cheese or ffplay.
    • Touchpad: dmesg | grep -i touchpad – should show the device. Test by moving the cursor.
    • Keyboard: evtest (install with sudo apt install evtest) – allows you to press keys and see events.
    • Battery: upower -i /org/freedesktop/UPower/devices/battery_BAT0 – shows charge and health.
    • Fingerprint reader (if equipped): lsusb – look for a fingerprint device. Support may require additional drivers.
  13. Check for missing drivers. Run sudo ubuntu-drivers list (on Ubuntu) or sudo dnf install akmod-nvidia (if you have an NVIDIA GPU, though the Framework 12 uses integrated graphics). For most hardware, open-source drivers work out of the box.
  14. Test suspend/resume. Close the lid and reopen it. The system should wake up properly. If not, check kernel logs with journalctl -p 3 -b for errors.

Common Mistakes

  • Not disabling Secure Boot – even though many distros support it, older ISOs may fail. If the installer doesn’t boot, disable Secure Boot in BIOS.
  • Using the wrong USB port – some laptops have a USB-C port that doesn’t support booting. Try all ports if boot fails.
  • Forgetting to back up data – the installer will erase the entire disk. Always back up important files.
  • Ignoring BIOS updates – Framework releases firmware updates that improve hardware compatibility. Check the Framework website for BIOS updates before installing.
  • Assuming all hardware is supported – the fingerprint reader may not work out-of-the-box on some distros. Check community forums for specific models.

Tips

  • Use the latest LTS (Long Term Support) release of your chosen distro for maximum stability.
  • Run the live session for a while before installing to ensure Wi-Fi, audio, and touchpad work.
  • If you plan to dual-boot with Windows, disable Fast Startup in Windows to avoid filesystem issues.
  • After installation, install the fwupd tool (sudo apt install fwupd) and run sudo fwupdmgr update to get firmware updates from the Linux Vendor Firmware Service.
  • For battery health, use cat /sys/class/power_supply/BAT0/cycle_count to see charge cycles.

Troubleshooting

  • Installer doesn’t boot from USB: Recheck the boot order in BIOS. Try a different USB port. Re-flash the USB with a different tool (e.g., use dd instead of Rufus). Ensure the ISO is not corrupted (verify checksum).
  • Wi-Fi not working: Check if the Wi-Fi adapter is disabled by a hardware switch (usually Fn+F2 or similar). Run rfkill list and if blocked, run sudo rfkill unblock all. If the driver is missing, connect via Ethernet and install the appropriate package (e.g., linux-firmware).
  • Touchpad not responding: Check if it’s disabled in BIOS. In the live session, try sudo modprobe i2c-hid. If it works after that, add it to /etc/modules-load.d/.
  • Audio not working: Run alsamixer and unmute channels. Check if the correct output device is selected in sound settings. Install pavucontrol for more control.
  • Screen brightness keys don’t work: This is often a kernel issue. Update your kernel via the distro’s update manager. If that fails, try adding acpi_backlight=vendor to the kernel boot parameters (edit GRUB).
  • System freezes or crashes: Check for overheating (run sensors). Look at kernel logs with dmesg or journalctl -p 3 -b for errors. Try a different kernel version or distro.

Frequently Asked Questions

Will all hardware work out of the box?

Most components (CPU, RAM, storage, Wi-Fi, audio, touchpad) work with standard Linux kernels. The fingerprint reader may require extra drivers, and some features like face unlock (if any) may not be supported.

Can I dual-boot with Windows?

Yes. Choose “Install alongside Windows� in the installer. Ensure you have enough free space and disable Fast Startup in Windows.

Do I need to disable Secure Boot?

Not necessarily. Most current distros support Secure Boot, but if you encounter boot issues, disabling it in BIOS is a simple fix.

How do I update the BIOS?

Framework provides BIOS updates via the LVFS. Install fwupd and run sudo fwupdmgr update. You can also download the update from the Framework website and flash it via a USB drive.

What if the installer doesn’t see my NVMe SSD?

This is rare. Ensure the SSD is properly seated. In the live session, run lsblk to see if the disk is present. If not, try a different kernel or check BIOS settings for SATA/NVMe mode.

How do I check if the hardware is fully supported?

Run the commands listed in Step 12. Also, check the dmesg output for any “failed� or “error� messages. The lshw command (install with sudo apt install lshw) provides a detailed hardware inventory.

Related

General steps for current mainstream versions; menus can differ by device and version. See the disclaimer or report an error.

More in this bed

The whole Tech How-To bed →