mkifs Woes

Howdy. Whilst playing with the Nto 2.11 beta release for QNX4 (you know, that
developer thingie), I ran into an “undocumented feature” (potential bug) with
mkifs. It seems that if you try to make entries in your build file that point
to a startup file in your current directory instead of wherever mkifs normally
wants to look for such files (/usr/nto/x86/lib or /x86/boot/sys for QNX4 or RtP
respectively), it produces an unusable startup module. For example, here’s my
build file:

----------- ifs.build ----------
[virtual=x86,nobios +compress] boot = {
startup-enc
PATH=.:/proc/boot procnto
}

[+script] startup-script = {

devc-ser8250 -c7372800 -b19200 3f8,4 400,12 408,13 410,14 418,15 &
reopen /dev/ser2

stty sane +edit

SYSNAME=nto
TERM=qansi

[+session] sh
}

[type=link] /tmp=/dev/shmem
[type=link] /dev/console=/dev/ser2
[type=link] /usr/lib/ldqnx.so.1=/proc/boot/libc.so.1

libc.so

[data=c]

Executables must currently be below this line

sh=fesh
devc-ser8250
stty
pidin
ls
----------- end of ifs.build -------------

If you change the second line from “startup-enc” to
“startup-enc=./startup-enc”, startup_vaddr in the header changes from 0x3C58
(which works fine) to 0x26998 (which reboots when jumped to in the IPL). mkifs
doesn’t complain about anything either way, it’s just that one way works, and
the other way causes you to swear a lot. :slight_smile: Behavior is identical (but off by
8 bytes) for the QNX4 hosted development environment, as well as mkifs on RtP.

Even if there’s literature somewhere that says “Don’t do that”, it would be
nice if mkifs would complain to you about relative pathnames or something.

-Warren

Hi Warren,

I think you’re confusing the format of the bootfile with the format of the
buildfile - the bootfile (between the braces) doesn’t support the
‘targname=hostname’ format. When you entered ‘startup-enc=./startup-enc’,
all you were doing was setting an environment variable. I’ll leave this to
you to verify but just entering ‘./startup-enc’ SHOULD do the trick. If it
doesn’t, then we have a bug and I’ll have to fix it…:frowning:

Regards,

Kris

Warren Peece <warren@nospam.com> wrote:

Howdy. Whilst playing with the Nto 2.11 beta release for QNX4 (you know, that
developer thingie), I ran into an “undocumented feature” (potential bug) with
mkifs. It seems that if you try to make entries in your build file that point
to a startup file in your current directory instead of wherever mkifs normally
wants to look for such files (/usr/nto/x86/lib or /x86/boot/sys for QNX4 or RtP
respectively), it produces an unusable startup module. For example, here’s my
build file:

----------- ifs.build ----------
[virtual=x86,nobios +compress] boot = {
startup-enc
PATH=.:/proc/boot procnto
}

[+script] startup-script = {

devc-ser8250 -c7372800 -b19200 3f8,4 400,12 408,13 410,14 418,15 &
reopen /dev/ser2

stty sane +edit

SYSNAME=nto
TERM=qansi

[+session] sh
}

[type=link] /tmp=/dev/shmem
[type=link] /dev/console=/dev/ser2
[type=link] /usr/lib/ldqnx.so.1=/proc/boot/libc.so.1

libc.so

[data=c]

Executables must currently be below this line

sh=fesh
devc-ser8250
stty
pidin
ls
----------- end of ifs.build -------------

If you change the second line from “startup-enc” to
“startup-enc=./startup-enc”, startup_vaddr in the header changes from 0x3C58
(which works fine) to 0x26998 (which reboots when jumped to in the IPL). mkifs
doesn’t complain about anything either way, it’s just that one way works, and
the other way causes you to swear a lot. > :slight_smile: > Behavior is identical (but off by
8 bytes) for the QNX4 hosted development environment, as well as mkifs on RtP.

