[Verizon HTC One (M7)] jawnah:
I'm writing this short little post to give an idea of a good starting point for the HTC One as it stands right now. There are a lot of threads and they get out-of-date quickly (just as this one will). I just picked-up my new HTC One on Tuesday of last week from a Verizon store. This just gives a fresh idea of what can be done to get started on it.

Obviously you're running these instructions at your own risk. I'm not responsible for you bricking or otherwise damaging your phone. Doing these things may (will) void your warranty and may prevent you from being able to return your phone. Run these things at your own risk.

AN IMPORTANT PUBLIC SERVICE MESSAGE: When you get your phone out-of-the-box, it's probably going to offer you an OTA update. I recommend that you do not accept an OTAs as this usually makes this process even harder than it has to be. Verizon hates having us enjoy our devices!

First, let me describe my goals here:

Unlock the bootloader and obtain S-OFF

Install a custom recovery (CWM)

Install a "cleaned-up" stock ROM (debloated but still a stock experience)

Get wireless tether working without jumping through tons of hoops.

I'll go through the list and just describe what I did:

Unlock the bootloader and obtain S-OFF

This was fairly straightforward. Rumrunner has an excellent package that does this very easily. I checked my phone's ROM version and saw that I was running 1.10.605.15. I grabbed the Rumrunner package from here for that level.

In looking over the requirements for Rumrunner, it wanted 32-bit Linux and I run 64-bit. The easiest way to solve this problem for me was to just boot to a Xubuntu 12.10 32-bit ISO that I had on my system. If you have it burned, just boot to it. If you don't (like me), use grub2 (if you have it) and boot the ISO directly. Either way, get yourself into a live environment.

Once the ISO was booted, I got it on the network and installed adb and fastboot from the Ubuntu repositories (after I did apt-get update, of course). Connect the phone via USB and enable USB debugging:

Go to Settings -> About -> Software Information -> More

Tap the Build number field 7 times

Back up to the Settings screen again and you'll now see Developer options

Enable USB Debugging under the developer options

Verify that you can see the device on your system using adb (this should result in a device being listed by serial number):

sudo adb devices

Follow these instructions for executing Rumrunner. It worked perfectly as described. Once complete, the phone was unlocked and S-OFF with a stock ROM.

Keep the live environment up as it will just make life easier to do the next steps.

Install a custom recovery (CWM)

I pretty much always use CWM if I can. I saw that there were no issues with doing that on this phone (like there are on other phones like the Rezound). I grabbed version 6.0.4.7 of CWM (non-touch) for the HTC One from here. If I recall correctly, the device is booted back into the stock ROM at this point. Make sure your device is still connected USB and has USB debugging enabled.

Reboot into the bootloader from the command prompt:

sudo adb reboot bootloader

Once the phone comes up, it should be at the Fastboot screen (it should actually show Fastboot USB). Verify that you can see your phone with fastboot (should get your device serial number again):

sudo fastboot devices

Now you can flash CWM recovery using this command from the directory where you stored the CWM file you downloaded (such as the one I provided a link to):

sudo fastboot flash recovery recovery-clockwork-6.0.4.7-m7vzw.img

After the flash is successful, reboot back into the bootloader:

sudo fastboot reboot-bootloader

Now you can choose BOOTLOADER and then RECOVERY to get access to CWM. If you really want to, you can take a backup of the stock ROM at this point. I did not because I thought it was a waste of space. I just booted back into the stock ROM and disabled USB debugging so I could stick a real ROM on the system.

Install a "cleaned-up" stock ROM (debloated but still a stock experience)

I really wanted to give this HTC Sense 5.0 a run. I've used Sense before and it wasn't awful. This seemed less annoying than previous versions (plus, there are some nice camera features which are important to me). For that reason, I selected the stock 2.10.605.1 rooted, deodexed, debloated ROM from this thread. I also opted to do the firmware upgrade at the same time, so I grabbed the firmware for the 2.10.605.1 as well.

The instructions in this thread are easy to follow so just use those. Just a note though: Flash the firmware and ROM at the same time if you're going to do firmware at all. Instructions are in the second post on that thread.

Once the ROM was up, I did my typical setup of accounts and such. The last thing I needed was Wireless Tether support.

Get wireless tether working without jumping through tons of hoops.

I don't particularly care how I get wireless tethering (infrastructure mode) as long as it works on my phone reliably. I first tried the stock tethering as this sometimes works because the authors of "stock" ROMs sneak hacks into their ROMs. It did not work. I then tried messing around with the WiFi Tether TrevE Mod that I saw recommend a few times but this didn't pan out on the 2.10.605.1 ROM (I temporarily went to 1.10.605.15 and it worked; I went back to 2.10.605.1 when someone recommended the solution below):

http://xdaforums.com/showthread.php?t=2576548

I flashed this package onto my system and, without a problem, built-in wireless tether started working. I've seen no problems.