#######################################################################
# Document: /boot/README-kernels.txt
# Purpose:  Explain the various files
# Author:   Stuart Winter <mozes@slackware.com>
# Date:     09-Jul-2014
# Version:  1.00
#######################################################################

With a full installation, Slackware ARM contains two Kernel packages:

   kernel_armv7-<Linux version>-arm-<build number>
   kernel_armv5-<Linux version>-arm-<build number>

These packages contain kernels for a variety of ARMv7 and ARMv5 devices,
respectively.

In the /boot directory, you will see a number of symbolic links and their
corresponding versioned file.  Here is a short run down:-

   uImage-armv7
   uImage-armv5

     These are images that are specifically for the 'U-Boot' boot loader
     which is a popular boot loader used on many ARM devices.  This loader
     obtains some of its information from data baked into the 'uImage'.  This
     'uImage' file is essentially a wrapped Linux 'zImage' kernel.

     If your system does not use U-Boot, then you will not need these files.
     However, they are provided because the systems that Slackware ARM supports
     out-of-the-box use U-Boot.

   uinitrd-armv7
   uinitrd-armv5

     These are the Initial RAM disks that contain the drivers (Kernel
     modules) required to boot the system.  Again, these are versions that
     are wrapped up specifically for the U-Boot boot loader.
     

   zImage-armv7
   zImage-armv5  (and its corresponding versioned file)


     These are virgin Linux kernels - no modifications.
     The purpose of these is that should your system be able to make use
     of one of the standard Slackware ARM kernels but need to modify
     or supply the original unmodified version of the Kernel, you can
     do so easily.

     Some owners of 'Kirkwood' devices (such as the 'Dockstar') may need
     to use the supplied zImage to make an appropriate file for the 
     boot loader on those devices.


   dtb/*

     These are the Device Tree Blob files that are used to describe
     the ARM system that you are booting.  If the boot loader on your
     device supports DTB then you can use one of these files.  However, if
     it does not, you may need to append one of them to the virgin zImage
     file.

     An example of appending one of the DTB's to the zImage is as follows.
     Here we will append the SheevaPlug DTB to the virgin zImage and 
     overwrite the supplied uImage-armv5 file:

     # cat zImage-armv5 dtb/kirkwood-sheevaplug.dtb > zImage-appended
     # mkimage -A arm -O linux -T kernel \
               -C none -a 0x00008000 \
               -e 0x00008000 \
               -n "Slackware ARM" \
               -d zImage-appended \
                  uImage-armv5



If you have any questions or need help, please register and post
your question at the officially supported Slackware ARM forum:
  http://www.linuxquestions.org/questions/slackware-arm-108/

-- 
Stuart Winter

