kwboot Preamble only feature

Matthew Minter matthew_minter at
Tue Nov 19 11:48:25 EST 2013

Hi everyone,

I was not sure this is the correct list to send this to, however when
using the included kwboot utility to bootstrap a Marvell Armada XP
board I quickly noticed it was missing a useful feature, the ability
to send the boot preamble without sending a boot image afterwards.
This was useful to me as my configuration required an xmodem program
with special features, not available in the useful but very light
included one.

As such I have written a patch which adds the -j option. This allows
behaviour similar to the -b option except kwboot exits just before the
actual xmodem transfer, allowing another xmodem program to take over
and send the boot file.

I think this may be of use to others bootstrapping Armada XP based
systems so attach this patch to the end of my post.

Many thanks,

--- barebox/scripts/kwboot.c.old    2013-11-19 16:37:04.717255752 +0000
+++ barebox/scripts/kwboot.c    2013-11-19 16:38:36.573351680 +0000
@@ -587,13 +587,15 @@
 kwboot_usage(FILE *stream, char *progname)
-        "Usage: %s [-d | -b <image> | -D <image> ] [ -t ] [-B <baud>
] <TTY>\n",
+        "Usage: %s [-d | -b <image> | -D <image> | -j ] [ -t ] [-B
<baud> ] <TTY>\n",
     fprintf(stream, "\n");
         "  -b <image>: boot <image> with preamble (Kirkwood, Armada
         "  -D <image>: boot <image> without preamble (Dove)\n");
+        fprintf(stream,
+                "  -j: just send the boot preamble but do not send
any image\n");
     fprintf(stream, "  -d: enter debug mode\n");
     fprintf(stream, "\n");
     fprintf(stream, "  -t: mini terminal\n");
@@ -626,7 +628,7 @@
     kwboot_verbose = isatty(STDOUT_FILENO);

     do {
-        int c = getopt(argc, argv, "hb:dtB:D:");
+        int c = getopt(argc, argv, "jhb:dtB:D:");
         if (c < 0)

@@ -636,6 +638,10 @@
             imgpath = optarg;

+        case 'j':
+            bootmsg = kwboot_msg_boot;
+            break;
         case 'D':
             bootmsg = NULL;
             imgpath = optarg;


For additional information including the registered office and the treatment of Xyratex confidential information please visit


More information about the barebox mailing list