Moving Fedora 39 from a Framework Laptop 13 (i5) to Laptop 16 (Ryzen 7040)

Hi all,

just wondering what my chances are to transplant the 4GB NVMe from my Framework 13 Laptop into the soon coming Framework 16 Laptop? I am currently running Fedora 39 workstation with a ton of stuff contained and days worth of configuration. I would prefer to keep the entire software installation but of course there are some heavy differences between the old and new system. Previous CPU is i5, new is Ryzen 7040 series. Chipset might be vastly different but I don’t know exactly. The 16 will not have a discrete GPU but use CPU graphics. NVMe is full-disk-encrypted with LUKS.
Can I expect the system to boot at least into a state where kernel and drivers can be adjusted to match the new environment? Or would it be total chaos and the only way is to to a clean reinstall on the new Laptop? Is there a risk of data loss when the system fails on the 16 so it won’t run anymore, even in it’s old place?

Can’t wait for the new 16 to arrive!

It should generally work, but you should make sure you don’t have spurious extra stuff on your kernel command line or module parameters in /etc/modprobe.d because they could be wrong for AMD.

There’s at least one report of someone I saw transplant the disk and have suspend fail. It was because of something in the kernel command line to do suspend for nvme different on the Intel one previously.

Also make sure you set up PPD if you don’t use that today. It’s how you save all the power on AMD.

1 Like

Dear Mario, thank you so much, this is giving me a lot of hope for a smooth relocation.
PPD is in use already and specific kernel parameters are not used. I will report back after my attempts and let y’all know how it went.
Cheers,
Joe

By default the normal initramfs do only include whatever drivers where needed for booting on the system where they where generated. So those could be device specific if any of those are different between AMD and Intel. They are definitely different if you try to boot a previous internal drive via USB like I am doing.

The recovery kernel and its initramfs includes all possible things though, so you can actually regenerate the other initramfs if needed. You may want to check that the recovery kernel boots or is up-to-date (because in my experience, when Fedora is upgraded, it leaves that on the original Fedora version that was installed. So if you kept that install around for a long time it might be ancient). Or simply regenerate the initramfs for the kernel you want to boot to include all the drivers. Other than that, as Linux includes all the drivers it should need to boot, a default Fedora installation is extremely portable (once you sorted out those boot drivers in the initramfs).

Edit: dracut should have the hostonly=no option. That is actually what is used to build the recovery initramfs to be portable (its probably also adding in other stuff on top).

That’s a very good point. But I think you’ll be able to boot even with the missing amdgpu and firmware in the initramfs because it will just load after you pivot from initramfs to rootfs.

Regeneration of the initramfs afterwards will put the right stuff in though and the next boot it will load “sooner”

Sure. I only moved my disk between VMs, different enclosures (USB, TB) and native PCIe. The only thing that seemed to make it unbootable where missing drivers to find the actual disk. But I did not verify that there would not be further problems after that, because my workaround was just to build the large, generic initramfs.
But yeah, the really boot critical things might be identical across modern notebook platforms when using native PCIe without further complications, but if that is a problem, that is where it is.

Just received it! With a crucial bit missing though, stupid me assumed I could reuse the 2x32GB kit from the Laptop 13 but that is DDR4 and the Laptop 16 wants DDR5 and nothing else :dizzy_face:. So it’s a matter of waiting for the next pieces to arrive.
Will duly report my experience!

Well, what can I say? 64GB DDR5 arrived today and once it was installed, along with the NVMe, there is nothing left to be desired. It all works just like before, only faster. Like, blazing fast actually!
All that needed to be done was a dnf update, registering fingerprints again (reader still recognized but biometric data stayed with the old hardware), Bluetooth devices needed to be re-registered as well. All in all, I was up and running within 20 minutes of switching off the Framework Laptop 13.
There are two things to criticize for me only, one being the screw for the 2280 NVMe. In the new Laptop 16, I first couldn’t get it undone because it was overturned and the thread destroyed at least partly. It came out while being lifted with a fingernail but it’s a bit of a pity that there is something defective right from the start. Extracting it spread some metal shavings around that I needed to carefully vacuum out.
The other thing is well-known: the alignment between the touchpad and the placeholder panels left and right is really suboptimal. They are all flush at the front edge but 1mm apart in height at the end that faces the keyboard (touchpad in the middle being the part with higher elevation on both sides, left and right). While the Laptop 16 is really a gem to show off, this is a point that might get awkward when Apple fanboys are watching. I carefully attempted to bend the touchpad edges down a little but it does not seem to change permanently.
Not a big deal though as it is connected to a lot of desktop peripherals and rarely touched, still critics definitely have a point that this is not as beautiful as it should be, regarding the price tag. Still, I’m totally blessed now! This is a fantastic machine.