qfs file format

Hi,

We have an embedded pc target system with an “IDE Flash Disk”. We have a
number of units under evaluation at the moment and I’m looking for a
simple method to distribute new firmware to the devices.

Ideally, I would like to be able to send a comple filesystem image to
our testers, as currently we are having to copy files onto the target
system.

Could anyone explaing the “qfs” file system? I believe that using this
would allow us to generate the fs image and then mount it using the
mount command. (This would appear to be the method that QNX uses). Try
doing the following:

mount -t qnx4 /boot/fs/qnxbase.qfs /test


I’ve tried various things like mkifs and mkefs but I cannot create a
mountable image!

Suggestions or comments would be greatly appreciated.

Regards

Dave Edwards
Abicom International

Hi Dave,

Please read the thread exactly in this conference:

From: “Jason Farque”
Newsgroups: qdn.public.qnxrtp.embedded
Subject: Mounting files as file systems
Date: Thu, 1 Aug 2002 16:40:17 -0500
Xref: inn.qnx.com qdn.public.qnxrtp.embedded:516

Well, here is cut&pasted fragment:

There is no any special utility, AFAIK.
creat a 4 Mb file

dd if=/dev/zero of=/systemX.qfs bs=1024 count=4096

creat a QNX file system inside the file

dinit /systemX.qfs

mount this file system

mount /systemX.qfs /systemX

work with files under /systemX/ like it is normal filesystem space :wink:

Best regards,
Eduard

“Dave Edwards” <Dave.edwards@abicom-international.com> wrote in message
news:3DB7C6D8.8010105@abicom-international.com

Hi,

We have an embedded pc target system with an “IDE Flash Disk”. We have a
number of units under evaluation at the moment and I’m looking for a
simple method to distribute new firmware to the devices.

Ideally, I would like to be able to send a comple filesystem image to
our testers, as currently we are having to copy files onto the target
system.

Could anyone explaing the “qfs” file system? I believe that using this
would allow us to generate the fs image and then mount it using the
mount command. (This would appear to be the method that QNX uses). Try
doing the following:

mount -t qnx4 /boot/fs/qnxbase.qfs /test


I’ve tried various things like mkifs and mkefs but I cannot create a
mountable image!

Suggestions or comments would be greatly appreciated.

Regards

Dave Edwards
Abicom International

Thanks folks!

This is exactly what I’m looking for. I just don’t know why:

a, I didn’t spot the original posting
b, Didn’t think of it myself

Cheers for now

Dave



ed1k wrote:

Hi Dave,

Please read the thread exactly in this conference:

From: “Jason Farque”
Newsgroups: qdn.public.qnxrtp.embedded
Subject: Mounting files as file systems
Date: Thu, 1 Aug 2002 16:40:17 -0500
Xref: inn.qnx.com qdn.public.qnxrtp.embedded:516

Well, here is cut&pasted fragment:

There is no any special utility, AFAIK.
creat a 4 Mb file

dd if=/dev/zero of=/systemX.qfs bs=1024 count=4096

creat a QNX file system inside the file

dinit /systemX.qfs

mount this file system

mount /systemX.qfs /systemX

work with files under /systemX/ like it is normal filesystem space > :wink:

Best regards,
Eduard

“Dave Edwards” <> Dave.edwards@abicom-international.com> > wrote in message
news:> 3DB7C6D8.8010105@abicom-international.com> …

Hi,

We have an embedded pc target system with an “IDE Flash Disk”. We have a
number of units under evaluation at the moment and I’m looking for a
simple method to distribute new firmware to the devices.

Ideally, I would like to be able to send a comple filesystem image to
our testers, as currently we are having to copy files onto the target
system.

Could anyone explaing the “qfs” file system? I believe that using this
would allow us to generate the fs image and then mount it using the
mount command. (This would appear to be the method that QNX uses). Try
doing the following:

mount -t qnx4 /boot/fs/qnxbase.qfs /test


I’ve tried various things like mkifs and mkefs but I cannot create a
mountable image!

Suggestions or comments would be greatly appreciated.

