I think it's worth noting that this isn't actually emulating a Raspberry Pi. The option "-M versatilepb" to QEMU tells it to emulate a VersatilePB, which is an Arm development board that's now a decade or more old. It happens that this can be set up to use an ARM1176 CPU, which is the same as the one in the RPi. So you can run a kernel built for the VersatilePB on a VersatilePB model, and use the same userspace/filesystem as the RPi, provided that your userspace doesn't rely on any particular characteristics of the rpi hardware beyond the CPU type. Luckily for most uses that's close enough...