---
title: "Upgrading My Framework Laptop to an Intel 12th Gen CPU"
description: "I successfully upgraded my Framework Laptop with an Intel 12th Gen motherboard. This post covers the process, highlighting an unexpected physical installation challenge and the necessary steps to reconfigure the GRUB bootloader on Arch Linux after the hardware swap."
pubDate: "2022-10-01"
categories: ["Laptop", "Hardware", "Arch Linux", "Upgrade", "Troubleshooting"]
---

I recently upgraded my Framework Laptop by replacing the original motherboard with a new Intel 12th Gen CPU board. While Framework's modularity is a key benefit, the process wasn't entirely without its challenges. The most significant hurdles involved physically securing the new motherboard and restoring the GRUB bootloader configuration afterwards.

## Physical Installation Hurdles

Surprisingly, the most time-consuming part of the hardware swap was fastening the screws for the new motherboard. It took nearly two hours to get them properly seated.

I found that several screw holes are located very close to strong magnets within the chassis. This proximity made it unexpectedly difficult to align and tighten the screws correctly, requiring considerable patience.

## Reconfiguring the GRUB Bootloader

After successfully installing the new motherboard, the laptop wouldn't boot into Arch Linux. This is because swapping the motherboard effectively clears the NVRAM (Non-Volatile Random-Access Memory), which stores the UEFI boot entries, including the one GRUB uses.

To fix this, I needed to reinstall the GRUB bootloader. Here are the steps I followed:

1. **Boot from a Live USB:** I started the laptop using an Arch Linux live USB drive.
2. **Mount Partitions:** Once in the live environment, I opened a terminal and mounted the root and boot partitions of my main installation. Assuming the EFI system partition (ESP) is `/dev/sdX1` and the root partition is `/dev/sdX2` (replace `X` with the correct drive letter):

   ```bash
   mount /dev/sdX2 /mnt
   mount /dev/sdX1 /mnt/boot
   # If you have a separate /boot partition, mount it accordingly.
   ```

3. **Enter Chroot Environment:** I changed the root directory to my mounted system:

   ```bash
   arch-chroot /mnt
   ```

4. **Reinstall GRUB:** Inside the chroot environment, I reinstalled GRUB to the EFI partition and regenerated the configuration file:

   ```bash
   # Install GRUB for UEFI systems
   grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=grub

   # Generate the GRUB configuration file
   grub-mkconfig -o /boot/grub/grub.cfg
   ```

5. **Exit and Reboot:** I exited the chroot environment, unmounted the partitions, and rebooted the laptop:

   ```bash
   exit
   umount -R /mnt
   reboot
   ```

## Conclusion

After completing the GRUB reconfiguration and rebooting, the Framework Laptop successfully booted into Arch Linux with the new 12th Gen Intel CPU. Despite the unexpected difficulties with the screws and the necessary bootloader adjustments, the upgrade process was ultimately successful. It's satisfying to have the enhanced performance, arriving just before the subsequent CPU generation was announced.
