Breaking the boot into multiple stages would certainly fix the problem, and
as long as it gets implemented the PE version of FreeLoader should be fine.
But I do have to wonder if we'll then see a push to make the first-stage
boot code into a PE file also to make it easier to debug? (sorry, I couldn't
resist ;-))
-----Original Message-----
From: ros-dev-bounces(a)reactos.org [mailto:ros-dev-bounces@reactos.org] On
Behalf Of Ros Arm
Sent: Tuesday, September 21, 2010 2:03 PM
To: ReactOS Development List
Subject: Re: [ros-dev] Unable to use FreeLDR
Hello,
I propose a compromise similar to what embedded systems and Windows itself
do:
A first-stage, 16-bit, raw loader (
startup.com in Microsoft lingo).
A second-stage, 32-bit, protected mode loader (osloader.exe in Microsoft
lingo).
The first part would be the low-level parts of FreeLDR that allow it to be
booted from anywhere without these new limitations, while the second part
would provide all the PE benefits.
This would also help with future efforts to PXE boot.
-r
It seems there are some severe technical limitations
to a PE FreeLoader.
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.
-----Original Message-----
From: ros-dev-bounces(a)reactos.org [mailto:ros-dev-bounces@reactos.org] On
Behalf Of Ros Arm
Sent: Tuesday, September 21, 2010 11:53 AM
To: ReactOS Development List
Subject: Re: [ros-dev] Unable to use FreeLDR
> Ros Arm wrote:
> > Hello,
> >
> > After the switch in 48124 to PE FreeLDR, I am unable to boot FreeLDR
any
longer.
>
> I have tried official, as well as various unofficial freeldr.sys, none
worked.
>
> 47892 version works fine, 48124 does not.
>
> On a 512MB IDE disk, I got the "_" VGA cursor scrolling
endlessly/randomly on the screen, before even seeing "Loading FreeLDR..."
> >
> > With a 1GB SCSI disk, tested also with a 6GB IDE disk, it remains
stuck
at "Loading FreeLDR...".
Did you do a "make install" or did you install from bootcd?
I used to use an older bootcd, and then copy freeldr, which has always
worked for me.
Did you reformat / repartition the disk?
I did, using the older bootcd.
Did you install the VBR?
This was not an option.
Based on this, I thought, maybe a new bootcd is needed. I was unable to
build one previously due to the fact my build system seemed unsupported,
but
I have fixed the issues.
I built a bootcd with the old FreeLDR, got the new option for MBR+VBR,
etc,
everything works fine.
I then did an svn up to get the new FreeLDR and SetupLDR, did a full
"clean"
+ "make clean", and build a new bootcd.
Now the VM freezes after "Press any key to boot from CD..." when I press a
key.
So it looks like something is really broken in the new "PE"
FreeLDR/SetupLDR.
-r
>
> > This seems strange: "Now booting from fat partitions (looks like
that's
what sysreg does) works again. It's safe under the
condition that the
cluster size is at least 4352 bytes, which is true for harddisks of sizes
bigger than 272MB. Booting from smaller fat disks, like floppy breaks when
freeldr.sys gets fragmented, which should rarely happen."
The FAT16 bootsector is only 512 byes. Too small, so it needs to load
additional code, which is the fathelper code in freeldr.sys. The 1st
bootsector doesn't handle fragmented files, so the fathelper code must
be in the first cluster of freeldr.sys. This is true for disks > 272MB.
_______________________________________________
Ros-dev mailing list
Ros-dev(a)reactos.org
http://www.reactos.org/mailman/listinfo/ros-dev
_______________________________________________
Ros-dev mailing list
Ros-dev(a)reactos.org
http://www.reactos.org/mailman/listinfo/ros-dev
_______________________________________________
Ros-dev mailing list
Ros-dev(a)reactos.org
http://www.reactos.org/mailman/listinfo/ros-dev
_______________________________________________
Ros-dev mailing list
Ros-dev(a)reactos.org
http://www.reactos.org/mailman/listinfo/ros-dev