Hi all,

for extra fun, I traced through the installer batch
files in the new fdbasecd (1.0 preview 2 cdrom iso)
tonight... The new ISOLINUX 3.11 still did not like
me (hangs on boot), but I could again use the special
boot diskette... The cdrom driver liked my dvd drive
better this time, no crc errors etc :-)

However, the singlestepping showed a few annoying
FreeCOM issues in single step mode: If you do any-
thing with redirection, the "some command [YES=Enter
No=Esc] ?" message are prepended to the redirected
data. So "echo hello > foo,bat" will write something
like to foo,bat like:
"echo hello > foo.bat [YES=Enter No=Esc] ?
hello " (also note the space after "hello").
The YES/NO etc prompt should be sent to STDERR or
to CON even if redirection is active.

This problem breaks the "push output of GETARGS
into a batch file" step to some part when you
are in single step mode, but what is worse is
that it completely breaks the config / autoexec
generation batch script.

The next issue is that FreeCOM freaks out if you
do CTTY NUL in single step mode, probably because
it wants to read the Enter or Esc from NUL then.
In either case, it only beeps, and when you hit
Ctrl-C to abort the batch, you cannot type an
answer to the abort prompt either, as that would
have to be typed from NUL as well.
This is a NUL specific case: A solution would
be to CTTY only output of FreeCOM for the NUL
case, but to do bidirectional redirection for
other devices like AUX.

I notice that the installer diskette would
NORMALLY load an 1.5 MB diskette-only cache
and TICKLE. Why is that disabled at the moment?

The installer diskette also has many "if file XYZ
is present then..." things - it would be better
if those tests were omitted. Either you have the
installer diskette or you do not have it.

About drivers: both the CDROM driver and SHSUCDX
(and the CDRCACHE as well, 1.25 MB of it...) are
DEVLOADed /H to UMB. Unless the installer really
needs a lot of RAM, it would be a lot safer not
to use UMBs for such drivers.

There also is a check for c:/fdbootcd.iso, but
no message about it (which could inspire people
to put the ISO there, I mean)...

It is probably intentional that validsrc is set
to " X:\FREEDOS" (note the space)? The diskette
searches for either /setup/batch/autorun... or
for x:/freedos/setup/batch/autorun... okay...

For some reason, the diskette looks for up to 6
cdrom drivers. That can probably be simplified.

The PATH contains the ODIN and INSTALL directories
at some point: On disks with livecd, the ODIN
stuff does not have to be duplicated in the
livecd. Or, the other way round, you could omit
ODIN on such disks, as long as the PATH is
automatically adjusted to point to the livecd
instead there.

At some point, the installer has to decide whether
it should add a:\freedos to the PATH. It decides
not to, and that breaks several things. I had to
fix that manually to be able to continue properly.
An alternative would be to have all files from
a:/freedos and a:/driver also in the ODIN or INSTALL
directory on the cdrom. Then the second step of the
install would not have to access the diskette that
much... Of course with a MEMDISK, it is better to
try the virtual diskette before the cdrom (faster).

The first PATH problem are menu1 and menu2 dot bat:
Those need LOCALIZE and CHOICE (and one also wants
to use CD2ISO86 to copy the whole cdrom to a file
on C:, probably depending on a choice which I would
have with CHOICE in the PATH...). Problem here is
that no default messages are present, so the batch
files are almost unreadable ("show message 1.2, then
ask question x.y..."). Would be very nice to have
default messages here.

The installer should probably check if the selected
size (install.min, install.dat, install.max, for
binary, binary+sources, ask per package) is possible
with the current cdrom (by checking for the file).

The screen mode selection should be removed: It is
"mono/text" versus "ega/vga", but we do not use the
VGA/486dx installer at the moment anyway. One sub
menu removed :-).

When the actual install starts, it first TYPEs beta9.txt
and then displays inst.txt with PG. But PG is not in the
PATH. The user will not see the inst.txt file.

If the installer would find c:/nul missing or would
find an OSCHECK errorlevel of at least 64, it would
FORMAT C:, suppressing all user interaction. Very
bad! Solution: Remove the /Z:SERIOUSLY. The user can
easily wait for a short while until the format c:
step is reached. After that, he can walk away, the
rest can be less interactive.

At some point, the installer tries to use CPULEVEL,
but that is not in the PATH. In addition, GETARGS
provides the relevant hints about what CPU you have
anyway. Plus it is highly unlikely that people do
a cdrom install on a pre-386...

LOCALIZE is used a lot, but you should make sure
to have default messages everywhere, for sake of
readability of batch files. You could even use
something like IF EXIST ... SET LOC=LOCALIZE
ELSE SET LOC=ECHO ..., then the default messages
would even be displayed if both localize.de (in
DE language case) and localize.com are gone :-).

Some components have been updated: deltree,
command, edit, fdisk, kernel. The kernel some-
times shows extra messages (when creating files),
my fault. EDIT is not UPXed yet but at least it
is 0.7d :-). And typing umlauts and backslashes
works for me, with KEYB and EDIT. Not sure what
went wrong for the one for whom it did not.

There even is some automatic XMS size check,
to set the cache sizes, but there is no disk free
space check yet. Still nice.

The installer checks for various OSes, for
existing config files, for metakern... And it
repeatedly creates boot sector dumps on c:/
and a:/ and deletes them again. Could probably
be optimized. Note that I did not test if the
installer works at all if a: is read-only.

TEXTINST / FDPKG works quite nice now :-)
However, if you have no DOSDIR variable set,
it will not even show the /? help screen. Bad.

What do the /O:&D /N /F:I /G options mean when
the installer tries to locate postinst? Postinst
is what creates the config and autoexec. See
above. Could not really singlestep those...
What I did notice is that both LOCALIZE and
the LOCALIZE.* text files are not where they
should be on the installed system! So POSTINST,
which is run from harddisk for some reason,
shows no messages at all... Or maybe this
went wrong because I singlestepped it. Because
I used a German codepage, the box and checkmark
ASCII arts did not look right. Maybe use some
more conservative plain ASCII instead...

Talking about those, the /bin/sleep tool is
missing as well. And, even though the list-
of-steps display is fancy, it would be better
to just SEE the output. As said, CTTY NUL is a
really bad idea.

One of the POSTINST steps is to copy a CMD-*
for the selected language into the default
command.com - that fails because DE is not
the same as de :-p

Plus there are TWO command.com, one in %DOSDIR%
and one in %DOSDIR%/BIN, which is not good. One
of them is older than the other, you can easily
get the older one by accident. For extra fun,
I copied two different languages to both dirs,
to see which one is used when.

Bug in REGIONAL,bat: There is no END label and
the ODIN/CPI/EGA.CPX filename points into the
void, so "German" font only happens when the
installed DOS boots, not during install...

In general, the installer looks a lot better
now than the early beta9 ones. I hope the
remaining issues can be fixed before 1.0 :-).
Some of them make the installer somewhat use-
less to less-insider users at the moment, but
most bugs are still easy to pinpoint and fix.

Thanks :-).

Eric


-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Freedos-devel mailing list
Freedos-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-devel

Reply via email to