Where can I find the source code for the partition boot load

I am booting a pc-104 system and need to put something on it’s serial output
ASAP after power on so that the user knows it isn’t dead. I hear the bios
beep in my test box after 10 sec. At that point it goes out to read in the
image off the hard drive. It takes seven more seconds before I get control
from inside my startup script of my image file (.boot).

Is there any way I can modify the parition loader to output a small string
to the com1 port at 19200 to init the serial display?

Thanks,

John

I think you’ll be tight squeezed to fit serial output at a particular baud
rate (ie. setup code) in 512bytes along with the rest of the partition code
(not saying its impossible, just will take pruning). You might be able to
just clock out characters on whatever the baudrate/setup is at poweron.

There are lots of examples on the Internet on how to write a parition
loader. You could also just use dd to copy out the loader from your disk
and disassemble it (since it was written in assembler anyways) to get the
code.

-Adam

John Eddy <john.h.eddy@lmco.com> wrote in message
news:bdfael$385$1@inn.qnx.com

I am booting a pc-104 system and need to put something on it’s serial
output
ASAP after power on so that the user knows it isn’t dead. I hear the bios
beep in my test box after 10 sec. At that point it goes out to read in the
image off the hard drive. It takes seven more seconds before I get control
from inside my startup script of my image file (.boot).

Is there any way I can modify the parition loader to output a small string
to the com1 port at 19200 to init the serial display?

Thanks,

John

In article <bdfglm$pqn$1@nntp.qnx.com>, amallory@qnx.com says…

I think you’ll be tight squeezed to fit serial output at a particular baud
rate (ie. setup code) in 512bytes along with the rest of the partition code
(not saying its impossible, just will take pruning). You might be able to
just clock out characters on whatever the baudrate/setup is at poweron.

There are lots of examples on the Internet on how to write a parition
loader. You could also just use dd to copy out the loader from your disk
and disassemble it (since it was written in assembler anyways) to get the

Is it OK from license’s point of view?

code.

-Adam

John Eddy <> john.h.eddy@lmco.com> > wrote in message
news:bdfael$385$> 1@inn.qnx.com> …
I am booting a pc-104 system and need to put something on it’s serial
output
ASAP after power on so that the user knows it isn’t dead. I hear the bios
beep in my test box after 10 sec. At that point it goes out to read in the
image off the hard drive. It takes seven more seconds before I get control
from inside my startup script of my image file (.boot).

Is there any way I can modify the parition loader to output a small string

How small is string? How many bytes exactly?
ipl-diskpc1-flop is 333 bytes long, 2 bytes you have spend for boot record’s signature (55 AA) So,
you have 512-2-333=177 bytes. Plenty of space, if you aren’t from the new generation of programmers
whos program in a gigabyte space is a tight fit.

Best regards,
Eduard.

ed1k <ed1k@humber.bay> wrote in message
news:MPG.196596217dec8a7e9896d2@inn.qnx.com

There are lots of examples on the Internet on how to write a parition
loader. You could also just use dd to copy out the loader from your
disk
and disassemble it (since it was written in assembler anyways) to get
the

Is it OK from license’s point of view?

IANAL.

-Adam

How small is string? How many bytes exactly?
ipl-diskpc1-flop is 333 bytes long, 2 bytes you have spend for boot
record’s signature (55 AA) So,
you have 512-2-333=177 bytes. Plenty of space, if you aren’t from the new
generation of programmers
whos program in a gigabyte space is a tight fit.

I think you might be forgetting about the partition table.

In article <bdhi3b$a09$1@nntp.qnx.com>, jclarke@qnx.com says…

How small is string? How many bytes exactly?
ipl-diskpc1-flop is 333 bytes long, 2 bytes you have spend for boot
record’s signature (55 AA) So,
you have 512-2-333=177 bytes. Plenty of space, if you aren’t from the new
generation of programmers
whos program in a gigabyte space is a tight fit.

I think you might be forgetting about the partition table.

You are absolutely correct. So, 177 - 0x40 = 113 bytes. Anyway, quite enough space. If I had this
problem I’d rewrite boot loader completely. I don’t need to select partition for boot and wait for
almost 4 secs in embedded app (pc/104). Also, I’d probably avoid seeking for active partition, just
boot from first one :astonished:) It’d give me additional space for putting out of serial port quite a long
string.

ed1k at qnx-night dot com

ed1k,

That sounds like what I had in mind. I was just looking for the source code
for the partition loader that loads .boot, and I was going to strip out all
the delays and extra stuff. I would prefer real commented source code to
disassembled code if possible.