Regards

Dave Edwards
Abicom International
\

This is a really schnifty thing. But . . .

BEWARE !

Don’t try this procedure on a QNX 4 system!

dinit will initialize the partition that the file in question resides on.

(This is a really bad thing!)

“ed1k” <ed1k@nobody.fools.ca> wrote in message
news:ap9a9c$nmr$1@inn.qnx.com

Well, here is cut&pasted fragment:

There is no any special utility, AFAIK.
creat a 4 Mb file

dd if=/dev/zero of=/systemX.qfs bs=1024 count=4096

creat a QNX file system inside the file

dinit /systemX.qfs

mount this file system

mount /systemX.qfs /systemX

work with files under /systemX/ like it is normal filesystem space > :wink:

Thanks Bill,

Luckily we only use RTP. So it should not be a problem.

Has anyone got compression working with this method?

I’d like to be able to compress the image and then use something like
inflator to decompress it on the fly…

Dave


Bill Caroselli (Q-TPS) wrote:

This is a really schnifty thing. But . . .

BEWARE !

Don’t try this procedure on a QNX 4 system!

dinit will initialize the partition that the file in question resides on.

(This is a really bad thing!)

“ed1k” <> ed1k@nobody.fools.ca> > wrote in message
news:ap9a9c$nmr$> 1@inn.qnx.com> …

Well, here is cut&pasted fragment:

There is no any special utility, AFAIK.
creat a 4 Mb file

dd if=/dev/zero of=/systemX.qfs bs=1024 count=4096

creat a QNX file system inside the file

dinit /systemX.qfs

mount this file system

mount /systemX.qfs /systemX

work with files under /systemX/ like it is normal filesystem space > :wink:

\

“Dave Edwards” <Dave.edwards@abicom-international.com> wrote in message
news:3DBE54E8.2080005@abicom-international.com

Thanks Bill,

Luckily we only use RTP. So it should not be a problem.

Has anyone got compression working with this method?

I’d like to be able to compress the image and then use something like
inflator to decompress it on the fly…

Which point of the flight do you mean? QSSL used the compressed image for
base utils (qnxbase.qfs) on the version 6.0
installation CD and decompressed it on the fly during installation (copy
image from CD to HD). Do you mean the resource manager which handles
read/write operation on such compressed filesystem?

Eduard.

Dave


Bill Caroselli (Q-TPS) wrote:
This is a really schnifty thing. But . . .

BEWARE !

Don’t try this procedure on a QNX 4 system!

dinit will initialize the partition that the file in question resides
on.

(This is a really bad thing!)

“ed1k” <> ed1k@nobody.fools.ca> > wrote in message
news:ap9a9c$nmr$> 1@inn.qnx.com> …

Well, here is cut&pasted fragment:

There is no any special utility, AFAIK.
creat a 4 Mb file

dd if=/dev/zero of=/systemX.qfs bs=1024 count=4096

creat a QNX file system inside the file

dinit /systemX.qfs

mount this file system

mount /systemX.qfs /systemX

work with files under /systemX/ like it is normal filesystem space > :wink:


\

The scenario we have is this:

We have an embedded system with a flash ide driver (not a CF device).
We need to be able to distibute firmware updates easily.
(This is now achievable using the method)
We also would like to reduce the size of the firmware image. Generally
speaking the images will not get modified by the system so I’d like to
compress the image and decompress on the fly.

I’ve tried using deflator, but it didn’t appear to work too well

Regards

Dave



ed1k wrote:

“Dave Edwards” <> Dave.edwards@abicom-international.com> > wrote in message
news:> 3DBE54E8.2080005@abicom-international.com> …

Thanks Bill,

Luckily we only use RTP. So it should not be a problem.

Has anyone got compression working with this method?

I’d like to be able to compress the image and then use something like
inflator to decompress it on the fly…


Which point of the flight do you mean? QSSL used the compressed image for
base utils (qnxbase.qfs) on the version 6.0
installation CD and decompressed it on the fly during installation (copy
image from CD to HD). Do you mean the resource manager which handles
read/write operation on such compressed filesystem?

