You can't achieve this without support from the free, mainline kernel, which I've also addressed in my comment; downstream kernels, by and large, depend on these proprietary blobs. Mainline kernel support is also hard; the LG Nexus 5, which is the "flagship" device for pmOS, still doesn't support mobile calls properly.
It just makes sense to split the job and work on the kernel vs. userspace bits independently. Compare with e.g. cyanogenMod or LineageOS; running a non-AOSP userspace gives you something that will run as smoothly as iOS does today, and that (barring kernel or driver bugs, of course) can be updated indefinitely.