This was written as an offshoot of my latest past time, modding a Nook Color, but most of it applies in principle to all unofficial Android installs, and actually almost all modded installs. If you're looking to build the best, smallest, cheapest tablet out there, you're looking for my guide to installing CyanogenMod on Nook Color.
Once you've got your system up and running you'll inevitably want to update it. There are two separate things you'll update, the first is the operating system and the second is the kernel/ROM. While the operating system includes a kernel, most modders run kernels which are independently maintained and hacked for reasons of performance and bug fixes.
Updating the Operating System
Assuming the update you are going to apply is relatively minor, such as a new update of CyanogenMod 7, you can probably upgrade in place, without losing any of your data. An upgrade will involve letting the system update (replace) the existing operating system files with those in the update. With CM 7 the process is very simple, you copy the updated OS zip to the boot partition and boot into a special mode where a script will see and execute the upgrade. Other installs will have this or an alternative approach. Backups are certainly recommended before undertaking this sort of upgrade, just in case.
If you are going to do a major upgrade, such as from one OS install to another (e.g., phiremod nook to verygreen CM 7 or from Froyo SD to verygreen CM 7), the process is much more involved. The quickest and safest route I recommend involves the following process:
- Backup your entire system. If you are booting from a microSD card, make an image of the microSD card on your PC. You can always write the image back to the microSD if you change your mind or need something you forgot to transfer.
- Backup your apps and their data. Buy Titanium Backup Pro (it's only a few bucks) and use it to back up all your user apps and their data. It will store the backups on your microSD card. Once the backup is complete shut down the Nook Color, and place the microSD card in your PC. Copy the Titanium Backup folder from the SD card to your PC. You will need this folder later to recover.
- Backup all your personal / media files. When the microSD card is in your PC copy all of your personal files (documents, personal photos, etc.) and media files (audio/video/downloaded photos) to your computer. You will need these when you want to put them back on your new Nook OS.
- Install the new OS. Now you install the OS you've chosen, over-writing the SD card as needed. Hope you backed everything up and made the copies you needed!
- Reinstall your apps and their data. You'll now need to get your Titanium Backup folder data copied back from your computer onto the SD card, make sure you restore it to its original path, which should be /sdcard/TitaniumBackup. With this done, run Titanium Backup Pro. Press the virtual menu button from the TB screen, then choose "Batch", then choose "Restore missing apps with data". TB will show you a list of apps which are not currently installed. Be careful what you install this way! I recommend choosing only those apps which are least likely to be integrated with the OS. For example, I would personally be reluctant to install Gmail this way (since I might expect trouble, given its integration wish OS-level features related to syncing), but I wouldn't fear installing Google Earth this way. To be really safe you may wish to work through the list iteratively, first installing those apps you are most confident will cause no problems (e.g., games), and then over several iterations and reboots and testing work through the rest of the list. Some apps may not work properly once restored! This can relate to what is stored in their app data, which might have dependencies that no longer make sense on this new OS. If this is the case you can clear this data via the app info screen and if that doesn't work uninstall then re-install the app; you will lose that apps settings/progress/etc. in that situation. Fortunately very few apps experience this.
- Replace your personal / media files. You can now restore your persona and media content from the copy you made to your PC.
- Recreating your OS settings / home screen customizations / etc. Unfortunately one thing you will always lose is the customizations you make to things like your home screen, and the OS settings. There's not much you can do about this if you are radically altering the operating system (e.g., Froyo to Gingerbread/CM7). If your conversion is less severe, and within the same underlying OS (e.g., verygreen's CM7 to phiremod's nook) you may be able to backup and restore the "system settings" using that batch scenario in Titanium Backup. Typically you just need to expect to recreate these sorts of changes, which are often fundamental to the new OS. New functions / features often make previous settings you had meaningless.
Fortunately this process isn't as bad as it sounds. Assuming you're satisfied with getting your system 97% upgraded, then making the minor home screen / OS customizations over the days which follow, you can realistically complete a major upgrade in under an hour (barring problems).
Upgrading the Kernel / ROM
Upgrading the kernel (aka ROM) can be incredibly easy. The basic process is simple, pick the kernel appropriate to your OS install, download it to your PC, copy it to the right location on your Nook Color. The actual steps very wildly depending on what OS install you have, but the process always involves those basic components. Some tools like ClockworkMod exist to automate this process, and potentially remove the PC from the equation, but more on that at a later time.
Because each OS install requires a different process I won't go into any detailed explanation of what you need to do here, I'll just mention a few things you might not know if you are new to this.
For most OS installs the kernel / ROM is a single file, called "uImage". When you are upgrading the kernel all you are doing is replacing that single file. You should always keep a copy of the last kernel you were using, in case something goes wrong and you need to revert to it. Personally when I am going to upgrade my kernel I rename the existing uImage to something which records the version info. I might rename "uImage" to "uImage.03302011" which indicates to me it was dalingrin's 03/30/2011 release of his kernel (obviously the name doesn't record it was dalingrin's, or that it was his SD CM7 version, but since his are the only kernels I'm using, and since I'd only be using the SD CM7 version on this device, I don't record that info in the name).
It's always a good idea to read the change log to see what is being updated in each kernel release, and if it ain't broke consider not fixing it. Some releases are critical, adding Bluetooth support, adding hardware acceleration to video, but others may not mean anything to you, like adding VPN support. If your system is fine and a kernel update doesn't give you anything, it's okay to let one go by! New kernels can add new problems, let somebody else work out the bugs if you're happy with your current kernel!
It seems obvious, but make sure you pick the right kernel for your OS! Most people's problems relate to having picked the wrong one. A Froyo OS should have a Froyo kernel, a CM7 OS should have a CM 7 kernel. While one kernel might work with another OS you're just asking for trouble.