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-boun...@reactos.org [mailto:ros-dev-boun...@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@reactos.org http://www.reactos.org/mailman/listinfo/ros-dev _______________________________________________ Ros-dev mailing list Ros-dev@reactos.org http://www.reactos.org/mailman/listinfo/ros-dev