1. An end-user communication device comprising: memory configured to store a universal microcode image, an index table, a packing program, and a configuration loading program, wherein the packing program comprises logic configured to identify unique sections and identical sections in sections of a plurality of microcode images, wherein identifying identical sections comprises searching through the sections of the plurality of microcode images to identify sections having same type and length, and performing a binary comparison of the sections of each of the plurality of microcode images having the same length and the same type to identify identical sections; and a processor configured to execute the configuration loading program, wherein when executed the configuration loading program is configured to create a microcode for booting the end-user communication device from the stored universal microcode image based on configuration parameters of the end-user communication device, wherein the configuration loading program being configured to create the microcode for booting comprises the configuration loading program configured to: determine the configuration parameters of associated with the end-user communication device, match the determined configuration parameters with an entry in an index table, wherein the index table comprises information that associates each of a number of possible permutations of the device configuration parameters with a combination of executable code sections and configuration information sections of the universal microcode image, the device configuration parameters being selected from a group of parameters comprising: media type parameter; frequency band parameter; and quality of service parameter, wherein the media type parameter is selected from a group of types of media to which the end-user communication device is to be connected wherein the index table includes a list of unique sections contained in the universal microcode image, identify sections from the universal code matching the configuration parameters, wherein the index table further includes string names correlating the sections in the list with the device configuration parameters, and assemble the identified sections in an order based on the index table to create the microcode; and wherein the processor is further configured to load the combination of executable code sections and configuration information sections into a boot program for booting up the end-user communication device.