It's technically possible to drop the whole PS3 OS by implement "whole" hardware support into linux kernel literally, compile it as lv0 binary so lv0ldr could load and run it. This way you're the only one who run on cell. Equal to generic PC where you control the whole system.
This requires ALL of internal hardware docs. The most realistic way to done is to steal WHOLE PS3 OS source code from Sony to use it as reference.
Good luck with that.
You're absolutely right that a bootloader is required — but I'm not referring to using OtherOS, nor AsbestOS-style boot chains. I'm asking why no one has compiled a Linux kernel into a native PS3 .self executable (like a homebrew game), installed via .pkg, and run from XMB as a standalone ELF that acts as its own bootloader and jumps straight to the kernel.
Current custom firmwares like Rebug with full LV2 patches already allow unrestricted access to RSX, SPUs, and low-level MMIO — many homebrews already do this. So, theoretically, you could wrap a minimal loader around a Linux image and launch it directly, skipping both the hypervisor and OtherOS chains entirely.
I'm not saying it's easy — just strange that it hasn't been fully implemented and documented, especially since the hardware is now fully open via CFW.
The way you're thinking is weird, why are you want to limit yourself by wanting to run linux under lv2? Current implementation of linux is running under lv1 so it's equal to lv2, requesting stuff through hvcall.
If you want to truly run code as bare metal then read my post above. You need all internal hardware knowledge to do it. Since lv1 handles all that hard part for you and you want it gone so you need to implement EVERYTHING yourself.(on linux kernel).
By converting to lv2 elf is equally to normal games, you're limit yourself even more. It pretty much impossible to do it since linux kernel requires stuff that lv2 syscall didn't provide.
If what you want is boot linux from XMB then what BadWDSD did is exactly that. It replaces lv2 kernel file path with petitboot, then ask lv1 to reload lv2. Petitboot end up loaded instead. It runs under same permission as lv2 kernel. lv1 is still there of course.
See last part of video:
Also petitboot itself IS linux kernel being repurposed as bootloader. You can replace it with normal distro kernel image if you want to bypass it.
Guess I will summary it:
Current implementation is like this:
Retail games: Bare metal -> lv1 (Hypervisor) -> lv2 (Kernel) -> lv2 elf (Games/XMB)
OtherOS: Bare metal -> lv1 (Hypervisor) -> Linux kernel
If want you want is this:
Bare metal -> Linux kernel
Then you need whole PS3 OS source to do it. PS3 Hardware is custom, while Cell can run generic PPC code. Other hardware like RSX/Southbridge and a lot more driver must be implemented into linux kernel through MMIO. This MMIO knowledge requires full PS3 OS source.