About a month into development, I decided to test LensorOS on VirtualBox. It didn't work at all, with a #GP fault happening early in the kernel initialization. I spent a few hours trying to get it to work, but left frustrated and drained of motivation. I decided it wasn't important and as long as it ran in QEMU I should just keep going. I'm glad I did this, as I made a lot of progress since then, however I am also unhappy that LensorOS didn't work on VirtualBox, a platform that should have no problem booting UEFI OSes.
Today, I'm proud to say LensorOS can now be booted from a virtual machine in VirtualBox!!
To mend this fence between QEMU and VBOX, I first figured out a way to more easily build and test LensorOS for VirtualBox; VBOX doesn't support raw format storage devices, so further processing to the image file was needed. The helper script mkiso.sh runs the old mkimg.sh, then creates a bootable ISO-9660 filesystem within LensorOS.iso, which can then be attached to a VBOX virtual machine quite easily. This all utilizes the GNU xorriso tool.
Once it was easy to test LensorOS on VBOX, I was off to the races. I disabled every single line of executing code in the kernel, and slowly re-introduced the code until problems arose within VirtualBox (or QEMU). As the problems cropped up, I did my best to fix them, testing on both QEMU and VBOX.
At this point, all of the code has been re-enabled (un-commented), and the functionality matches that of the master branch very closely, except for the changes that have been made to accommodate running in VirtualBox.