Earlier today, we talked about a highly functional KitKat build for the Sony Xperia S created by XDA Recognized Developer RaymanFX and the OpenSEMC team. The release, which brings daily driver-status unofficial CM11 to the much loved Xperia S is perhaps the top choice for users looking for the latest and greatest software on their unlocked device.
But what about users who haven’t or can’t unlock their bootloaders? Well, that’s no longer an issue thanks to a ROM created by XDA Recognized Contributors djolivier and letama, and Recognized Developer atis112. The ROM is made possible thanks to a workaround developed by djolivier and letama, where a second ramdisk is loaded, from which CM is loaded and init is started again.
Explains the workaround best with the following:
Stock kernel is calling /system/bin/pre_hw_config.sh in its initramfs, we hijack the script to replace stock behavior to launch cm. To do that, I do it in two steps, first, pre_hw_config.sh will grab step2.sh and busybox from /system/bin, copy them to /tmp, relink busybox applets then launch step2.sh. Step2.sh will grab /system/bin/cm.tar, extract it to / then umount everything to start init again.
The ROM itself is essentially daily-driver capable, with essentially everything working and great performance and stability. However, a few users are reporting occasional random freezes, which can be attributed to some rendering issues. Luckily, there is an incredibly simple build.prop workaround that was mentioned by Senior Member piyush95 that seems to fix this.
If you have a locked Xperia S and want to enjoy the AOSP-derived CM10 goods, head over to the ROM thread and give this a shot. And while this is exciting in and of itself, the potential for other ROMs to build off of workaround is the most exciting part. It’s therefore entirely possible for other developers to get KitKat working on locked Xperia S units using this workaround!