Recovering Lost Data/running chkfsys during boot

message unavailable

(edited from nntp://inn.qnx.com/qdn.public.qnxrtp.os/10348)
(Corresponding sysadmin URL:http://www.qnx.com/developer/docs/qnx_6.1_docs/sysadmin/docs/recovery.html)

QNX doesn’t have a “single user” mode.
To run the “chkfsys” utility during boot time,

*) Press SPACE during “Press Space for boot options”
*) Select F5 (Emergency shell)
*) After awhile, emergency shell (fesh) kicks in. Then

cd /pkgs/base/qnx/os/core*

x86/sbin/chkfsys /dev/hd0t77

You can’t use “ls” as it needs fs-pkg which isn’t
invoked yet. Use “els”. Consult fesh help page for other commands.

exit

Boot resumes.
Bonus point: you can “chkfsys /boot/fs/qnxbase.qfs” to fix
glitches in the Base system files (/pkgs/base/).
*) Another emergency shell. just “exit”.

You may want to automatically run “chkfsys” on every boot, but
putting the command into /etc/rc.d/rc.local would not work,
as “chkfsys” closes all open files and thus shellscript can’t resume.
You must put chkfsys in the *.ifs.
“Re: [Q] Where to place a ‘chkfsys’?”
<news:ar0foe$emc$1@inn.qnx.com>
nntp://inn.qnx.com/qdn.public.neutrino/32

kabe

dagibbs@qnx.com sed in <b61rh0$qir$5@nntp.qnx.com>:

Next, is it a QNX floppy, DOS floppy, or unformatted?

If a DOS floppy, try:
mount -tdos /dev/fd0 /fs/dosa
[snip rest of useful tips]

Now this is a good article for including in “System Administration Guide”
… err, where did it go?

http://www.qnx.com/developer/docs/
http://www.qnx.com/developer/docs/qnx_6.1_docs/sysadmin/index.html
isn’t valid anymore.

kabe

kabe@sra-tohoku.co.jp wrote:
: dagibbs@qnx.com sed in <b61rh0$qir$5@nntp.qnx.com>:

:>> Next, is it a QNX floppy, DOS floppy, or unformatted?
:>>
:>> If a DOS floppy, try:
:>> mount -tdos /dev/fd0 /fs/dosa
: [snip rest of useful tips]

: Now this is a good article for including in “System Administration Guide”
: … err, where did it go?

: http://www.qnx.com/developer/docs/
: http://www.qnx.com/developer/docs/qnx_6.1_docs/sysadmin/index.html
: isn’t valid anymore.

In one of my less lucid moments, I told the webmaster (who was doing some
cleanup) that he could delete those old docs. I realized my mistake too
late. :frowning:

I’ll ask him to put at least the Sys Admin guide back. Sorry about that.


Steve Reid stever@qnx.com
TechPubs (Technical Publications)
QNX Software Systems

Steve Reid <stever@qnx.com> wrote:
: kabe@sra-tohoku.co.jp wrote:
: : dagibbs@qnx.com sed in <b61rh0$qir$5@nntp.qnx.com>:
: : Now this is a good article for including in “System Administration Guide”
: : … err, where did it go?

: : http://www.qnx.com/developer/docs/
: : http://www.qnx.com/developer/docs/qnx_6.1_docs/sysadmin/index.html
: : isn’t valid anymore.

: In one of my less lucid moments, I told the webmaster (who was doing some
: cleanup) that he could delete those old docs. I realized my mistake too
: late. :frowning:

: I’ll ask him to put at least the Sys Admin guide back. Sorry about that.

We’ve now restored this doc (and the rest of the 6.1 docs) on the website.


Steve Reid stever@qnx.com
TechPubs (Technical Publications)
QNX Software Systems

Of course you can directly comment out those
in /etc/system/enum/devices/*, but these files are provided under
package filesystem. It isn’t neat to edit those files
and will be trashed on your next upgrade.

So the “correct” RTP-ish way is

Well mods for new devices can be avoided by /etc/system/enum/oem/, but
is there any clean way to DISABLE particular device’s enumuration?
Mucking with rc.local afterwards isn’t neat.

Sure. Create a new file in an /etc/system/enum/oem/ directory
(or in new /etc/system/enum/overrides file) that has the device that you
want to disable and have no actions associated with it. E.g.:

===================================================
device(pci, ven=10b8, dev=0005)

do nothing

===================================================

That’ll override the definition in base system configuration and
make nothing happen for that device.

kabe