This system isn’t even partitioned. I formatted the raw device as a qnx-4
disk. It does use the partition loader though, because it still comes up and
asks if I want to use .altboot.

Mabe I am missing the point here… are you suggesting I replace the master
boot record instead of the partiton loader? Not sure there is a difference
the way I have this flash hard drive formatted… I see the .altboot text
when i spatch the first sector on the raw device.

Thanks,

John


“ed1k” <ed1k@humber.bay> wrote in message
news:MPG.19665492a93638ce9896d3@inn.qnx.com

In article <bdhi3b$a09$> 1@nntp.qnx.com> >, > jclarke@qnx.com > says…
How small is string? How many bytes exactly?
ipl-diskpc1-flop is 333 bytes long, 2 bytes you have spend for boot
record’s signature (55 AA) So,
you have 512-2-333=177 bytes. Plenty of space, if you aren’t from the
new
generation of programmers
whos program in a gigabyte space is a tight fit.

I think you might be forgetting about the partition table.

You are absolutely correct. So, 177 - 0x40 = 113 bytes. Anyway, quite
enough space. If I had this
problem I’d rewrite boot loader completely. I don’t need to select
partition for boot and wait for
almost 4 secs in embedded app (pc/104). Also, I’d probably avoid seeking
for active partition, just
boot from first one > :astonished:> ) It’d give me additional space for putting out of
serial port quite a long
string.

ed1k at qnx-night dot com

In article <bds9ab$hhi$1@inn.qnx.com>, john.h.eddy@lmco.com says…

John:

For real commented source code I’d advise you to talk to your local CSR. I’m sorry, I am not QSSL
and I can’t provide you with this source.

Actually, yes, I understand what you need. Second, you don’t use partition loader (ipl-diskpc1*) if
you formatted (dinitted :slight_smile:) the raw device as a qnx4 filesystem. Partition loader (primary loader)
would ask you which partition you would like to boot, fdisk puts this loader there. Secondary loader
(ipl-diskpc2*) asks if you want to use .altboot. So, actually, you need the source of secondary
loader, probably it’s ipl-diskpc2-flop. Secondary loader more fully uses 512 bytes space, but still
it has a place to put the serial init code into it, especially if you never need to boot .altboot.
If you don’t need partitioned device, it is a right thing to configure system like you did, i.e.
‘dinit’ the raw device.

If you could provide technical information, like communication protocol (8N1?) and the init string,
I’d be willing to help you. If you don’t mind to discuss it here, in public, I can develop for you
ipl-diskpc2-john and send it here, absolutely for free :slight_smile: Anyway, I have no job at the moment but I
have plenty of time to play around it just for practising. All what you will need is just ‘dloader’
it. I hope your pc/104 has a pretty standard port com1, without uncompatible extensions :slight_smile:

ed1k at qnx-night dot com
toronto.

ed1k,

That sounds like what I had in mind. I was just looking for the source code
for the partition loader that loads .boot, and I was going to strip out all
the delays and extra stuff. I would prefer real commented source code to
disassembled code if possible.

This system isn’t even partitioned. I formatted the raw device as a qnx-4
disk. It does use the partition loader though, because it still comes up and
asks if I want to use .altboot.

Mabe I am missing the point here… are you suggesting I replace the master
boot record instead of the partiton loader? Not sure there is a difference
the way I have this flash hard drive formatted… I see the .altboot text
when i spatch the first sector on the raw device.

Thanks,

John

ed1k,

I am at home now, don’t have the string with me. I will post it when I get
in to work, if they have my machine back on the net (we are moving to a
different area).
It is something like a three character sequence twice to reset the module,
then a code to make it double high double wide text, then STARTING SYSTEM
with spaces so it fits evenly on the 40 char by 4 line display at double
high double wide. Not so much to fit. Also If I set the remote admin
settings to com1 at 19200, it will probably already be configured when this
code runs. If not, I would need 19200 n,8,1, hardware handshaking or delays.

I don’t need .altboot, or the delay for it, or the code for it, so I figure
there should be room.

I thought the first loader was the one that was written to the root block of
the disk,
and chained to the second loader in the root block of the partition.
I was calling the loader in the partition, the partition loader, mabe that
is the wrong name.
Anyway, it sounds like we are talking about the same loader by now, just
calling it something different.

Thanks,

John

“ed1k” <ed1k@humber.bay> wrote in message
news:MPG.196bbed0961978219896d5@inn.qnx.com

