Duplicating Bootable CF / Hard Drive?

Our product uses a 128M SanDisk Ultra Compact Flash as a
bootable (EIDE) drive on an embedded PC board (contains
BIOS, has EIDE interface). The application uses QNX 6.1.

We are approaching production of our product, and now need a
way to replicate the final QNX /Application load onto many
Compact Flash devices for many machines.

I believe that what I want to do is copy the raw image of
“/dev/hd0” (Compact Flash) device into an image file on
a hard drive, and then copy that raw disk image onto an
empty Compact Flash mounted on a PC somewhere.

Questions:

  1. Is there a way under Windoze to copy a QNX disk image
    to an empty Compact Flash device, and end up with a
    bootable QNX system?

  2. Is it easy to do on a QNX development PC?

  3. How?

  4. We want to make sure that QNX gets it’s due, and some
    post-copying effort will make sure that licensing is
    done for each CF to be shipped. (How?)

I know how to put a boot image on a floppy (“dinit -f filename.image”).
Will this work for a compact flash if I mount an EIDE CF drive in
my QNX PC?

Someone mentioned a Windoze-based utility “Rawrite”, used
apparently among the LINUX community. Might this be a useful
tool for copying my product CF image to a new CF device?


Jeff Maass jmaass@columbus.rr.com Located near Columbus Ohio
USPSA # L-1192 NROI/CRO Amateur Radio K8ND
Maass’ IPSC Resources Page: http://home.columbus.rr.com/jmaass

If you can ensure the same geometry (not just sizes) between your
CF devices you can use dd from QNX.

dd if=/dev/hd0 of=/tmp/cf.img

That will make the raw copy for you that you can copy back.

chris



Jeff Maass <jmaass@columbus.rr.com> wrote:

Our product uses a 128M SanDisk Ultra Compact Flash as a
bootable (EIDE) drive on an embedded PC board (contains
BIOS, has EIDE interface). The application uses QNX 6.1.

We are approaching production of our product, and now need a
way to replicate the final QNX /Application load onto many
Compact Flash devices for many machines.

I believe that what I want to do is copy the raw image of
“/dev/hd0” (Compact Flash) device into an image file on
a hard drive, and then copy that raw disk image onto an
empty Compact Flash mounted on a PC somewhere.

Questions:

  1. Is there a way under Windoze to copy a QNX disk image
    to an empty Compact Flash device, and end up with a
    bootable QNX system?

  2. Is it easy to do on a QNX development PC?

  3. How?

  4. We want to make sure that QNX gets it’s due, and some
    post-copying effort will make sure that licensing is
    done for each CF to be shipped. (How?)

I know how to put a boot image on a floppy (“dinit -f filename.image”).
Will this work for a compact flash if I mount an EIDE CF drive in
my QNX PC?

Someone mentioned a Windoze-based utility “Rawrite”, used
apparently among the LINUX community. Might this be a useful
tool for copying my product CF image to a new CF device?


Jeff Maass > jmaass@columbus.rr.com > Located near Columbus Ohio
USPSA # L-1192 NROI/CRO Amateur Radio K8ND
Maass’ IPSC Resources Page: > http://home.columbus.rr.com/jmaass


Chris McKillop <cdm@qnx.com> “The faster I go, the behinder I get.”
Software Engineer, QSSL – Lewis Carroll –
http://qnx.wox.org/

Chris McKillop wrote:

If you can ensure the same geometry (not just sizes) between your
CF devices you can use dd from QNX.

dd if=/dev/hd0 of=/tmp/cf.img

That will make the raw copy for you that you can copy back.

A customer of ours is doing this right now. We found that if you use
the pcmcia adapter for the flash, and script it right (you want to wait
after you are finished for all the reasons I hate CF), you can produce
CF images quite quickly.

A couple observations:

Compact Flash is evil! (see other posts about problems with compact
flash in embedded devices)

Related to the above, it very important not to remove the pcmcia adapter
until the right amount of time has passed after the copy is done. We
used cksum in the script to provide a delay and a visible confirmation
that the image was copied good.

Using a QNX 6.2 system to do the copying was more than twice as fast as
earlier systems - I presume this was because the newer eide drivers in
6.2 are faster.

Rick…

Rick Duff Internet: rick@astranetwork.com
Astra Network QUICS: rgduff
QNX Consulting and Custom Programming URL:
http://www.astranetwork.com
+1 (204) 987-7475 Fax: +1 (204) 987-7479