I was running Cyanogenmod since I’ve got my m8. Cause of this the firmware never got updated via OTA. When I tried to update my m8 to CM12 custom recovery told me that I’ve got wrong bootloader version to upgrade.
Here is a simple walkthrough to ugprade the firmware without flashing stock firmware and without flashing stock recovery.My device has S-ON and CID is 401.
First of all. Read Read Read. Learn how your device works. I did not know before also :-).
You don’t have to flash stock rom and do OTA updates to get your firmware updated as described in the links below. You can do it another way via fastboot. Might be riskful but I’ve not found any working stock rom + stock recovery to get the upgrade done. I was also too lazy to find out the dependency firmware version + stock recovery version… So theese links are only for understanding. You have to know what is your CID and what means S-ON. You may brick your device if something is wrong. You’ve been warned.
Download the newest firmware from http://xda7.androidrevolution.org/db_mirror/Firmware/HTC/HTC_One_M8/401/3.28.401.9.zip
Get in fastboot mode and lock the bootloader via:
fastboot oem lock
Now reboot your device to RUU mode and flash firmware via (this may birck your device, be carefully):
fastboot oem rebootRUU
fastboot flash zip 3.28.401.9.zip
At first try (fastboot flash zip 3.28.401.9.zip) did not work out correctly. Try again (don’t reboot) then it should success.
When hopefully everything was correct your device has stock recovery installed and in hboot it shows relocked. You can now unlock your phone normally as you did first time via http://www.htcdev.com/bootloader
After bootloader unlock flash custom recovery and enjoy Android L CM12 on your m8.
Have fun, and dont brick your device!