Making the system bootable with flash-kernel
As there is no common firmware interface on all ARM platforms, the
steps required to make the system bootable on ARM devices are
highly device-dependent. &debian; uses a tool called
flash-kernel to take care of this. Flash-kernel
contains a database which describes the particular operations that are
required to make the system bootable on various devices. It detects
whether the current device is supported, and if yes, performs the
necessary operations.
On devices which boot from internal NOR- or NAND-flash memory,
flash-kernel writes the kernel and the initial ramdisk to this internal
memory. This method is particularly common on older armel devices.
Please note that most of these devices do not allow having multiple
kernels and ramdisks in their internal flash memory, i.e. running
flash-kernel on them usually overwrites the previous contents of the flash
memory!
For ARM systems that use U-Boot as their system firmware and boot the
kernel and the initial ramdisk from external storage media (such as
MMC/SD-cards, USB mass storage devices or IDE/SATA harddisks),
flash-kernel generates an appropriate boot script to allow autobooting
without user interaction.