How to Safely Test a Linux Kernel Release Candidate
Linux 7.3-rc1 is out. Here's how to test it safely on a VM or spare partition, and how to report regressions so they actually get fixed.

Linus Torvalds just closed the Linux 7.3 merge window, and 7.3-rc1 now carries early AMD Zen 6 groundwork, Btrfs performance tweaks, and a batch of other changes that thousands of testers will exercise over the next seven or eight weeks. If you've wanted to join those testers but worried about bricking your main machine, you're asking the right question. Kernel maintainers need testing feedback before release, and you can provide it without gambling your daily driver.
Most guides skip the part that actually matters: testing an rc kernel safely isn't about caution in the abstract. It comes down to specific, repeatable steps that isolate risk while still exercising real hardware paths. The process below applies to 7.3-rc1 today and to every rc cycle after it.
Step 1: Decide Between a VM and a Spare Partition
A virtual machine is the lowest-risk option. Tools like QEMU/KVM or VirtualBox let you boot an rc kernel in an isolated environment, where a kernel panic just means restarting the VM. This works well for testing filesystem changes, scheduler behavior, or container and namespace features, since none of that depends on your physical GPU or Wi-Fi chipset.
The catch: VMs abstract away real hardware. Zen 6 platform code, new GPU drivers, and laptop power management fixes need actual silicon to prove anything. If the point of testing 7.3-rc1 is to validate AMD's new additions or Btrfs performance changes on your NVMe drive, you need bare metal.
A spare partition or a dedicated test machine solves that problem. If you have an old laptop or a second drive bay, install a second root partition, keep your existing distro's kernel as the fallback, and dual-boot into the rc kernel when you want to test it. This gets you real hardware exposure without touching your primary installation.
Step 2: Back Up Before You Do Anything Else
This step isn't optional, and it isn't just about the kernel. Rc kernels occasionally expose filesystem bugs, and the Btrfs changes in 7.3 warrant extra caution given how actively that code is moving. Run a full backup of anything you can't afford to lose — using rsync, Borg, or your distro's built-in backup tool — before you install anything. This pairs well with see also: install a mainline linux kernel before your distro ships it.
If you're testing on a spare partition, also snapshot or image that partition's bootloader configuration. Kernel installation can overwrite GRUB entries, so keep an easy path back to a known-good boot menu in case something goes sideways.
Step 3: Use Your Distro's RC Kernel Packages Instead of Compiling From Source
Compiling a kernel from source used to be a rite of passage, but it's rarely the practical choice now unless you're a kernel developer chasing a specific patch. Most major distros package rc kernels for exactly this purpose.
Ubuntu's kernel team publishes mainline builds through the Ubuntu Mainline Kernel PPA, which tracks rc releases shortly after they land. Fedora's kernel-vanilla or Rawhide package sets often carry pre-release kernels for testers running Fedora's rolling or test channels. Arch and Manjaro users can pull the linux-mainline or linux-rc packages from the AUR, which build the exact upstream rc tarball. Debian testing and unstable occasionally carry rc builds through the experimental suite as well.
Packaged builds give you a signed, distro-integrated kernel with your existing initramfs and module setup. That cuts out the compilation errors and dependency mismatches that eat hours of your time for no testing value.
Installing the Package
On Ubuntu-based systems, download the matching .deb files for your architecture from the mainline PPA page, then install the generic, image, and modules packages together with dpkg -i. On Arch, install through the AUR helper of your choice, then update GRUB with grub-mkconfig. Reboot and select the new kernel entry from the boot menu rather than letting it become the default. This pairs well with go deeper on freebsd 14.5-rc1: upgrade now or wait for ga?.
Step 4: Boot Carefully and Verify What Loaded
After rebooting into the rc kernel, run uname -r immediately to confirm you're actually running 7.3-rc1 and not a cached entry. Check dmesg for early boot warnings, especially anything referencing your GPU driver, storage controller, or network chipset, since those are the components most likely to regress in an rc.
Give the system a real workout rather than a five-minute glance. Launch your desktop environment — GNOME, KDE Plasma, XFCE, whatever you run — and use it normally for a few hours. If you're testing the Btrfs performance claims specifically, run some file-heavy operations, like extracting a large archive or running a build, and compare subjective responsiveness against your stable kernel.
Step 5: Know What to Watch For
Rc kernels aren't randomly unstable; they're unstable in the specific areas that just changed. Merge windows pull in new subsystem code, driver updates, and architecture-specific patches, and regressions cluster around those changes. For 7.3-rc1, that means paying closer attention to AMD platform behavior, Btrfs mount and performance behavior, and anything else touching the areas mentioned in the merge window changelog.
Suspend and resume, external display handling, and Bluetooth are perennial regression hot spots across nearly every rc cycle. Test those explicitly even if they aren't headline features.
Step 6: Report Regressions the Right Way
Finding a bug is only half the job. Reporting it usefully is what actually helps get it fixed before the stable release ships, typically seven to nine weeks after rc1.
Also read: also worth reading: fix rtl8723bs wi-fi not working on linux: full guide
- Reproduce the issue on the previous stable kernel first. If it also happens there, it's not an rc regression and you shouldn't report it as one.
- Run 'git bisect' if you're comfortable with it, or at minimum note the last known-good kernel version — maintainers will ask for this.
- Collect a full dmesg log. If the system crashed, capture a kernel oops or panic trace via netconsole or a serial console when the crash prevents normal logging.
- File the report on the Linux Kernel Mailing List (LKML) or the relevant subsystem's mailing list, using 'scripts/report-bug.py' or emailing the maintainer listed in the MAINTAINERS file for the affected code.
- Alternatively, use your distro's kernel bug tracker — Ubuntu's Launchpad, Fedora's Bugzilla, or Arch's bug tracker — which often forwards relevant issues upstream and can triage hardware-specific problems faster.
Include your exact hardware model, your kernel config if customized, and a clear description of expected versus actual behavior. Vague reports like "it crashed" get ignored. Reports with reproduction steps and logs get fixed.
What to Expect Next
Over the coming weeks, 7.3 will move through roughly seven more rc builds as maintainers stabilize the Zen 6 and Btrfs changes along with everything else that landed in the merge window. Set up your VM or spare partition now, and you can keep pulling each new rc with minimal extra effort. Your feedback during this window carries real weight, since this is precisely the stretch where regressions are cheap to fix and expensive to miss.
Related Articles

How to Use Claude Code Subagents to Parallelize Development
Learn how to enhance your development workflow using Claude Code Subagents. This guide provides practical examples for parallelizing coding tasks.
Sep 13, 2025

Unlocking ChatGPT Developer Mode: Full MCP Client Access
Unlock the power of ChatGPT Developer Mode with full MCP client access. Discover how to enhance your coding projects and streamline development.
Sep 11, 2025

MCP Implementation at HubSpot: Elevating CRM with Context
Explore HubSpot's transformative MCP implementation for their CRM, detailing key strategies, challenges, and best practices for developers.
Sep 20, 2025