In article <bds9ab$hhi$> 1@inn.qnx.com> >, > john.h.eddy@lmco.com > says…

John:

For real commented source code I’d advise you to talk to your local CSR.
I’m sorry, I am not QSSL
and I can’t provide you with this source.

Actually, yes, I understand what you need. Second, you don’t use partition
loader (ipl-diskpc1*) if
you formatted (dinitted > :slight_smile:> ) the raw device as a qnx4 filesystem. Partition
loader (primary loader)
would ask you which partition you would like to boot, fdisk puts this
loader there. Secondary loader
(ipl-diskpc2*) asks if you want to use .altboot. So, actually, you need
the source of secondary
loader, probably it’s ipl-diskpc2-flop. Secondary loader more fully uses
512 bytes space, but still
it has a place to put the serial init code into it, especially if you
never need to boot .altboot.
If you don’t need partitioned device, it is a right thing to configure
system like you did, i.e.
‘dinit’ the raw device.

If you could provide technical information, like communication protocol
(8N1?) and the init string,
I’d be willing to help you. If you don’t mind to discuss it here, in
public, I can develop for you
ipl-diskpc2-john and send it here, absolutely for free > :slight_smile: > Anyway, I have
no job at the moment but I
have plenty of time to play around it just for practising. All what you
will need is just ‘dloader’
it. I hope your pc/104 has a pretty standard port com1, without
uncompatible extensions > :slight_smile:

ed1k at qnx-night dot com
toronto.

ed1k,

That sounds like what I had in mind. I was just looking for the source
code
for the partition loader that loads .boot, and I was going to strip out
all
the delays and extra stuff. I would prefer real commented source code to
disassembled code if possible.

This system isn’t even partitioned. I formatted the raw device as a
qnx-4
disk. It does use the partition loader though, because it still comes up
and
asks if I want to use .altboot.

Mabe I am missing the point here… are you suggesting I replace the
master
boot record instead of the partiton loader? Not sure there is a
difference
the way I have this flash hard drive formatted… I see the .altboot
text
when i spatch the first sector on the raw device.

Thanks,

John

ed1k,

Ok, I am at work now…

The string is:
“\x1b\x40\x0c\x1b\x40\x0c\x1f\x28\x67\x40\x02\x02 STARTING SYSTEM” 31 char
total. One space before STARTING, three spaces after it.
I wrote a small app that writes this from C and put it right after the
devc-ser8520 driver starts and initializes com1 and 2. It basically opens
com1 for write, and writes 4 times. twice for the reset sequence
“\x1b\x40\x0c”, once for the resize string “\x1f\x28\x67\x40\x02\x02”, and
once for the message " STARTING SYSTEM".

Thanks,

John

“ed1k” <ed1k@humber.bay> wrote in message
news:MPG.196bbed0961978219896d5@inn.qnx.com

In article <bds9ab$hhi$> 1@inn.qnx.com> >, > john.h.eddy@lmco.com > says…

John:

For real commented source code I’d advise you to talk to your local CSR.
I’m sorry, I am not QSSL
and I can’t provide you with this source.

Actually, yes, I understand what you need. Second, you don’t use partition
loader (ipl-diskpc1*) if
you formatted (dinitted > :slight_smile:> ) the raw device as a qnx4 filesystem. Partition
loader (primary loader)
would ask you which partition you would like to boot, fdisk puts this
loader there. Secondary loader
(ipl-diskpc2*) asks if you want to use .altboot. So, actually, you need
the source of secondary
loader, probably it’s ipl-diskpc2-flop. Secondary loader more fully uses
512 bytes space, but still
it has a place to put the serial init code into it, especially if you
never need to boot .altboot.
If you don’t need partitioned device, it is a right thing to configure
system like you did, i.e.
‘dinit’ the raw device.

If you could provide technical information, like communication protocol
(8N1?) and the init string,
I’d be willing to help you. If you don’t mind to discuss it here, in
public, I can develop for you
ipl-diskpc2-john and send it here, absolutely for free > :slight_smile: > Anyway, I have
no job at the moment but I
have plenty of time to play around it just for practising. All what you
will need is just ‘dloader’
it. I hope your pc/104 has a pretty standard port com1, without
uncompatible extensions > :slight_smile:

ed1k at qnx-night dot com
toronto.

ed1k,

That sounds like what I had in mind. I was just looking for the source
code
for the partition loader that loads .boot, and I was going to strip out
all
the delays and extra stuff. I would prefer real commented source code to
disassembled code if possible.