Even if there’s literature somewhere that says “Don’t do that”, it would be
nice if mkifs would complain to you about relative pathnames or something.

-Warren


Kris Warkentin
kewarken@qnx.com
(613)591-0836 x368
“You’re bound to be unhappy if you optimize everything” - Donald Knuth

You are correct, sir. It thought I wanted an envirovar. How about an extra
warning for slightly dain bramaged people like me that says something like:
“You idiot! You didn’t specify a dang startup module!”? Of course you could
change the phraseology as you see fit…

Thanks for your help.

-Warren



“Kris Eric Warkentin” <kewarken@qnx.com> wrote in message
news:8vjc8v$28j$1@nntp.qnx.com

Hi Warren,

I think you’re confusing the format of the bootfile with the format of the
buildfile - the bootfile (between the braces) doesn’t support the
‘targname=hostname’ format. When you entered ‘startup-enc=./startup-enc’,
all you were doing was setting an environment variable. I’ll leave this
to
you to verify but just entering ‘./startup-enc’ SHOULD do the trick. If
it
doesn’t, then we have a bug and I’ll have to fix it…> :frowning:

Regards,

Kris

Warren Peece <> warren@nospam.com> > wrote:
Howdy. Whilst playing with the Nto 2.11 beta release for QNX4 (you
know, that
developer thingie), I ran into an “undocumented feature” (potential bug)
with
mkifs. It seems that if you try to make entries in your build file that
point
to a startup file in your current directory instead of wherever mkifs
normally
wants to look for such files (/usr/nto/x86/lib or /x86/boot/sys for QNX4
or RtP
respectively), it produces an unusable startup module. For example,
here’s my
build file:

----------- ifs.build ----------
[virtual=x86,nobios +compress] boot = {
startup-enc
PATH=.:/proc/boot procnto
}

[+script] startup-script = {

devc-ser8250 -c7372800 -b19200 3f8,4 400,12 408,13 410,14 418,15 &
reopen /dev/ser2

stty sane +edit

SYSNAME=nto
TERM=qansi

[+session] sh
}

[type=link] /tmp=/dev/shmem
[type=link] /dev/console=/dev/ser2
[type=link] /usr/lib/ldqnx.so.1=/proc/boot/libc.so.1

libc.so

[data=c]

Executables must currently be below this line

sh=fesh
devc-ser8250
stty
pidin
ls
----------- end of ifs.build -------------

If you change the second line from “startup-enc” to
“startup-enc=./startup-enc”, startup_vaddr in the header changes from
0x3C58
(which works fine) to 0x26998 (which reboots when jumped to in the IPL).
mkifs
doesn’t complain about anything either way, it’s just that one way
works, and
the other way causes you to swear a lot. > :slight_smile: > Behavior is identical (but
off by
8 bytes) for the QNX4 hosted development environment, as well as mkifs
on RtP.

Even if there’s literature somewhere that says “Don’t do that”, it would
be
nice if mkifs would complain to you about relative pathnames or
something.

-Warren


\

Kris Warkentin
kewarken@qnx.com
(613)591-0836 x368
“You’re bound to be unhappy if you optimize everything” - Donald Knuth

Actually, I’m doing an extensive amount of work on mkifs and I would like
to perform a few more “sanity” checks for things like that…

Either way, glad to be of assistance.

Kris

Warren Peece <Warren@nospam.com> wrote:

You are correct, sir. It thought I wanted an envirovar. How about an extra
warning for slightly dain bramaged people like me that says something like:
“You idiot! You didn’t specify a dang startup module!”? Of course you could
change the phraseology as you see fit…

Thanks for your help.

-Warren



“Kris Eric Warkentin” <> kewarken@qnx.com> > wrote in message
news:8vjc8v$28j$> 1@nntp.qnx.com> …
Hi Warren,

