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...".
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."
Please advise.
-r
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? Did you reformat / repartition the disk? Did you install the VBR?
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 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@reactos.org http://www.reactos.org/mailman/listinfo/ros-dev
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@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@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
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@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@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
Ros-dev mailing list Ros-dev@reactos.org http://www.reactos.org/mailman/listinfo/ros-dev
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@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@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@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
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
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
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@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@reactos.org http://www.reactos.org/mailman/listinfo/ros-dev