This system isn’t even partitioned. I formatted the raw device as a
qnx-4
disk. It does use the partition loader though, because it still comes up
and
asks if I want to use .altboot.

Mabe I am missing the point here… are you suggesting I replace the
master
boot record instead of the partiton loader? Not sure there is a
difference
the way I have this flash hard drive formatted… I see the .altboot
text
when i spatch the first sector on the raw device.

Thanks,

John

In article <bduehl$1n8$1@inn.qnx.com>, john.h.eddy@lmco.com says…

ed1k,

Ok, I am at work now…

The string is:
“\x1b\x40\x0c\x1b\x40\x0c\x1f\x28\x67\x40\x02\x02 STARTING SYSTEM” 31 char
total.

Ok, admitted :slight_smile: Do I need to send null-terminator? In my count it is 30 chars total :slight_smile:

ed1k.

ed1k,

no, null termination is not required, I guess I just can’t count.

John

“ed1k” <ed1k@humber.bay> wrote in message
news:MPG.196d096c28806a349896d7@inn.qnx.com

In article <bduehl$1n8$> 1@inn.qnx.com> >, > john.h.eddy@lmco.com > says…
ed1k,

Ok, I am at work now…

The string is:
“\x1b\x40\x0c\x1b\x40\x0c\x1f\x28\x67\x40\x02\x02 STARTING SYSTEM” 31
char
total.

Ok, admitted > :slight_smile: > Do I need to send null-terminator? In my count it is 30
chars total > :slight_smile:

ed1k.

In article <bdvtjb$kef$1@inn.qnx.com>, johnheddy@adelphia.net says…

ed1k,

no, null termination is not required, I guess I just can’t count.

John

John,

That isn’t big deal, I also can’t count, my wife did. It is almost ready, but tomorrow I have to
repair some windoze system (I suppose reinstall it :slight_smile:). So, I will able to debug loader on Friday or
week-end.

ed1k.

ed1k,

I may also end up re-installing a windoze system this weekend.
The family I am visiting in Md is having resource wierdness.

Have a good 4th of July.

thanks,

John

“ed1k” <ed1k@humber.bay> wrote in message
news:MPG.196d6c65de19ef219896d9@inn.qnx.com

In article <bdvtjb$kef$> 1@inn.qnx.com> >, > johnheddy@adelphia.net > says…
ed1k,

no, null termination is not required, I guess I just can’t count.

John


John,

That isn’t big deal, I also can’t count, my wife did. It is almost ready,
but tomorrow I have to
repair some windoze system (I suppose reinstall it > :slight_smile:> ). So, I will able to
debug loader on Friday or
week-end.

ed1k.

In article <bduc2d$sbr$1@inn.qnx.com>, johnheddy@adelphia.net says…

John,

Here is your loader - ipl-diskpc2-serial. Because I have no second PC (I don’t speak about your
specific terminal :slight_smile:), the communication section is not fully debugged, but I think it should work.
I tested it on my PC by booting PC from floppy drive. It worked good for me. Communication is 19200
n,8,1 and hardware handshaking. So, loader setups com1 for those parameters and terminal suppose to
be ready to receive data with those parameters. Loader also sets DTR and RTS signals and wait for
CTS reply from terminal. If your terminal doesn’t suppose to work in hardware handshaking mode, or
you aren’t using full RS-232 cable, you can short the RTS and CTS circuits on pc/104 side, but in
this case your terminal should be able to receive data byte-to-byte without any delays.

I spent a lot of time yesterday to figure out how to use ‘dloader’ or ‘dinit’ to put my loader into
bootsector of flopy disk. There is no chance in QNX 6.1A. ‘dloader’ always comes up with message
“unknown loader” and quits. Intersting to know how this bloody utility is supposed to know anything
about my just now cooked flaming loader. I hope in 6.2.1 this issue fixed. If not, I’ll give you
instructions how to use universal command ‘dd’ :slight_smile:

Warning! Please have a way to boot your system from alternative device or a way to restore original
loader on your flash drive while playing around with this custom loader.

Let me know if it works and everything is as you expected. If it doesn’t work detailed bug
report is very welcome :astonished:) There is no .altboot, there is no kbd inputs. Dots and “error chars” are
transfered to terminal right after greetings message.

ed1k.

