The tutorial was first posted at
I think more people can see this after posting here and make some improvements.
1. Have a (fresh installed) Catalina container
While it also works in the same container with currently installed system, there might be issues when removing the volume. My friends with real Mac says you can only use Big Sur Recovery to remove the volume.
For a cleaner(?) install, you can stop after the boot entry changed from "macOS installer" to volume name and leave the initial configuration to Big Sur first boot. 2. Make sure you are ready to boot even without kexts
Necessary but it may depends on your configuration. For example:
Switching to a 1080p monitor instead of 4K ones. Btw enable-hdmi20 is unusable since user space patching is disabled. Also there's no binary at /System/Library/Frameworks/CoreDisplay.framework/Versions/A/CoreDisplay
Get a USB keyboard and a mouse just in case.
Check your config.plist for arguments like -disablegfxfirmware and setup NVRAM variable booter-fileset-kernel and booter-fileset-basesystem under 7C436110-AB2A-4BBB-A880-FE41995C9F82 with data type value 00. (From https://github.com/acidanthera/OpenCorePkg/commit/dea60c2a1e2ff83e3b871425d6f3b4adbcc4ef9b)
Set a MaxKernel such as 19.6.0 for SMCBattery.kext and get https://github.com/RehabMan/OS-X-ACPI-Keyboard with MinKernel 20.0.0
Temporary set MaxKernel 19.6.0 for VoodooI2CHID.kext (Don't know why it may cause kp at stage 3 when creating kernel cache, but works well afterwards)
I'm not sure about the USB port limit patch, because I use a pure SSDT approach that disable unnecessary ports using _UPC.
3. Install Big Sur from Installer
I ran it from another Catalina and the minimum disk space required is ~51G (Big Sur) + ~15G (installed Catalina)
I left 66G for the new container, but the space's still not enough. Then I found VM volume takes 2G and then mount it to delete the 2G sleepimage inside. 4. Stage 1 (first reboot) with file extracted
The installer will prompt things like 29 mins remaining and stop at 17 or so. Sometimes the installer will abort just at the beginning, please reboot into the installer again.
After reboot to another Catalina system, you may find that the log in a new volume called Update. Please ensure that you have that volume and/or "macOS Install Data" (hidden folder) is gone in the data volume.
By the way, ramrod (or patchd) also left a log there after stage 2 if you use VM or real Mac.
5. Mount the preboot volume
Open folder named by Big Sur UUID (check timestamp)
sudo cp ./com.apple.installer/boot.efi ./System/Library/CoreServices/
sudo cp -r ./System/Library/PrelinkedKernels.Staged ./System/Library/PrelinkedKernels
(com.apple.installer is hidden)
Now you can also move /System/Library/Templates/Data/Applications/Safari.app from the system volume to /Application/ at the data volume to manually update Safari. It's not possible to do that in Big Sur. 6. Reboot and choose the entry with new volume name. (Almost finished!)
7. Go to disk utility and get a first aid. (?)
8. Personal tips
The macOS installer entry is still there, however you can override it like OC's AllowSetDefault. Maybe deleting the com.apple.installer folder and edit nvram can remove it.
Since the recovery entry is not usable(or just me?), I repurposed this entry by editing com.apple.installer/com.apple.Boot.plist
Copy the BaseSystem.dmg with chunklist from Recovery to some place in the data volume.
Change the path in boot arg from ramdisk to that dmg.
It seems that those volumes (preboot, VM) can not be mounted in Big Sur, you may need to edit them in Catalina or earlier. However Recovery volume can still be mounted.
In stage 2 you will boot into a ramdisk that do stuffs like converting the apfs volume into new format and seal it. But real hardware will failed for issues with SMC watchdog (ramrod quit after disable_watchdog failed).
And if you try to boot from that partition directly without Catalina installed first, you will get apfs errors since firmlink to data partition are not established. So when upgrading from Catalina, these errors can be avoided. But there may be some risks using old apfs format. For example, new system partition has a "Sealed: yes" attribute and snapshot feature. First aid may do some work but still unclear.