Eigenigma

本徵矢無解

Upgrading My Framework Laptop to an Intel 12th Gen CPU

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):

    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:

    arch-chroot /mnt
  4. Reinstall GRUB: Inside the chroot environment, I reinstalled GRUB to the EFI partition and regenerated the configuration file:

    # 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:

    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.