diskboot

In QNX 6.2x and earlier, “diskboot” will search for
/Program Files/qnx/boot/fs/root.qfs and try to mount it as root workspace.
It seems this is no longer the case in QNX 6.3 though “use /sbin/diskboot”
still mentions about /Program Files/qnx/boot/fs …

Can anybody check the source code and confirm this? Is there a way
that I can enable the “old” feature ?

Thanks!
Frank

Frank Liu <fliu@usdjmp1.eng.vodafone-us.com> wrote:

In QNX 6.2x and earlier, “diskboot” will search for
/Program Files/qnx/boot/fs/root.qfs and try to mount it as root workspace.
It seems this is no longer the case in QNX 6.3 though “use /sbin/diskboot”
still mentions about /Program Files/qnx/boot/fs …

Can anybody check the source code and confirm this? Is there a way
that I can enable the “old” feature ?

Anybody there?
It seems this is a bug. I tried adding
-d “/Program Files/qnx/boot/fs”
to diskboot in the build file, re-made a ifs, and now it works.

again, “use diskboot” says:

-d dir Directory to search for .qfs files on partition filesystems.
default: qnx - /boot/fs
dos - /Program Files/qnx/boot/fs
linux - /qnx/boot/fs
cd - /boot/fs

My guess is “cd - /boot/fs” as in the “default:” may not work either.

btw, if I have to manually adding multiple dirs, shall I do
-d dir1:dir2:dir3
or
-d dir1 -d dir2 -d dir3 ?
or maybe multiple dirs aren’t supported?

Frank

Frank Liu wrote:

Anybody there?

I’ve never used diskboot (so not quite sure what is does), but I’ll try
some comments based on a quick look at the source …

It seems this is a bug. I tried adding
-d “/Program Files/qnx/boot/fs”
to diskboot in the build file, re-made a ifs, and now it works.

The default -d path is determined by the type of the host filesystem.
Assuming you’ve got a DOS install here, is it a type 1, 4, 6, 11, 12,
14 partition? Do you have a “.diskroot” file in the root of that
filesystem which contains a “type=” line?

btw, if I have to manually adding multiple dirs, shall I do

Only a single ‘-d’ option is supported (last one on the command line
overrides). But, since the string is passed into glob() to pattern-
match a file, you might be able to construct a POSIX filename
expansion expression and provide that as the -d option (although the
syntax may not be flexible enough to specify unrelated directory paths,
it only does wildcard expansions). The first .qfs file found is
selected for mounting.

John Garvey <jgarvey@qnx.com> wrote:

It seems this is a bug. I tried adding
-d “/Program Files/qnx/boot/fs”
to diskboot in the build file, re-made a ifs, and now it works.

The default -d path is determined by the type of the host filesystem.
Assuming you’ve got a DOS install here, is it a type 1, 4, 6, 11, 12,

type 11

14 partition? Do you have a “.diskroot” file in the root of that
filesystem which contains a “type=” line?

It’s a zero byte file, as created by dinit with -R option.

-d options only tells diskboot where to find the filesystem.
The fact that it works after I gave the -d “/Program Files/qnx/boot/fs”
shows my root.qfs is good.

btw, if I have to manually adding multiple dirs, shall I do

Only a single ‘-d’ option is supported (last one on the command line
overrides). But, since the string is passed into glob() to pattern-
match a file, you might be able to construct a POSIX filename
expansion expression and provide that as the -d option (although the
syntax may not be flexible enough to specify unrelated directory paths,
it only does wildcard expansions). The first .qfs file found is
selected for mounting.

If I use -d, will it still search the “default” locations as mentioned
in “use diskboot”?

BTW, after your reviewing the source, were you able to find the bug?
I know the “default” used to work prior to QNX 6.3. but now it seems
diskboot no longer searches those default locations though “use diskboot”
still mentions it.

Thanks,
Frank

John Garvey <jgarvey@qnx.com> wrote:

14 partition? Do you have a “.diskroot” file in the root of that
filesystem which contains a “type=” line?

btw, based on the QNX 6.3 User’s Guide, the “type” line is
ignored. diskboot determines the type based on the partition number.

http://www.openqnx.com/static/neutrino/user_guide/starting.html#diskroot

Frank Liu wrote:

John Garvey <> jgarvey@qnx.com> > wrote:
BTW, after your reviewing the source, were you able to find the bug?
I know the “default” used to work prior to QNX 6.3. but now it seems
diskboot no longer searches those default locations though “use diskboot”
still mentions it.

Oops, I see I was reviewing the earlier source, just updated my CVS
sandbox and I see it has been changed to not do any .qfs mounting,
except from CD. You can still specify a ‘-d’ to make it do so though.
This seems to tie-in with what you observe. So it seems this is indeed
a deliberate change, not sure why, but the associated log says “diskboot
mounts qnxbase.qfs files even though 6.3.0 doesn’t use them”; the
author would have to comment further on the full story. I’ll re-open
the PR against that person with a note that the usage message is now
out-of-date with actual behaviour, thanks …

John Garvey <jgarvey@qnx.com> wrote:

Frank Liu wrote:
John Garvey <> jgarvey@qnx.com> > wrote:
BTW, after your reviewing the source, were you able to find the bug?
I know the “default” used to work prior to QNX 6.3. but now it seems
diskboot no longer searches those default locations though “use diskboot”
still mentions it.

Oops, I see I was reviewing the earlier source, just updated my CVS
sandbox and I see it has been changed to not do any .qfs mounting,
except from CD. You can still specify a ‘-d’ to make it do so though.
This seems to tie-in with what you observe. So it seems this is indeed
a deliberate change, not sure why, but the associated log says “diskboot
mounts qnxbase.qfs files even though 6.3.0 doesn’t use them”; the
author would have to comment further on the full story. I’ll re-open
the PR against that person with a note that the usage message is now
out-of-date with actual behaviour, thanks …

I can understand ignoring “qnxbase.qfs” because it is a fs-pkg thingy
that is no longer valid in QNX 6.3. But you shouldn’t just ignore
every .qfs files (like the root.qfs that I have), especially if I
have the right /.diskroot file in it.

Thanks!
Frank