return 1;
        }
 
+       if (images.os.type == IH_TYPE_KERNEL_NOLOAD) {
+               images.os.load = images.os.image_start;
+               images.ep += images.os.load;
+       }
+
        if (((images.os.type == IH_TYPE_KERNEL) ||
+            (images.os.type == IH_TYPE_KERNEL_NOLOAD) ||
             (images.os.type == IH_TYPE_MULTI)) &&
            (images.os.os == IH_OS_LINUX)) {
                /* find ramdisk */
        }
 
        show_boot_progress(106);
-       if (!fit_image_check_type(fit, os_noffset, IH_TYPE_KERNEL)) {
+       if (!fit_image_check_type(fit, os_noffset, IH_TYPE_KERNEL) &&
+           !fit_image_check_type(fit, os_noffset, IH_TYPE_KERNEL_NOLOAD)) {
                puts("Not a kernel image\n");
                show_boot_progress(-106);
                return 0;
                /* get os_data and os_len */
                switch (image_get_type(hdr)) {
                case IH_TYPE_KERNEL:
+               case IH_TYPE_KERNEL_NOLOAD:
                        *os_data = image_get_data(hdr);
                        *os_len = image_get_data_size(hdr);
                        break;
 
        {       IH_TYPE_FIRMWARE,   "firmware",   "Firmware",           },
        {       IH_TYPE_FLATDT,     "flat_dt",    "Flat Device Tree",   },
        {       IH_TYPE_KERNEL,     "kernel",     "Kernel Image",       },
+       {       IH_TYPE_KERNEL_NOLOAD, "kernel_noload",  "Kernel Image (no loading done)", },
        {       IH_TYPE_KWBIMAGE,   "kwbimage",   "Kirkwood Boot Image",},
        {       IH_TYPE_IMXIMAGE,   "imximage",   "Freescale i.MX Boot Image",},
        {       IH_TYPE_INVALID,    NULL,         "Invalid Image",      },
 
 #define IH_TYPE_UBLIMAGE       11      /* Davinci UBL Image            */
 #define IH_TYPE_OMAPIMAGE      12      /* TI OMAP Config Header Image  */
 #define IH_TYPE_AISIMAGE       13      /* TI Davinci AIS Image         */
+#define IH_TYPE_KERNEL_NOLOAD  14      /* OS Kernel Image, can run from any load address */
 
 /*
  * Compression Types
 
 
 static int image_check_image_types(uint8_t type)
 {
-       if ((type > IH_TYPE_INVALID) && (type < IH_TYPE_FLATDT))
+       if (((type > IH_TYPE_INVALID) && (type < IH_TYPE_FLATDT)) ||
+           (type == IH_TYPE_KERNEL_NOLOAD))
                return EXIT_SUCCESS;
        else
                return EXIT_FAILURE;