Eduard.



Dave


Bill Caroselli (Q-TPS) wrote:

This is a really schnifty thing. But . . .

BEWARE !

Don’t try this procedure on a QNX 4 system!

dinit will initialize the partition that the file in question resides

on.

(This is a really bad thing!)

“ed1k” <> ed1k@nobody.fools.ca> > wrote in message
news:ap9a9c$nmr$> 1@inn.qnx.com> …


Well, here is cut&pasted fragment:

There is no any special utility, AFAIK.
creat a 4 Mb file

dd if=/dev/zero of=/systemX.qfs bs=1024 count=4096

creat a QNX file system inside the file

dinit /systemX.qfs

mount this file system

mount /systemX.qfs /systemX

work with files under /systemX/ like it is normal filesystem space > :wink:



\

“Dave Edwards” <Dave.edwards@abicom-international.com> wrote in message
news:3DBEA9D5.4090806@abicom-international.com

The scenario we have is this:

We have an embedded system with a flash ide driver (not a CF device).
We need to be able to distibute firmware updates easily.
(This is now achievable using the method)
We also would like to reduce the size of the firmware image. Generally
speaking the images will not get modified by the system so I’d like to
compress the image and decompress on the fly.

I’ve tried using deflator, but it didn’t appear to work too well

Don’t compress the image (which is what I assume you tried), instead
compress the files in the image. The drawback is that empty space in the
image file doesn’t get compress.


Regards

Dave



ed1k wrote:
“Dave Edwards” <> Dave.edwards@abicom-international.com> > wrote in message
news:> 3DBE54E8.2080005@abicom-international.com> …

Thanks Bill,

Luckily we only use RTP. So it should not be a problem.

Has anyone got compression working with this method?

I’d like to be able to compress the image and then use something like
inflator to decompress it on the fly…


Which point of the flight do you mean? QSSL used the compressed image
for
base utils (qnxbase.qfs) on the version 6.0
installation CD and decompressed it on the fly during installation (copy
image from CD to HD). Do you mean the resource manager which handles
read/write operation on such compressed filesystem?

Eduard.



Dave


Bill Caroselli (Q-TPS) wrote:

This is a really schnifty thing. But . . .

BEWARE !

Don’t try this procedure on a QNX 4 system!

dinit will initialize the partition that the file in question resides

on.

(This is a really bad thing!)

“ed1k” <> ed1k@nobody.fools.ca> > wrote in message
news:ap9a9c$nmr$> 1@inn.qnx.com> …


Well, here is cut&pasted fragment:

There is no any special utility, AFAIK.
creat a 4 Mb file

dd if=/dev/zero of=/systemX.qfs bs=1024 count=4096

creat a QNX file system inside the file

dinit /systemX.qfs

mount this file system

mount /systemX.qfs /systemX

work with files under /systemX/ like it is normal filesystem space > :wink:




\

I tried compressing the files, however I had a problem with inflator
running on the target. It seemed to fail to detect the compressed files.
Running inflator on the host machine worked fine though.

Does anyone have an example of inflator running on a target system?

Cheers

Dave


Mario Charest wrote:

“Dave Edwards” <> Dave.edwards@abicom-international.com> > wrote in message
news:> 3DBEA9D5.4090806@abicom-international.com> …

The scenario we have is this:

We have an embedded system with a flash ide driver (not a CF device).
We need to be able to distibute firmware updates easily.
(This is now achievable using the method)
We also would like to reduce the size of the firmware image. Generally
speaking the images will not get modified by the system so I’d like to
compress the image and decompress on the fly.

I’ve tried using deflator, but it didn’t appear to work too well


Don’t compress the image (which is what I assume you tried), instead
compress the files in the image. The drawback is that empty space in the
image file doesn’t get compress.



Regards

Dave



ed1k wrote:

“Dave Edwards” <> Dave.edwards@abicom-international.com> > wrote in message
news:> 3DBE54E8.2080005@abicom-international.com> …


Thanks Bill,

Luckily we only use RTP. So it should not be a problem.

