I wanted to flash a custom firmware on an HTC Desire S because I didn’t like the Sense interface HTC installed on the device. It felt sluggish and I think it was ugly.

CyanogenMod logoI have unlocked the bootloader on htcdev.com, rooted the device, and installed ClockworkMod (cwm). I chose a rom that seemed usefull (in this case CyanogenMod), and copied the cwm image (.zip file) to my sd-card, and booted into recovery. Here I made a backup of the current rom, did a full wipe, and flashed the image. After this I rebooted the device, expecting to see my new rom boot.
Instead of booting, all I saw was a white screen with the letters HTC in green on an white background. This state is named bootloop.
After flashing back the original rom, the device booted without problems.

I have tried several roms, all with exacly the same problem. After a lot of online research i have finally a booting custom rom. The solution was to flash the correct boot.img file for your rom to the device with the fastboot utility. The file boot.img is in the .zip file of the rom you chose. Flashing the boot.img can be done this way:

  1. Boot the HTC in fastboot mode by powering on the device while holding the Volume – button, and choosing fastboot
  2. Connect the phone to your computer with an micro-USB cable
  3. Flash the boot.img you extracted from the custom firmware:

    fastboot flash boot <path to boot.img>

  4. Reboot the phone

After these steps your HTC Desire S should boot the custom rom as expected!

To get Gentoo Linux to boot faster, you can disable unnessicary services (with rc-update).

But Gentoo also provides some exceptional rc scripts. These scripts allow parrallel loading of services. The result is a system which boots much faster. To enable the parallel startup of services, add or change the following line in the file /etc/conf.d/rc:


Now, when you boot your Gentoo distro, it will be ready at a glance!

To start a ‘fsck’ (for Windows users: a ‘checkdisk’ for Linux), you may execute the following command in your shell:

touch /forcefsck

fsck will run at next boot.

This command creates a file called ‘forcefsck’ in the root folder (‘/’). At boot time, fsck checks whether this file exists. When it does, fsck checks the harddisk.