begin 600 ipl-diskpc2-serial
MZRF0V@``````````````````&T,&T,(%-405)424Y’("@4UE35$5-.@ M%Z![BX#A^X8".P#’_N0!\Z4&N$<4,L.‘PX7O(^QXQP([8BQ8`!!\) MTG3^0D)"L(/Z[DI*L`#N2K`&[D)"0K`#[DI*,,#N0D)"L`/N^[X2`*P(P'0% MZ$T!Z_:_8QP+D8/.KN(F;\!#’;O0(Z*0OH"BTPPO00,=N+1!R+
M5!ZC2)%@($Q@8(!`&!QA0`ZR.!Q@@`_@X(!'49H0`$BQ8"!%53O0`*,=N_ M`0#H8P!;7;X0!(L$BU0"BWP$Z%,?B!T@*7P$P><)`?V!TP@7P$!U MX>*WNP`"9KKK?O\`N0`@9CL7=`J!PP0`XO6P4^L8BT<@`=@%:)1RC’1RH1
M+@``5QP%#+Z)Z_Y64%%24RT!`(':```#!@0`$Q8&`/<V#@"(Q8CAP,D" MB="9]C80`(C&".'^P;\!`(GXNP`(BA81`+0"S1.P1'*[]\7_/W4%L"[H0P!; MO@`&QT00___&1!63QT02[&1!0QT08___&1!V3B6P:B%P<@$0<$8GYP>$( MM(?-%8#[7<'B%P<M(?-%5I96%[#4E>,<".V(L6``0?@<(%.PD0’3[0NPD
+$'3[@>H&%CN6L,<
end





ed1k,

I am at home now, don’t have the string with me. I will post it when I get
in to work, if they have my machine back on the net (we are moving to a
different area).
It is something like a three character sequence twice to reset the module,
then a code to make it double high double wide text, then STARTING SYSTEM
with spaces so it fits evenly on the 40 char by 4 line display at double
high double wide. Not so much to fit. Also If I set the remote admin
settings to com1 at 19200, it will probably already be configured when this
code runs. If not, I would need 19200 n,8,1, hardware handshaking or delays.

I don’t need .altboot, or the delay for it, or the code for it, so I figure
there should be room.

I thought the first loader was the one that was written to the root block of
the disk,
and chained to the second loader in the root block of the partition.
I was calling the loader in the partition, the partition loader, mabe that
is the wrong name.
Anyway, it sounds like we are talking about the same loader by now, just
calling it something different.

Thanks,

John

In article <MPG.1972417b8793837e9896db@inn.qnx.com>, ed1k@humber.bay says…

In article <bduc2d$sbr$> 1@inn.qnx.com> >, > johnheddy@adelphia.net > says…

I spent a lot of time yesterday to figure out how to use ‘dloader’ or ‘dinit’ to put my loader into
bootsector of flopy disk. There is no chance in QNX 6.1A. ‘dloader’ always comes up with message
“unknown loader” and quits. Intersting to know how this bloody utility is supposed to know anything
about my just now cooked flaming loader. I hope in 6.2.1 this issue fixed. If not, I’ll give you
instructions how to use universal command ‘dd’ > :slight_smile:

Sorry, it was my fault. ‘dloader’ works great but for some reason I had to point the full path to
ipl (regardless it was named correctly and placed in /boot/sys/). I just swapped parameters order by
mistake and got that message “in/dloader is not a known loader”.

ed1k.

ed1k,

“OE removed access to the following unsafe attachments in your mail:
ipl-diskpc2-serial.dat”

I can see the attachment, but outlook won’t let me have it because it has an
extension of .dat can you put it and/or source code in a tar / gzipped file
and give it the extension of *.tgz. I am fairly sure that will not be
“screened” out by the e-mail server. Mabe I can get it from home?? I am
locked out of setting my security settings here at the office.

Thanks,

John


“ed1k” <ed1k@humber.bay> wrote in message
news:MPG.1972417b8793837e9896db@inn.qnx.com

In article <bduc2d$sbr$> 1@inn.qnx.com> >, > johnheddy@adelphia.net > says…

John,

Here is your loader - ipl-diskpc2-serial. Because I have no second PC (I
don’t speak about your
specific terminal > :slight_smile:> ), the communication section is not fully debugged,
but I think it should work.
I tested it on my PC by booting PC from floppy drive. It worked good for
me. Communication is 19200
n,8,1 and hardware handshaking. So, loader setups com1 for those
parameters and terminal suppose to
be ready to receive data with those parameters. Loader also sets DTR and
RTS signals and wait for
CTS reply from terminal. If your terminal doesn’t suppose to work in
hardware handshaking mode, or
you aren’t using full RS-232 cable, you can short the RTS and CTS circuits
on pc/104 side, but in
this case your terminal should be able to receive data byte-to-byte
without any delays.

I spent a lot of time yesterday to figure out how to use ‘dloader’ or
‘dinit’ to put my loader into
bootsector of flopy disk. There is no chance in QNX 6.1A. ‘dloader’ always
comes up with message
“unknown loader” and quits. Intersting to know how this bloody utility is
supposed to know anything
about my just now cooked flaming loader. I hope in 6.2.1 this issue fixed.
If not, I’ll give you
instructions how to use universal command ‘dd’ > :slight_smile:

Warning! Please have a way to boot your system from alternative device or
a way to restore original
loader on your flash drive while playing around with this custom loader.

Let me know if it works and everything is as you expected. If it doesn’t
work detailed bug
report is very welcome > :astonished:> ) There is no .altboot, there is no kbd inputs.
Dots and “error chars” are
transfered to terminal right after greetings message.

