Ken wrote up the process on windows here
Here's how on Linux (works for Ubuntu 14).
Unplug blue jumper on pin7&8.
Plug USB cable into socket closest to ARM chip.
Use lsusb to find the device:
lsusb
Bus 001 Device 026: ID 0483:df11 STMicroelectronics STM Device in DFU Mode
Use dfu-util (sudo apt-get install dfu-util) to list DFUs:
sudo dfu-util -d 0483:df11 -l
dfu-util 0.5
(C) 2005-2008 by Weston Schmidt, Harald Welte and OpenMoko Inc.
(C) 2010-2011 Tormod Volden (DfuSe support)
This program is Free Software and has ABSOLUTELY NO WARRANTY
dfu-util does currently only support DFU version 1.0
Filter on vendor = 0x0483 product = 0xdf11
Found Runtime: [05ac:828f] devnum=0, cfg=1, intf=3, alt=0, name="UNDEFINED"
Found DFU: [0483:df11] devnum=0, cfg=1, intf=0, alt=0, name="@Internal Flash /0x08000000/0128*0002Kg"
Found DFU: [0483:df11] devnum=0, cfg=1, intf=0, alt=1, name="@Option Bytes /0x1FFF7800/01*040 e"
Found DFU: [0483:df11] devnum=0, cfg=1, intf=0, alt=2, name="@OTP Memory /0x1FFF7000/01*0001Ke"
Found DFU: [0483:df11] devnum=0, cfg=1, intf=0, alt=3, name="@Device Feature/0xFFFF0000/01*004 e"
We want the internal flash (alt=0), so now with the iceboot.dfu:
sudo dfu-util -d 0483:df11 -D ~/Downloads/iceboot.dfu --alt 0
dfu-util 0.5
(C) 2005-2008 by Weston Schmidt, Harald Welte and OpenMoko Inc.
(C) 2010-2011 Tormod Volden (DfuSe support)
This program is Free Software and has ABSOLUTELY NO WARRANTY
dfu-util does currently only support DFU version 1.0
Filter on vendor = 0x0483 product = 0xdf11
Opening DFU USB device... ID 0483:df11
Run-time device DFU version 011a
Found DFU: [0483:df11] devnum=0, cfg=1, intf=0, alt=0, name="@Internal Flash /0x08000000/0128*0002Kg"
Claiming USB DFU Interface...
Setting Alternate Setting #0 ...
Determining device status: state = dfuIDLE, status = 0
dfuIDLE, continuing
DFU mode device DFU version 011a
Device returned transfer size 2048
Dfu suffix version 11a
Warning: File product ID 0000 does not match device df11
DfuSe interface name: "Internal Flash "
file contains 1 DFU images
parsing DFU image 1
image for alternate setting 0, (1 elements, total size = 22744)
parsing element 1, address = 0x08000000, size = 22736
done parsing DfuSe file
Then unplug usb, put jumper back, plug into other USB socket and check dmesg:
[108129.748055] ch341 1-1.2.3.4.3:1.0: ch341-uart converter detected
[108129.749285] usb 1-1.2.3.4.3: ch341-uart converter now attached to ttyUSB0
Check serial output:
miniterm /dev/ttyUSB0 115200
--- Miniterm on /dev/ttyUSB0 115200,8,N,1 ---
--- Quit: Ctrl+] | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H ---
Press reset button:
Mystorm version 0.1
Setup done
Waiting for UART
Now you should be able to flash your mystorm like this:
cat chip.bin > /dev/ttyUSB0
(takes about 10 seconds).