Oleg Gopov(deleted)
02/27/2010 2:54 AM
post48467
|
Hello all
I have QNX® Momentics® Integrated Development Environment
Version: 4.5.0
Build id: I20081019
I try to create bootable image.
I create bootable partition (type 179) with fdisk. Write to it loader. All ok.
Then I create System Builder project (Name qnxbase)and try to create qnxbase.ifs file. All ok, until size of IFS file <
3M.
Then I googled this probelm, and find this solution.
Solution:
I add to my system builder project Efs image. Add binary (for example - pidin) to efs image. I build efs image - as
result - qnxbase-flash-1.efs.
Then I build my qnxbase project -as result - efs-qnxbase.bin. Then i download this image to my target. When I boot
all - ok, but I don't find binary, that i add to efs image. I don't find pidin.
What I do wrong? Please help?
|
|
|
Christian Damus(deleted)
|
Re: System builder problem
|
Christian Damus(deleted)
03/01/2010 8:53 AM
post48499
|
Re: System builder problem
Hi, Oleg,
The EFS image won't be useful until it is mounted. This is commonly
done in the IFS boot script. See the mount reference documentation for
details:
http://www.qnx.com/developers/docs/6.4.0/neutrino/utilities/m/mount.html
HTH,
Christian
On 27/02/10 02:54 AM, Oleg Gopov wrote:
> Hello all
>
> I have QNX® Momentics® Integrated Development Environment
> Version: 4.5.0
> Build id: I20081019
>
>
> I try to create bootable image.
>
> I create bootable partition (type 179) with fdisk. Write to it loader. All ok.
>
> Then I create System Builder project (Name qnxbase)and try to create qnxbase.ifs file. All ok, until size of IFS file<
3M.
>
> Then I googled this probelm, and find this solution.
>
> Solution:
>
> I add to my system builder project Efs image. Add binary (for example - pidin) to efs image. I build efs image - as
result - qnxbase-flash-1.efs.
> Then I build my qnxbase project -as result - efs-qnxbase.bin. Then i download this image to my target. When I boot
all - ok, but I don't find binary, that i add to efs image. I don't find pidin.
>
>
> What I do wrong? Please help?
>
>
>
> _______________________________________________
>
> QNX Momentics Community Support
> http://community.qnx.com/sf/go/post48467
>
|
|
|
Oleg Gopov(deleted)
|
Re: System builder problem
|
Oleg Gopov(deleted)
03/02/2010 8:00 AM
post48604
|
Re: System builder problem
Hello, Christian .
I don't find usefull information in mount reference.
I don't understand how to extract efs file from my COMBINED image file -
efs-qnxbase.bin , when my system booted. I find in forums, that I must invoke DEVF-RAM driver. This is driver for
flash filesystem.
It create /dev/fs0 and /dev/fs0p0 files. But mount command with this special devices is failed. I read in "Building
Embedded systems" document , that I must cat to this files image file . For example, cat xxx.efs > /dev/fs0p0. Then if
I reboot DEVF-RAM driver, System create /fs0p1 directory , where belonged files from EFS - image.
I have very interest question.
How to extract efs - image from my COMBINED image file, that I create in System Builder Perspective
|
|
|
Christian Damus(deleted)
|
Re: System builder problem
|
Christian Damus(deleted)
03/03/2010 9:40 AM
post48706
|
Re: System builder problem
Hi, Oleg,
If you are combining your IFS and EFS images using the mkimage tool
(which the IDE's System Builder uses to combine images) then it is my
understanding that procnto should find all of the embedded files and
make them available in the run-time filesystem. Other procedures for
mounting EFSes should only be necessary if the images aren't combined,
for example, if an EFS is included as a regular file in the IFS.
Do you see any warning messages in the System Builder's build console
when you build and combine your images? Do you get different results if
you use the command-line tools, yourself, instead of System Builder?
Originally, you indicated that the image stopped working correctly when
its size exceeded 3MB. If you are combining images, would you not still
have that problem? It seems that the work-around would require
downloading and mounting the EFS separately from the boot image ...
Cheers,
Christian
On 02/03/10 08:00 AM, Oleg Gopov wrote:
> Hello, Christian .
>
>
> I don't find usefull information in mount reference.
>
> I don't understand how to extract efs file from my COMBINED image file -
> efs-qnxbase.bin , when my system booted. I find in forums, that I must invoke DEVF-RAM driver. This is driver for
flash filesystem.
> It create /dev/fs0 and /dev/fs0p0 files. But mount command with this special devices is failed. I read in "Building
Embedded systems" document , that I must cat to this files image file . For example, cat xxx.efs> /dev/fs0p0. Then if
I reboot DEVF-RAM driver, System create /fs0p1 directory , where belonged files from EFS - image.
>
> I have very interest question.
>
> How to extract efs - image from my COMBINED image file, that I create in System Builder Perspective
>
>
>
> _______________________________________________
>
> QNX Momentics Community Support
> http://community.qnx.com/sf/go/post48604
>
|
|
|
Oleg Gopov(deleted)
|
Re: System builder problem
|
Oleg Gopov(deleted)
03/04/2010 2:49 AM
post48764
|
Re: System builder problem
> Hi, Oleg,
>
> If you are combining your IFS and EFS images using the mkimage tool
> (which the IDE's System Builder uses to combine images) then it is my
> understanding that procnto should find all of the embedded files and
> make them available in the run-time filesystem. Other procedures for
> mounting EFSes should only be necessary if the images aren't combined,
> for example, if an EFS is included as a regular file in the IFS.
>
> Do you see any warning messages in the System Builder's build console
> when you build and combine your images? Do you get different results if
> you use the command-line tools, yourself, instead of System Builder?
>
> Originally, you indicated that the image stopped working correctly when
> its size exceeded 3MB. If you are combining images, would you not still
> have that problem? It seems that the work-around would require
> downloading and mounting the EFS separately from the boot image ...
>
> Cheers,
Hi Cheers.
This is output. I find no warnings.
Building Image: qnxbase
C:\QNX640\host\win32\x86\usr\bin\mkifs.exe -vvv C:/Docs/workspace/.metadata/.plugins/com.qnx.tools.ide.builder.core/.
projects/new-vp9/qnxbase.mkxfs C:/Docs/workspace/new-vp9/Images/qnxbase.ifs
Offset Size Entry Ramoff Target=Host
400000 3f8 0 --- C:/QNX640/target/qnx6/x86/boot/sys/bios.boot
Execute: ldrel -s!* -p -l -t 0x4004f8 "C:/QNX640/target/qnx6/x86/boot/sys/startup-bios-32" "C:\DOCUME~1\05AC~1\LOCALS~1\
Temp\QE7000a50fee.tmp"
Execute: qcc -bootstrap -nostdlib -Wl,--no-keep-memory -Vgcc_ntox86 -Wl,-Ttext -Wl,0xf0016000 -o"C:\DOCUME~1\05AC~1\
LOCALS~1\Temp\QE7000a510c9.tmp" "C:/QNX640/target/qnx6/x86/boot/sys/procnto"
4003f8 100 ---- --- Startup-header
4004f8 137d8 404038 --- C:\DOCUME~1\05AC~1\LOCALS~1\Temp\QE7000a50fee.tmp (480015334)
4138d8 5c ---- --- Image-header
413934 be8 ---- --- Image-directory
---- --- ---- --- fs
41451c 608 ---- --- proc/boot/.script=C:\DOCUME~1\05AC~1\LOCALS~1\Temp\QE7000a50fad.tmp
414b24 18 ---- --- etc/fstab=C:\QNX640\target\qnx6\etc\fstab (191537521)
414b3c 12 ---- --- proc/boot/unlink_list=C:\DOCUME~1\05AC~1\LOCALS~1\Temp\QE7000a50fbe.tmp (449623294)
414b4e 7 ---- --- .diskroot=C:\QNX640\target\qnx6\etc\.diskroot (2932538503)
415000 6b000 f0047ef0 --- proc/boot/procnto=C:\DOCUME~1\05AC~1\LOCALS~1\Temp\QE7000a510c9.tmp (2071201803)
480000 75000 3d05a --- proc/boot/libc.so.3=C:\QNX640\target\qnx6\x86\lib\libc.so (76736551)
---- --- ---- --- proc/boot/libc.so=libc.so.3 (76736551)
4f5000 6cae 17f0 --- proc/boot/libhiddi.so.1=C:\QNX640\target\qnx6\x86\lib\libhiddi.so (2601117683)
---- --- ---- --- proc/boot/libhiddi.so=libhiddi.so.1 (2601117683)
4fc000 b060 3120 --- proc/boot/libusbdi.so.2=C:\QNX640\target\qnx6\x86\lib\libusbdi.so (2085745603)
507060 bcd ---- --- etc/system/sysinit=C:/QNX640/target/qnx6/etc/system/sysinit (3480538215)
---- --- ---- --- proc/boot/libusbdi.so=libusbdi.so.2 (2085745603)
508000 104d0 3550 --- proc/boot/libcam.so.2=C:\QNX640\target\qnx6\x86\lib\libcam.so (4090673103)
---- --- ---- --- proc/boot/libcam.so=libcam.so.2 (4090673103)
519000 2462a 4d20 --- proc/boot/io-blk.so=C:\QNX640\target\qnx6\x86\lib\dll\io-blk.so (3853069029)
53e000 d537 1550 --- proc/boot/fs-qnx4.so=C:\QNX640\target\qnx6\x86\lib\dll\fs-qnx4.so (2356113523)
54c000 fbd4 1bf0 --- proc/boot/fs-qnx6.so=C:\QNX640\target\qnx6\x86\lib\dll\fs-qnx6.so (2560413354)
55c000 12e1e 1e30 --- proc/boot/fs-dos.so=C:\QNX640\target\qnx6\x86\lib\dll\fs-dos.so (2706432591)
56f000 d819 16f0 ---...
View Full Message
|
|
|
Christian Damus(deleted)
|
Re: System builder problem
|
Christian Damus(deleted)
03/04/2010 9:14 AM
post48784
|
Re: System builder problem
Hi, Oleg,
Did you specify a mount point in your EFS build file using the "mount"
attribute? If so, I think you should find your EFS mounted, there. The
default if you don't specify a mount point is something like /fs0p1,
/fs0p2, etc. for each successive combined EFS (/fs0/p0 is the boot image
partition, which is mounted specially).
I could be wrong, but I think that the devf-ram driver should
automatically mount your combined EFSes.
HTH,
Christian
|
|
|
Oleg Gopov(deleted)
|
Re: System builder problem
|
Oleg Gopov(deleted)
03/05/2010 1:24 AM
post48873
|
Re: System builder problem
> Hi, Oleg,
>
> Did you specify a mount point in your EFS build file using the "mount"
> attribute? If so, I think you should find your EFS mounted, there. The
> default if you don't specify a mount point is something like /fs0p1,
> /fs0p2, etc. for each successive combined EFS (/fs0/p0 is the boot image
> partition, which is mounted specially).
>
> I could be wrong, but I think that the devf-ram driver should
> automatically mount your combined EFSes.
>
> HTH,
>
> Christian
Hello Christian. Thank you for your reply
When I specify mount attribute to /fs - > nothing change.
When I don't specify mount attribute -> /fs0p1, /fs0p2, /fs0p3 directories system don't create. Maybe problem in boot
script. I attach it.
|
|
|
Christian Damus(deleted)
|
Re: System builder problem
|
Christian Damus(deleted)
03/05/2010 2:50 PM
post48942
|
Re: System builder problem
Hi, Oleg,
Thanks for the boot script -- that explains it.
The boot script doesn't start the RAM driver. Start up devf-ram and you should see each EFS mounted into a partition as
I described, previously.
HTH,
Christian
On 05/03/10 01:24 AM, Oleg Gopov wrote:
Hi, Oleg,
Did you specify a mount point in your EFS build file using the "mount"
attribute? If so, I think you should find your EFS mounted, there. The
default if you don't specify a mount point is something like /fs0p1,
/fs0p2, etc. for each successive combined EFS (/fs0/p0 is the boot image
partition, which is mounted specially).
I could be wrong, but I think that the devf-ram driver should
automatically mount your combined EFSes.
HTH,
Christian
Hello Christian. Thank you for your reply
When I specify mount attribute to /fs - > nothing change.
When I don't specify mount attribute -> /fs0p1, /fs0p2, /fs0p3 directories system don't create. Maybe problem in boot
script. I attach it.
_______________________________________________
QNX Momentics Community Support
http://community.qnx.com/sf/go/post48873
--
Christian W. Damus
Software Developer, IDE Team
QNX Software Systems <http://www.qnx.com/>
|
|
|
Oleg Gopov(deleted)
|
Re: System builder problem
|
Oleg Gopov(deleted)
03/09/2010 12:43 AM
post49061
|
Re: System builder problem
Hello Cristian.
Ok. I do , that devf-ram is start when system booted.
As result, fs0p0(fs0p1,fs0p2 ....) directory doesn't created. But, /dev/fs0 and /dev/fs0p0 is created.
|
|
|
Oleg Gopov(deleted)
|
Re: System builder problem
|
Oleg Gopov(deleted)
03/09/2010 1:00 AM
post49062
|
Re: System builder problem
Then I read in help -
"You must format and erase a devf-ram partition before you can mount the flash filesystem. e.g. ".
I add command - flashctl -p /dev/fs0p0 -e -f -m. As result, /fs0p0 directory is created. But it EMPTY. How to mount
to this directory EFS part of my COMBINED image ????????????????
|
|
|
Oleg Gopov(deleted)
|
Re: System builder problem
|
Oleg Gopov(deleted)
03/14/2010 8:49 AM
post49428
|
Re: System builder problem
Cristian. Where you are???
|
|
|
Christian Damus(deleted)
|
Combined EFSes not mounted [was Re: System builder problem]
|
Christian Damus(deleted)
03/15/2010 9:44 AM
post49456
|
Combined EFSes not mounted [was Re: System builder problem]
Hi, Oleg,
Sorry for the delayed reply.
I wouldn't think that initializing a new flash device should be necessary, because devf-ram should already have mounted
your EFSes.
In any case, this doesn't appear to be a system builder problem, so I have changed the subject line. Hopefully somebody
that knows more about how these image filesystems work than I do will pitch in to help further. You might also try
asking about this problem in the filesystems forum; you will find more knowledge there than I can offer.
Cheers,
Christian
On 09/03/10 01:00 AM, Oleg Gopov wrote:
Then I read in help -
"You must format and erase a devf-ram partition before you can mount the flash filesystem. e.g. ".
I add command - flashctl -p /dev/fs0p0 -e -f -m. As result, /fs0p0 directory is created. But it EMPTY. How to mount
to this directory EFS part of my COMBINED image ????????????????
_______________________________________________
QNX Momentics Community Support
http://community.qnx.com/sf/go/post49062
--
Christian W. Damus
Software Developer, IDE Team
QNX Software Systems <http://www.qnx.com/>
|
|
|
David Sarrazin
|
Re: System builder problem
|
David Sarrazin
03/16/2010 10:50 AM
post49610
|
Re: System builder problem
> Then I read in help -
>
> "You must format and erase a devf-ram partition before you can mount the flash
> filesystem. e.g. ".
>
> I add command - flashctl -p /dev/fs0p0 -e -f -m. As result, /fs0p0
> directory is created. But it EMPTY. How to mount to this directory EFS part of
> my COMBINED image ????????????????
You cannot if the combined image is being written to a Hard disk drive partition (/dev/hd0t179 as you said). An EFS
image is not the correct thing to be creating in this situation. Instead you want a qnx6 (also called "Power Fail Safe")
filesystem image. I might be wrong, but I do not think the IDE can create a pre-built qnx6 filesystem image.
Instead, on the target, you need to run "mkqnx6fs /dev/hd1t179" to format the qnx6 filesystem on the partition you
created. There is one mkqnx6fs option which you should be careful about: the -T option. This is a hint for how many
inodes to create, based on the usage of the disk. The three options are:
-T desktop
-T media
-T runtime
Select the option that is best for you.
After mkqnx6fs formats the filesystem, you may mount the partition with
mount -tqnx6 /dev/hd0t179 <mountpoint>
And then copy all of your files to the new mountpoint.
Regards,
David
|
|
|
David Sarrazin
|
Re: System builder problem
|
David Sarrazin
03/16/2010 10:40 AM
post49609
|
Re: System builder problem
> I don't find usefull information in mount reference.
>
> I don't understand how to extract efs file from my COMBINED image file -
> efs-qnxbase.bin , when my system booted. I find in forums, that I must
> invoke DEVF-RAM driver. This is driver for flash filesystem.
Yes. and EFS is only for flash. That is why you must use devf-* to mount an EFS image.
> It create /dev/fs0 and /dev/fs0p0 files. But mount command with this special
> devices is failed. I read in "Building Embedded systems" document , that I
> must cat to this files image file . For example, cat xxx.efs > /dev/fs0p0.
> Then if I reboot DEVF-RAM driver, System create /fs0p1 directory , where
> belonged files from EFS - image.
I think you are confused about when to use an EFS. You are describing the process for using an EFS on a target board
which uses NOR flash. The IFS would be padded to a flash sector boundary, and then the EFS would be "cat" to the end of
the padded IFS. At boot time, devf-generic, or some other devf would be started, and would scan the NOR flash to
discover the EFS and mount it.
In your first post, you mention creating a HDD partition. For this you want to use either the qnx4 or qnx6 filesystem,
and one of the devb-* drivers. After you fdisk the drive to set the partition size, then use either "dinit" for qnx4
filesystem, or "mkqnxfs" for qnx6 filesystem, targetting the partition you wish to use (either /dev/hd0t79 or /dev/
hd0t179).
>
> I have very interest question.
>
> How to extract efs - image from my COMBINED image file, that I create in
> System Builder Perspective
You have to burn the image to NOR flash, and then start the correct devf driver for your board.
Regards,
David
|
|
|
Oleg Gopov(deleted)
|
Re: System builder problem
|
Oleg Gopov(deleted)
03/17/2010 1:39 AM
post49691
|
Re: System builder problem
Thank you Davidl. Please tell me, whaat is NOR flash or NAND flash?????
|
|
|
Oleg Gopov(deleted)
|
Re: System builder problem
|
Oleg Gopov(deleted)
03/17/2010 2:11 AM
post49693
|
Re: System builder problem
And why when I invoke mkdir command (for example , mkdir /tmp) I have a error
-----> mkdir : /tmp: Function not implemented
|
|
|
Oleg Gopov(deleted)
|
Re: System builder problem
|
Oleg Gopov(deleted)
03/17/2010 2:38 AM
post49695
|
Re: System builder problem
But in /fs/hd0-qnx6 directory mkdir is OK. For instance, mkdir /fs/hd0-qnx6/tmp --------> all OK.
|
|
|
Steve Reid
|
RE: System builder problem
|
Steve Reid
03/17/2010 9:12 AM
post49732
|
RE: System builder problem
Your /tmp directory might be a symbolic link to /dev/shmem, which looks
like a filesystem but really isn't, and doesn't support the creation of
directories. See:
http://www.qnx.com/developers/docs/6.4.1/neutrino/sys_arch/fsys.html#DEV
SHMEM
Steve Reid (stever@qnx.com)
Technical Editor
QNX Software Systems
> -----Original Message-----
> From: Oleg Gopov [mailto:community-noreply@qnx.com]
> Sent: Wednesday, March 17, 2010 2:38 AM
> To: momentics-community
> Subject: Re: System builder problem
>
> But in /fs/hd0-qnx6 directory mkdir is OK. For instance,
> mkdir /fs/hd0-qnx6/tmp --------> all OK.
>
>
>
> _______________________________________________
>
> QNX Momentics Community Support
> http://community.qnx.com/sf/go/post49695
>
>
|
|
|
Pavol Kycina
|
Re: System builder problem
|
Pavol Kycina
03/17/2010 3:36 AM
post49697
|
Re: System builder problem
> And why when I invoke mkdir command (for example , mkdir /tmp) I have a error
>
>
> -----> mkdir : /tmp: Function not implemented
Could you post output of "mount" command?
Probably your "/" is not serviced by a "filesystem" with mkdir functionality.
PKY
|
|
|
Oleg Gopov(deleted)
|
Re: System builder problem
|
Oleg Gopov(deleted)
03/17/2010 6:01 AM
post49706
|
Re: System builder problem
Output of mount command
/dev/hd0t6 on /fs/hd0-dos type dos (fat16)
/dev/hd0t179 on /fs/hd0-qnx6 type qnx6
|
|
|
|