The limitation that I see is that you cannot guarantee the fathelper code
will always be within the first cluster of the FreeLoader PE file. This is a
pretty severe limitation in that it means you cannot guarantee the system
will even boot. Granted, this is only a problem when trying to boot from
small partitions or disks, but the problem is there and until it is solved I
don't think we should consider a PE version of FreeLoader. You are basically
excluding FreeLoader/ReactOS from any small embedded device or partition
(think WinPE). This may not be the main customer for ReactOS (or even
Windows), but in the corporate/enterprise world these types of scenarios are
very common. And the fact that we're already seeing booting problems because
of this means that it's not that rare of an occurrence after all.
I really don't think we should be comparing IO.SYS here unless you plan on
guaranteeing that the fathelper code is always in a fully defragmented and
contiguous run of sectors from the first cluster.
In any case, I am not opposed to a PE version of FreeLoader, but I just want
to make sure it works at least as good as it does now. This problem should
be addressed.
-----Original Message-----
From: ros-dev-bounces(a)reactos.org [mailto:ros-dev-bounces@reactos.org] On
Behalf Of Timo Kreuzer
Sent: Tuesday, September 21, 2010 2:33 PM
To: ReactOS Development List
Subject: Re: [ros-dev] Unable to use FreeLDR
Brian Palmer schrieb:
It seems there are some severe technical limitations
to a PE FreeLoader.
Can you please elaborate on that? What limitations are there?
I can only see one minor limitation: Booting from a floppy or harddisk
with FAT16, which is smaller than 300MB, where freeldr gets fragmented
in the first few clusters. freeldr doesn't even fit on a floppy and
reactos doesn't fit on a HDD smaller 300 MB. So why should that be an
issue? Even if it was, it's easy to overcome, by adding a bootsect2.bin,
containing the fathelper code.
We can improve on the situation by minimizing the PE header to one
sector. That would reduce the critical size to 64MB.
Btw, win98's io.sys has a DOS exe ("MZ") file header the bootsector
loads multiple sectors into memory before transferring execution to
io.sys that loads the rest of itself.
Unless there are good reasons for it to remain a PE
file (and I don't
think
easier debugging is a good reason), I would like to
see the PE changes to
FreeLoader reverted.
Easier debugging IS definately a very good reason!
Regards,
Timo
_______________________________________________
Ros-dev mailing list
Ros-dev(a)reactos.org
http://www.reactos.org/mailman/listinfo/ros-dev