Has anyone got compression working with this method?

I’d like to be able to compress the image and then use something like
inflator to decompress it on the fly…


Which point of the flight do you mean? QSSL used the compressed image

for

base utils (qnxbase.qfs) on the version 6.0
installation CD and decompressed it on the fly during installation (copy
image from CD to HD). Do you mean the resource manager which handles
read/write operation on such compressed filesystem?

Eduard.



Dave


Bill Caroselli (Q-TPS) wrote:


This is a really schnifty thing. But . . .

BEWARE !

Don’t try this procedure on a QNX 4 system!

dinit will initialize the partition that the file in question resides

on.


(This is a really bad thing!)

“ed1k” <> ed1k@nobody.fools.ca> > wrote in message
news:ap9a9c$nmr$> 1@inn.qnx.com> …



Well, here is cut&pasted fragment:

There is no any special utility, AFAIK.
creat a 4 Mb file

dd if=/dev/zero of=/systemX.qfs bs=1024 count=4096

creat a QNX file system inside the file

dinit /systemX.qfs

mount this file system

mount /systemX.qfs /systemX

work with files under /systemX/ like it is normal filesystem space > :wink:




\

“Dave Edwards” <Dave.edwards@abicom-international.com> wrote in message
news:3DBEB6AD.70800@abicom-international.com

I tried compressing the files, however I had a problem with inflator
running on the target. It seemed to fail to detect the compressed files.
Running inflator on the host machine worked fine though.

Does anyone have an example of inflator running on a target system?

I’ve done that myself with no problem. Can you post your build image file
and any script that goes along with it?

“Mario Charest” postmaster@127.0.0.1 wrote in message
news:apmbgn$fj5$1@inn.qnx.com

“Dave Edwards” <> Dave.edwards@abicom-international.com> > wrote in message
news:> 3DBEA9D5.4090806@abicom-international.com> …
The scenario we have is this:

We have an embedded system with a flash ide driver (not a CF device).
We need to be able to distibute firmware updates easily.
(This is now achievable using the method)
We also would like to reduce the size of the firmware image. Generally
speaking the images will not get modified by the system so I’d like to
compress the image and decompress on the fly.

I’ve tried using deflator, but it didn’t appear to work too well

Don’t compress the image (which is what I assume you tried), instead
compress the files in the image. The drawback is that empty space in the
image file doesn’t get compress.

Excuse my ignorance, I used RAR/UNRAR to compress/decompress .qfs. Ratio was
about 3.5.
Why do you need empty space in the image file? As far as I understand the
image is a complete system (it will not grow up).
Eduard.

Regards

Dave



ed1k wrote:
“Dave Edwards” <> Dave.edwards@abicom-international.com> > wrote in
message
news:> 3DBE54E8.2080005@abicom-international.com> …

Thanks Bill,

Luckily we only use RTP. So it should not be a problem.

Has anyone got compression working with this method?

I’d like to be able to compress the image and then use something like
inflator to decompress it on the fly…


Which point of the flight do you mean? QSSL used the compressed image
for
base utils (qnxbase.qfs) on the version 6.0
installation CD and decompressed it on the fly during installation
(copy
image from CD to HD). Do you mean the resource manager which handles
read/write operation on such compressed filesystem?

Eduard.



Dave


Bill Caroselli (Q-TPS) wrote:

This is a really schnifty thing. But . . .

BEWARE !

Don’t try this procedure on a QNX 4 system!

dinit will initialize the partition that the file in question resides

on.

(This is a really bad thing!)

“ed1k” <> ed1k@nobody.fools.ca> > wrote in message
news:ap9a9c$nmr$> 1@inn.qnx.com> …


Well, here is cut&pasted fragment:

There is no any special utility, AFAIK.
creat a 4 Mb file

dd if=/dev/zero of=/systemX.qfs bs=1024 count=4096

creat a QNX file system inside the file

dinit /systemX.qfs

mount this file system

mount /systemX.qfs /systemX

work with files under /systemX/ like it is normal filesystem space
:wink:






\