[clug] Flashing the Neo FreeRunner

Scott Ferguson scott.ferguson.clug at gmail.com
Mon Apr 6 21:21:10 MDT 2015

On 07/04/15 12:39, Bob Edwards wrote:
> On 06/04/15 18:27, Bryan Kilgallin wrote:
>> I am trying do this firmware upgrade.
>> http://wiki.openmoko.org/wiki/Flashing_the_Neo_FreeRunner
>> So I have backed up.
>> http://wiki.openmoko.org/wiki/Backup

And tested your backup - I hope.

>> And from the following repository, I have downloaded to my PC's desktop,
>> these files.
>> http://downloads.openmoko.org/distro/releases/Om2008.12/
>>      * Om2008.12-om-gta02.rootfs.jffs2
>>      * Om2008.12-om-gta02.uImage.bin
>> In a terminal window, "apropos dfu" shows that I have the following
>> programs/commands.
>>      * dfu-util (1)         - Device firmware update (DFU) USB programmer
>>      * dfutool (1)          - Device Firmware Upgrade utility


>> I have also downloaded the NeoTool bash script.
>> http://wiki.openmoko.org/wiki/NeoTool
>> As it starts "#!/bin/bash", I guess that it should go into my PC's
>> "/bin" directory--although I don't see a "bash" subdirectory therein. So
>> I put it on the PC's desktop.

No. That just means the script is written for BASH.

Just needs to be somewhere in your "path" (see further down) if you want
to simply enter the command and have it "work". Otherwise you'll need to
supply the full path to the command or the system won't find it.

>> According to the dfu-util manual, I tried unsuccessfully to get
>> /proc/bus/usb mounted.
>> http://wiki.openmoko.org/wiki/Manuals/Dfu-util
>> First I got this error: "ls: cannot access /proc/bus/usb: No such file
>> or directory".

Because it's not there...
If ls can't find it, correct the path before proceeding.

>> So as instructed, I used the command: "sudo mount -t usbfs usbfs
>> /proc/bus/usb".
>> But this error resulted: "mount: mount point /proc/bus/usb does not
>> exist".
>> I do not feel confident, and so request advice.

Open Moko would be a better place to ask. Please provide them with the
specifics of your Open Moko model.

> Hi Bryan,
> Flashing the firmware of a Neo FreeRunner (or any other embedded device)
> is a process that requires a certain degree of expertise and/or bravado.

*And* an escape plan...(i.e. how will you recover if it fails) ;p

> Good on you for wanting to give it a try, but don't be surprised if the
> learning curve is steeper than you might otherwise expect. I would
> imagine only a small percentage of people on this mailing list would
> have attempted to re-flash the firmware of an embedded device, let alone
> a Neo FreeRunner.
> Your 4th para re: /bin/bash indicates that you may not be familiar with
> Unix Shell scripts. I suggest you look at some documentation on that
> topic, such as the Bash Guide for Beginners:
> http://www.tldp.org/LDP/Bash-Beginners-Guide/html/index.html
> (there are other, better ones, around the web).
> In this case, /bin/bash is the path to the Bash executable, not where
> to put your script. Your script can be almost anywhere in the
> filesystem but it expects to find the Bash executable at /bin/bash
> (which is the normal location in the filesystem for it to be).

Any where in your "path" (where the shell looks for commands).

To determine your "path":-
echo $PATH

scott at work ~ $ echo $PATH

work scott # echo $PATH

I usually put custom user scripts in ~/bin, /usr/local/bin or

> As for /proc/bus/usb and versions of Ubuntu running kernels 3.x and
> above (such as Ubuntu 12.04), it looks like there is a known problem.
> I would look at the suggestions, eg.:
> http://ubuntuforums.org/showthread.php?t=1432598
> for further advice.

I suspect Brian is referring to /proc/bus/usb on the Neo Freerunner

ls /proc/bus/usb
001 002 003 004 005 devices

(Neo Freerunner still uses usbfs on early kernels).

> cheers,
> Bob Edwards.

Kind regards

More information about the linux mailing list