ed1k.





ed1k,

I am at home now, don’t have the string with me. I will post it when I
get
in to work, if they have my machine back on the net (we are moving to a
different area).
It is something like a three character sequence twice to reset the
module,
then a code to make it double high double wide text, then STARTING
SYSTEM
with spaces so it fits evenly on the 40 char by 4 line display at double
high double wide. Not so much to fit. Also If I set the remote admin
settings to com1 at 19200, it will probably already be configured when
this
code runs. If not, I would need 19200 n,8,1, hardware handshaking or
delays.

I don’t need .altboot, or the delay for it, or the code for it, so I
figure
there should be room.

I thought the first loader was the one that was written to the root
block of
the disk,
and chained to the second loader in the root block of the partition.
I was calling the loader in the partition, the partition loader, mabe
that
is the wrong name.
Anyway, it sounds like we are talking about the same loader by now, just
calling it something different.

Thanks,

John

In article <bec8qm$c77$1@inn.qnx.com>, john.h.eddy@lmco.com says…

ed1k,

“OE removed access to the following unsafe attachments in your mail:
ipl-diskpc2-serial.dat”

I can see the attachment, but outlook won’t let me have it because it has an
extension of .dat can you put it and/or source code in a tar / gzipped file
and give it the extension of *.tgz. I am fairly sure that will not be
“screened” out by the e-mail server. Mabe I can get it from home?? I am
locked out of setting my security settings here at the office.

That attachments is really unsafe :slight_smile: Previously attached file had name “ipl-diskpc2-serial”
without any extension. That .dat extension is a fantasy of your Outlook Express. My newsreader
uses external encoding/decoding programs and I use uuencode/uudecode from GNU sharutils 4.1, hence,
as I see attachment as a plain text with header, I’m sure about the name. Here is attached john.tgz
which is tar-ed and gzip-ed ipl-diskpc2-serial.

ed1k