I think you’re confusing the format of the bootfile with the format of the
buildfile - the bootfile (between the braces) doesn’t support the
‘targname=hostname’ format. When you entered ‘startup-enc=./startup-enc’,
all you were doing was setting an environment variable. I’ll leave this
to
you to verify but just entering ‘./startup-enc’ SHOULD do the trick. If
it
doesn’t, then we have a bug and I’ll have to fix it…> :frowning:

Regards,

Kris

Warren Peece <> warren@nospam.com> > wrote:
Howdy. Whilst playing with the Nto 2.11 beta release for QNX4 (you
know, that
developer thingie), I ran into an “undocumented feature” (potential bug)
with
mkifs. It seems that if you try to make entries in your build file that
point
to a startup file in your current directory instead of wherever mkifs
normally
wants to look for such files (/usr/nto/x86/lib or /x86/boot/sys for QNX4
or RtP
respectively), it produces an unusable startup module. For example,
here’s my
build file:

----------- ifs.build ----------
[virtual=x86,nobios +compress] boot = {
startup-enc
PATH=.:/proc/boot procnto
}

[+script] startup-script = {

devc-ser8250 -c7372800 -b19200 3f8,4 400,12 408,13 410,14 418,15 &
reopen /dev/ser2

stty sane +edit

SYSNAME=nto
TERM=qansi

[+session] sh
}

[type=link] /tmp=/dev/shmem
[type=link] /dev/console=/dev/ser2
[type=link] /usr/lib/ldqnx.so.1=/proc/boot/libc.so.1

libc.so

[data=c]

Executables must currently be below this line

sh=fesh
devc-ser8250
stty
pidin
ls
----------- end of ifs.build -------------

If you change the second line from “startup-enc” to
“startup-enc=./startup-enc”, startup_vaddr in the header changes from
0x3C58
(which works fine) to 0x26998 (which reboots when jumped to in the IPL).
mkifs
doesn’t complain about anything either way, it’s just that one way
works, and
the other way causes you to swear a lot. > :slight_smile: > Behavior is identical (but
off by
8 bytes) for the QNX4 hosted development environment, as well as mkifs
on RtP.

Even if there’s literature somewhere that says “Don’t do that”, it would
be
nice if mkifs would complain to you about relative pathnames or
something.

-Warren


\

Kris Warkentin
kewarken@qnx.com
(613)591-0836 x368
“You’re bound to be unhappy if you optimize everything” - Donald Knuth


Kris Warkentin
kewarken@qnx.com
(613)591-0836 x368
“You’re bound to be unhappy if you optimize everything” - Donald Knuth

Warren Peece <Warren@nospam.com> wrote:

You are correct, sir. It thought I wanted an envirovar. How about an extra
warning for slightly dain bramaged people like me that says something like:
“You idiot! You didn’t specify a dang startup module!”? Of course you could
change the phraseology as you see fit…

Ah, but you did specify a startup module - procnto. It wasn’t the right
one of course, but mkifs didn’t know that.


Brian Stecher (bstecher@qnx.com) QNX Software Systems, Ltd.
phone: +1 (613) 591-0931 (voice) 175 Terence Matthews Cr.
+1 (613) 591-3579 (fax) Kanata, Ontario, Canada K2M 1W8

C’mon guys. It can’t be that difficult to write a piece of software
that’s smarter than I am… Make it do what I want it to do, not what I
tell it to do. :slight_smile:


“Brian Stecher” <bstecher@qnx.com> wrote in message
news:8vjjic$60k$1@nntp.qnx.com

Warren Peece <> Warren@nospam.com> > wrote:
You are correct, sir. It thought I wanted an envirovar. How about an
extra
warning for slightly dain bramaged people like me that says something
like:
“You idiot! You didn’t specify a dang startup module!”? Of course you
could
change the phraseology as you see fit…

Ah, but you did specify a startup module - procnto. It wasn’t the right
one of course, but mkifs didn’t know that.


Brian Stecher (> bstecher@qnx.com> ) QNX Software Systems, Ltd.
phone: +1 (613) 591-0931 (voice) 175 Terence Matthews Cr.
+1 (613) 591-3579 (fax) Kanata, Ontario, Canada K2M
1W8

