Breaking free of kernel version requirements due to binary blobs from Qualcomm/Broadcom et. al.
As I understand it, one of the problems preventing kernel upgrades is that there are binary blobs for the hardware layer that restrict what kernel versions to run. I have an idea for a way around that limitation:
Build a stripped down kernel that follows the binary blob restrictions, then use that as a hypervisor for another kernel that actually runs the real OS. So Sailfish OS will run in a virtual machine using its own unrestricted kernel, under a hypervisor that runs the binary blobs with all its restrictions.
Edit: The core issue regarding this scheme is performance impact. This is hard to predict, modern virtualization can have almost no performance impact; it depends heavily on what hardware support for virtualization one can expect now and in the future (virtualization support in ARM has improved dramatically the last few generations). We might also be helped by the fact that only a single specific OS will ever run in the VM, so both guest OS and the Hypervisor may be specialized for each other.
Edit2: A possible alternative is to turn it around. Make the hypervisor the main OS, and make sure it performs HW pass-through to the guest. Then put the binary blobs in the guest, along with a minimal blob-compatible kernel and let the guest serve the blob-liberated hypervisor.
even I use virtualization daily at work, I prefer that my phone OS to be as close to metal as possible.
tvicol ( 2016-06-08 10:12:58 +0200 )editVirtualization is an admin-word for I don't care how dangerous and slow it is.
hoschi ( 2016-06-08 12:08:12 +0200 )editInteresting idea. If the hypervisor doesn't eat too much resources and the kernel and hardware allow hardware assisted virtualization then it could be worth giving it a shot, but as far as I know, ARM processors do not support virtualization at hardware level.
shfit ( 2016-06-08 13:02:07 +0200 )edit@00prometheus I just do not see the point of a kernel upgrade. It does not stand in any balance with the amount of work/complexity/system-slowdown you'll introduce!
lpr ( 2016-06-08 14:12:58 +0200 )edit@00prometheuswrong, it is easy to predict a huge performance impact on jolla1! With no ram left (guest kernel + hypervisor + host-kernel + aliendalvik... and you even haven't started one single app), lost of a lot GPU power, even if you get hw acceleration working (arm has no features to virtualize hw gpu as intel gen7.5+ has), lost of ability to play h.264 encoded videos (no hardware codec in guest mode...)... no way! Let's hope for kernel 3.4.112 being implemented as an update soon.
lpr ( 2016-06-08 17:04:32 +0200 )edit