Mitchell Schoenbrun <maschoen@pobox.com> wrote:
Thank you all for your help. After about 5 hours of effort
my problem is solved. I have a lot of debriefing to go
over, which I hope will be helpful to QSSL. This should
probably generate at least a couple of database articles.
Anything that customers have to say about the product,
good or bad, is generally taken into consideration. Having
a nice itemized list like this certainly helps us decipher
things on our end.
Point 1
First, to get to the heart of the matter, the error
Error starting devc-con
is caused by a very simple problem. Simply “devc-con” was not
in my boot image file. I don’t know how this occured, only that
I must of caused this somehow. I don’t recall any notice in
running mkifs.
Point 2
There appear to be two different menus running around. One
of them takes function key input, and I believe the newer,
takes numeric input. The function key input did sort of
work, however with the brain dead .boot file without
devc-con, it showed a number of strange behaviors. There
was some magical combination of F keys that would allow it
to get to a shell, I think F3,F4,F5,F6,F7 always worked.
Other combinations, such as just asking for a debug shell
did not work. I presume that some combinations rely on
devc-con being in the .boot image, and other get them from
the base package.
Once in the debug shell I found that by typing “exit” twice,
I would get a fairly substantial system running on the base
package. This allowed me to look around and eventually figure
out my problem. This was not before I tried to copy in a new
base package, thinking that it might have been corrupt. Somehow
in the process of copying and gunzip’ing it, I found myself
with a message indicating that it the base package was corrupt.
This is a nasty situation to be in which only the rescue diskette
helped get me out of. This leads me to…
I will address Points 1 & 2 together. The diskboot and general
start-up configuration that is used for the January RTP version
is different than the configuration which was used for the
September RTP version. Several updates and changes were made,
mostly based on customer feedback. Just so that you know the
January RTP update is the one which contains the FX keys. The
January update also did not include devc-con as part of the
start-up image but rather fished it out of the core package
directly from the repository.
I have no comment about why this was changed, other than the
fact that it took up space in the image. As a result, when
your repositories were not able to be located things went a
little bit awry.
Point 3
The rescue diskette works quite well once you understand how to make
it work. I guess if I only read the directions at the begining telling
me to “cat /bin/efsh.txt” or whatever, I would have saved a lot of time
and trouble. The key is to know that the loaded shell has some useful
built in commands:
eecho (echo)
els (ls)
ecp (cp)
emkdir (mkdir)
erm (rm)
ermdir (rmdir)
Hmmm I guess that the message about the shell is not quite explicit
enough. How about:
Starting a fat embedded shell (fesh)
Basic commands which are built-in to the shell:
eecho (echo), els (ls), ecp (cp), erm (rm)
emkdir (mkdir), ermdir (rmdir)
cat /bin/fesh.txt, use fesh for more info
Knowing that the steps to get things going were straight forward:
- start the eide driver:
devb-eide
I could start this for you I suppose and have it automount just
the partitions, this way you don’t have to do it. I prefer to
do it myself but that is preference.
- look for the devices
els /dev
- Mount the devices
mount -t qnx4 /dev/hd0t79 /hd
mount -t cd /dev/cd0 /cd
This leads me to a somewhat subtle point. The distribution
cd-rom file /cd0/boot/fs/qnxbase.qfs.gz is unfortunately
gzip compressed. Because the rescue diskette did not have
gunzip on it, I had to use QNX 4 to gunzip the file, and
then Win/95 to burn a cd-r disk with it. I think that the
rescue diskette should either have gunzip, or better someday
leave qnxbase.qfs.gz uncompressed on the distribution
cd-rom.
Aha … good catch. I hadn’t run across this problem. I’ll
add gzip (and potentially pax/tar) to the lil’ rescue image.
In conclusion, from the worst state that I found myself into,
here is what I had to do.
- boot the rescue diskette
- mount my partition and the cd-rom drive
- copy the /boot/fs files to my /fs/hd0-qnx4-2/boot/fs diretory using ecp
- gunzip qnxbase.qfs.gz, which I needed to burn a cd-r to do
- reboot from the hard drive
- press the space bar at the right moment
- press F3,F4,F5,F6,F7 enter to get a prompt
> type exit twice. This isn’t strictly necessary, however
it simplified things
Note: You should have received a message something along the
lines of “Filesystem have been mounted but the package filesystem
has not been started. Type exit to start the package filesystem”.
- cd’d to /fs/hd0-qnx4-2/boot
- Made a new build file and then created an image
- copied the image to /fs/hd0-qnx4-2/.boot
- reboot, again getting into the startup menu
- requested that a different package version be used
- Once Rtp and Photon were up and running I ran the package manager
and re-activated all my packages.
Pshew!
A few minor notes.
At boot time, when waiting to press space bar, if I press it
too soon, all is lost. I just have to reboot and wait again
for the exact right moment. This is a minor annoyance.
I think that if you press the spacebar after you get the
“booting” message you should be fine, is this not the case
for you?
The layout of the system is very confusing at first. Here’s
my current view. Everything from root “/” down should be
considered virtual except for what you mount yourself, or
which you find under /fs. If you need to change something,
don’t bother looking in, for example, /etc. Look instead in
/fs/hd0-qnx4-2/etc.
If you don’t see a file system in /fs, you need to run
mount. I wish that the help info from mount had some
examples, and listed more of the basic “types” such as
“qnx4” and “cd”. I wasted a lot of time figuring these out.
‘use mount’ didn’t help you? This is the message that should
have been generated:
Usage: mount [-wreuv] [-o options] [-t type special node]
mount [-wreuv] [-o options] [-T type [special] node]
mount [-wreuv] special | node
Where: -t Indicates the special device is a real device
-T Does not require a special device, and if it
is named does not assume that it exists as a
real device
-v Increases the verbosity
-w Mount read/write
-r Mount read only
-u Mount for update (remount)
Note: Not all servers will support all the mount options
(in particular remounting).
‘type’ may include (among others):
nfs, cd (for iso9660), qnx4, dos, ext2, flash
Unfortunately, the --help message doesn’t direct you to
the use message. It should and I’ll fix that. Note that
use is included in the disk for just this purpose.
The message “error starting devc-con” would have been much
more helpful if it instead said something like:
Can’t find devc-con module in image file system.
But that wasn’t the problem. The fact that devc-con
was in the image filesystem meant that it was in the
path and could be found. We’ll see about doing a
better job of reporting more succinct errors in the
future.
Just for your information, I’m about to do an update which
I suspect will trigger a similar condition in my machine
(I’m running old un-tested versions of a number of things
which is why I’m expecting some sort of a failure) so I’ll
hopefully be able to add to your rescue notes.
Thomas