Warren Peece <Warren@nospam.com> wrote:

C’mon guys. It can’t be that difficult to write a piece of software
that’s smarter than I am… Make it do what I want it to do, not what I
tell it to do. > :slight_smile:

Something along the lines of the DWIMNDWIS shell? ;v)

\

cburgess@qnx.com

<cburgess@qnx.com> wrote in message news:8vktv9$rtj$2@nntp.qnx.com
| Warren Peece <Warren@nospam.com> wrote:
| > C’mon guys. It can’t be that difficult to write a piece of software
| > that’s smarter than I am… Make it do what I want it to do, not what I
| > tell it to do. :slight_smile:
|
| Something along the lines of the DWIMNDWIS shell? ;v)

Exact-a-mundo. When we reach the point where I can just lay my hands upon my
monitor and just think about what I want the computer to do, then I’ll be
happy. :wink:

-Warren

| Something along the lines of the DWIMNDWIS shell? ;v)

Exact-a-mundo. When we reach the point where I can just lay my hands upon my
monitor and just think about what I want the computer to do, then I’ll be
happy. > :wink:

That could be dangerous. Maybe there should always be a confirmation?

“Are you sure want me to kill Bob? All lifeforce will lost? (y/n)”


cburgess@qnx.com

<cburgess@qnx.com> wrote in message news:8vm8ms$mh6$1@nntp.qnx.com

| Something along the lines of the DWIMNDWIS shell? ;v)

Exact-a-mundo. When we reach the point where I can just lay my hands
upon my
monitor and just think about what I want the computer to do, then I’ll
be
happy. > :wink:

That could be dangerous. Maybe there should always be a confirmation?

“Are you sure want me to kill Bob? All lifeforce will lost? (y/n)”

I like to prophesize the next step in evolution is a human with a build-in
serial port.



cburgess@qnx.com

“Mario Charest” <mcharest@void_zinformatic.com> wrote in message
news:8vmbf4$o1o$1@nntp.qnx.com
|
|
| <cburgess@qnx.com> wrote in message news:8vm8ms$mh6$1@nntp.qnx.com
| > > | Something along the lines of the DWIMNDWIS shell? ;v)
| >
| > > Exact-a-mundo. When we reach the point where I can just lay my hands
| upon my
| > > monitor and just think about what I want the computer to do, then I’ll
| be
| > > happy. :wink:
| >
| > That could be dangerous. Maybe there should always be a confirmation?
| >
| > “Are you sure want me to kill Bob? All lifeforce will lost? (y/n)”
| >
|
| I like to prophesize the next step in evolution is a human with a build-in
| serial port.

Get with the times Mario, it’s gonna be Fibre Channel!

| I like to prophesize the next step in evolution is a human with a build-in
| serial port.

Get with the times Mario, it’s gonna be Fibre Channel!

Wrong again. It’ll be wireless of some sort. .-<;v0


cburgess@qnx.com

<cburgess@qnx.com> wrote in message news:8vmht6$rbm$2@nntp.qnx.com

| I like to prophesize the next step in evolution is a human with a
build-in
| serial port.

Get with the times Mario, it’s gonna be Fibre Channel!

Wrong again. It’ll be wireless of some sort. .-<;v0

Actually God sent me an image that I can’t put any words on.
The device doesn’t yet exists, it doesn’t have a name.
I use “serial port” as a methaphor for lack of better word.
The device will be based on “beyond light speed” particle.

Petty humains, pssft.


cburgess@qnx.com

How about bluetooth ? :slight_smile:
cburgess@qnx.com wrote in message <8vmht6$rbm$2@nntp.qnx.com>…

| I like to prophesize the next step in evolution is a human with a
build-in
| serial port.

Get with the times Mario, it’s gonna be Fibre Channel!

Wrong again. It’ll be wireless of some sort. .-<;v0


cburgess@qnx.com