900719_FOCE : xFOCE - serial tools - configure minicom for raw binary transfers This page last changed on Aug 16, 2012 by headley. This is useful for transferring binary files using minicom, for example when installing boot loaders. =================== Set up raw binary transfers for minicom =================== [Note, you need to disable the text output - I added a -q (quiet) option - see alternative version below] Minicom is the defacto standard serial communication program for Linux, modeled after the old DOS program Telix. While Minicom isn't as advanced as Telix, it does offer quite a bit of functionality that satisfies most common needs. Unfortunately, it doesn't include a binary upload option. While not commonly used, once in a while, you just need it. Fortunately, Minicom does allow you to define your own file transfer utilities. So here's a simple little script you can use that will give you a "binary upload" option in Minicom. To make things a little prettier, I used a little utility called 'pv' so that you can get a progress bar while it transfers your file. If you don't already have it, you should be able to find it easily within your Linux distribution: On RPM-based systems, just type: sudo yum install pv On Debian-based systems, type: sudo apt-get install pv Now create this script, and place it in your ~/bin/ directory as (for example) bin-xfr.'
    #!/bin/sh
    INFILE=/dev/null
    OUTFILE=/dev/null

    while [ $# -gt 0 ]; do
     case "$1" in
     -i)
     shift
     INFILE="$1"
     ;;
     -o)
     shift
     OUTFILE="$1"
     ;;
     -h|--help)
     echo "$0 -i infile -o outfile"
     ;;
     *)
     INFILE="$1"
     esac
     shift
    done
    cat << EOF
    binary-xfer utility for minicom
    Sending file ${INFILE} to ${OUTFILE}
    EOF

    /usr/bin/pv --force -i 0.25 -B 128  ${INFILE}  2>&1 > ${OUTFILE}
    # Use the line below if you don't have pv!

    # /bin/cat ${INFILE} > ${OUTFILE}
    cat << EOF

    File transfer complete
    EOF
    sleep 1
Now go over to minicom and go to the configuration menu (via ESC-O), then "File transfer protocols". You can add a section there called "binary", point it at your file, and specify: • Name: Binary • Program: /home/MYUSERNAME/bin/bin-xfer -o %l • Name: Y • U/D: U • FullScr: Y • IO-Red: N • Multi:N
    Then leave the menu and save your options.  Next time you send a file (via ESC-S), you should see "Binary" listed as an option.
    [my alternative version]
    #!/bin/sh
    INFILE=/dev/null
    OUTFILE=/dev/null
    VERBOSE="TRUE"

    while [ $# -gt 0 ]; do
     case "$1" in
     -i)
     shift
     INFILE="$1"
     ;;
     -o)
     shift
     OUTFILE="$1"
     ;;
     -q)
     VERBOSE="FALSE"
     ;;
     -h|--help)
     echo "$0 [-q] -i infile -o outfile"
     ;;
     *)
     INFILE="$1"
     esac
     shift
    done

    if [ ${VERBOSE} == "TRUE" ]
    then
     cat << EOF
     binary-xfer utility for minicom
     Sending file ${INFILE} to ${OUTFILE}
    EOF
    fi

    #/usr/bin/pv --force -i 0.25 -B 128  ${INFILE}  2>&1 > ${OUTFILE}
    # Use the line below if you don't have pv!

     /bin/cat ${INFILE} > ${OUTFILE}

    #cat << EOF

    if [ ${VERBOSE} == "TRUE" ]
    then
     File transfer complete
     EOF
    fi

    sleep 1

Document generated by Confluence on Feb 03, 2026 14:29