begin 600 john.tgz
M’XL(%_0"3\``^W23T@441P'\.^,L],HL:S_5BO3@3QDH,Q8KH<.V3:Q)!F; MLX5_2A)+D1E’>DBX=“AW09$.0QJE,=]B"T9JYCB[N$”&$7R=-Z:6AE+Y):
M2[N-%$0%=1$B^'UXO#^WX’X[TW,#Q8?W-@Y/9P7V/]RW@0.@]ITD2Y+’
M<PK2-[^.4G-S(^Q.:I2:FNQ
N_ZD+#5#E/;+;’=%Z@Z(X-"0]J>ZO^7
M4^FZR7<1XZT’+2;J;.M@<N7/*)HJAVJH'S;;"’CW3&=-]8F3#D"V;K
M"1_UP;LK’%6O(20K9;-B37##:ZF<%7+>;W>R+W/F=;6"#M$3ZSMRZPEY+Y
M?9J-E>“98&H.JXU);R^E\W92FP]C;*87F@K]#L!XC-LX:%Z5YN.1U0ZDR
MM6/P(7=+)?@!8[1$V5('],3G).@1L]]!”<8>>NJ/,HDM?M7:P^=%^/N3B#
M,P
L,<99*IA=?16H&^,6WQ<R7_2W@#[&V7\AM?%#FS_B_3=/&8A]I^NT(KT
M.(>-CQ$U76GX1&;-3[L.Y[TG2A&%(Q?-OW+UB32N:O^R^UJ/0/=OLX"GD.I MF\>.QXG04BAEOF;#;Z:W/2Z$$D(JMV@?*KP[!^&!NQ@S[$II1G.[2SESXPZ
M(@W6.73’P"<55SZ?4,JGDDH)GFE#$FE<B]R="H\>#ATK6I<J2H.?UI,"3/W M5\K'L\R=W9P;][5V=$3;
?_>G]E0.;M2U:UKM9Z]*R^@<>'9FN^+_Y;X00 ?0@@AA!!"""&$$$(((8000@@AA)#]\Q5;8C?["@``-*R
`
end



Thanks,

John

ed1k,

Ok, I got the attachment, and tried putting it on a floppy to test boot on
the system.

I couldn’t get dloader or dinit to work, so did a “dd if=mrts.ipl
of=/dev/fd0 bs=512 count=1” and got it over to the floppy.

When it booted, I saw “starting system” in the wrong size font, and then it
hung.
I tried copying it to the flash hard drive on the test box, and got the same
results.

Here is what came out the port when I tried capturing it on boot up:
00 ff ff 1b 40 0c 1b 40 0c 20 53 54 41 52 54 49 4e 47 20 20 20 53 59 53 54
45 4d

I assume the 00 ff ff is noise on bootup or something like that. It should
be:
1b 40 0c 1b 40 0c 1f 28 67 40 02 02 20 53 54 41 52 54 49 4e 47 20 20 20 53
59 53 54 45 4d

The missing string is the part that sets the font to larger size, so it did
the right thing.

If I spatch mrts.ipl, I can see that the string is missing those bytes in
the data section at the beginning of the file.

Can you send me the syntax you finally used to get dloader to work for you.

Also… any idea why it won’t continue booting after the serial message goes
out?

I tried disassembling the code with ndisasm -k2,0x29 mrts.ipl, but it was a
bit hard to follow without comments.

Thanks,

John




“ed1k” <ed1k@humber.bay> wrote in message
news:MPG.1973ad1a6d3a35429896dd@inn.qnx.com

In article <bec8qm$c77$> 1@inn.qnx.com> >, > john.h.eddy@lmco.com > says…
ed1k,

“OE removed access to the following unsafe attachments in your mail:
ipl-diskpc2-serial.dat”

I can see the attachment, but outlook won’t let me have it because it
has an
extension of .dat can you put it and/or source code in a tar / gzipped
file
and give it the extension of *.tgz. I am fairly sure that will not be
“screened” out by the e-mail server. Mabe I can get it from home?? I am
locked out of setting my security settings here at the office.


That attachments is really unsafe > :slight_smile: > Previously attached file had name
“ipl-diskpc2-serial”
without any extension. That .dat extension is a fantasy of your Outlook
Express. My newsreader
uses external encoding/decoding programs and I use uuencode/uudecode from
GNU sharutils 4.1, hence,
as I see attachment as a plain text with header, I’m sure about the name.
Here is attached john.tgz
which is tar-ed and gzip-ed ipl-diskpc2-serial.

ed1k





Thanks,

John

In article <beejm0$3m8$1@inn.qnx.com>, john.h.eddy@lmco.com says…

John,

Well, it is a good result :slight_smile: You saw the wrong size font because I forgot to include font selection
sequence in string, sorry. Here is attached ‘ipl-diskpc2-ser’ and winzip archive ‘john.zip’ which
include another copy of loader (for case of unsafe attachments filtering). This time I put the
command “0x1f,0x28,0x67,0x40,0x02,0x02” in the greeting string, but in order to save some space I
had to remove section outputting the dots during the boot process. So, it won’t be so fun anymore.
Error messages about wrong image signature or disk IO error will still go out through serial port.

It can’t continue booting if you used just dd like you did. dloader puts disk drive parameters in
the header of loader. It depends on which device you are initializing. Also, it is mandatory to give
a right name for the loader, because loaders name gives some important information for dloader :slight_smile: I
guess, about is it primary or secondary loader. So,

dloader -v /dev/fd0 /boot/sys/ipl-diskpc2-serial

should work if you put ipl-diskpc2-serial (not mrts.ipl) into directory /boot/sys/

ed1k

P.S. Don’t try disassemble my code, it could selfdestroy upon disassembling :slight_smile: BTW, I sent you
loader by email also.

begin 600 ipl-diskpc2-ser
MZR^0V@``````````````````&T,&T,‘RAG0("(%-405)424Y'("@4UE3
M5$5-.@``%Z![C0#A^X8".P#'_N0!\Z4&N$T4,L.'PX7O``(^QXQP([8 MBQ8!!)TG3^0D)“L(/Z[DIL#N2K&[D)"0K#[DI*,,#N0D)"L/N^[X2
M*P(P'0%Z$(!Z_:_``8QP+D8/.KN(F;!#';O0(Z
0OH"BTPPO00 M,=N+1!R+5!ZC``2)%@($Q@8(!&!QA0ZR.!Q@@@X(!'49H0$BQ8"!%53 MO0*,=N0#H8P!;7;X0!(L$BU0"BWP$Z%,``?B!T@``*7P$P><)?V!TP M@7P$!UX>*WNP"9KKK?O\N0@9CL7=J!PP0XO6P4^L8BT<@=@%:) M1RC'1RH1`+@5QP%#+Z(4Z_Y64%%24RT!(':```#!@0$Q8&/<V#@"( MQ8CAP,D"B="9]C80(C&”.’^P;!(GXNP(BA81+0"S1.P1'*[6[X!L=$
M$/__QD05D=$$@.QD04,=$&/__QD0=DXEL&HA<’(!$’!&)^<'A"+2’S16 M^P%W!XA<'+2'S15:65A>PU)0'C'CMB+%@$'X'"!0#L)$!T^T+L)!!T^X'J &!@!8[EK#
end

begin 600 john.zip
M4$L#!!0@`(`#N=Z"XYS+Z3WP$/L!```2````:7!L+61I<VMP8S(M<V5R
M:6%L55!-:–P’‘W_[-^8#0GI/KJJ=0VXPQ3$!60716J(%(N3VD39APY!G0<]
M28>7(@TB-@:&L-…HI[TD,/UMHNM9@B8R#S,NRINQC,Z&4XI\76%3QQSN
M#CQ>-Z)IU_PWQV*[?<1’;L=8QA1U<ZFM/,7XZ(HJM.J=FX2+C"G-T^“C^:O
M8]&6.@60G9=L?A+)-3[*#[#UQJ1[,5-,P0:[=U(MV59MA[^:B82%IH)BVUV
M=8\OQ^V_M%7NQVO.3@=<F7B[JVENQ#&SJL\@^55JE>N>^0#G+F!?&2Q"D MNJE$3&WD.:@18JC#<I3HSB"\([K#H<US=.',U#3SRZK)?1)=?^+>P.SU\H”
M-:FI,6:&NBK(GKX!’,W0RM=>\EO
#.@9"BPTMMX4P<R_]1YT4(X?VHXW:=7 M*;:^6ZH7-N,BV0R->)CM?BQ(/(@2<E.KKF/X+6O)"^EU.,$NC]J#TLQ$&+Q
M8X)’[D.N87]DC$+NQ,"<@[7:%?\4L9>$=R34!KS/JI=PKSI;!UA2ATW&4
MH:6:T@
>40914)=Y_“2<?=@[FHDJT2"QL]*@UMYO#Z4;9’[^WRSRV>FI^:J
MJ>2_^?7W6R/QM(M>7M42+?T;RRFFC/5T[=N2G?._%02P$”%4("``[ MG>@N.<R^D]\!``#[0$@```````````"MH$:7!L+61I<VMP8S(M <<V5R:6%L4$L%!@!``$0`````\"`````($
`
end


ed1k,

Ok, I got the attachment, and tried putting it on a floppy to test boot on
the system.

I couldn’t get dloader or dinit to work, so did a “dd if=mrts.ipl
of=/dev/fd0 bs=512 count=1” and got it over to the floppy.

When it booted, I saw “starting system” in the wrong size font, and then it
hung.
I tried copying it to the flash hard drive on the test box, and got the same
results.

Here is what came out the port when I tried capturing it on boot up:
00 ff ff 1b 40 0c 1b 40 0c 20 53 54 41 52 54 49 4e 47 20 20 20 53 59 53 54
45 4d

I assume the 00 ff ff is noise on bootup or something like that. It should
be:
1b 40 0c 1b 40 0c 1f 28 67 40 02 02 20 53 54 41 52 54 49 4e 47 20 20 20 53
59 53 54 45 4d

The missing string is the part that sets the font to larger size, so it did
the right thing.

If I spatch mrts.ipl, I can see that the string is missing those bytes in
the data section at the beginning of the file.

Can you send me the syntax you finally used to get dloader to work for you.

Also… any idea why it won’t continue booting after the serial message goes
out?

I tried disassembling the code with ndisasm -k2,0x29 mrts.ipl, but it was a
bit hard to follow without comments.

Thanks,

John