Plop Boot Manager on ReactOS

Started by Gerald, July 17, 2018, 00:04:39 AM

Previous topic - Next topic

Gerald

Trying to install Plop Boot Manager on ReactOS (a Windows XP-like OSS OS) fails with "unsupported operating system" error.

It has  a different bootloader than Windows XP:

'FreeLdr' instead of 'Ntldr' and for boot entries has 'FreeLdr.ini' instead of 'Boot.ini' .

Could plop add support to be installed on ReactOS?
Or is there a trick to install plop successfully on ReactOS?

Not doing this:
Copying \freeldr.ini to \boot.ini and running the batch again.
Then copying the boot.init over the freeldr.ini.
(The idea is to install plop on ReactOS without its bootloader modification).

Could 'plpbt.bin' be used if specified its path in 'FreeLdr.ini'?

More info about:
https://jira.reactos.org/browse/CORE-14827

Elmar

Hello,

Quote from: Gerald on July 17, 2018, 00:04:39 AM
Could 'plpbt.bin' be used if specified its path in 'FreeLdr.ini'?

No. plpbt.bin is a 16 bit program that is bigger than 512 bytes and cannot (as far as I know) started directly from freeldr.ini. Thats the reason why there is the workaround with plpbt4win.exe on Windows systems. It creates a kickstarter to load plpbt.bin from the Windows boot menu.


Quote from: Gerald on July 17, 2018, 00:04:39 AM
Could plop add support to be installed on ReactOS?

I will spend some time to support native loading of the new boot manager from the Windows boot menu. The new boot manager has a completely different kernel as the Plop Boot Manager and makes it easier to add that feature. Native loading from FreeLoader (FreeLdr) should work too. But first, other things have priority.

Best regards
Elmar

Gerald

Quote from: Gerald on July 17, 2018, 00:04:39 AM
Copying \freeldr.ini to \boot.ini and running the batch again.
Then copying the boot.init over the freeldr.ini.

I tested doing this: Plop install well but, ReactOS doesn`t boot into Plop menu.


Gerald

Quote from: Elmar on July 17, 2018, 10:11:12 AMHello,
I will spend some time to support native loading of the new boot manager from the Windows boot menu. The new boot manager has a completely different kernel as the Plop Boot Manager and makes it easier to add that feature. Native loading from FreeLoader (FreeLdr) should work too. But first, other things have priority.

Take your time...
When ReactOS bootloader is supported by Plop, let us know please.

Elmar

I created a dirty fix to start the Plop Boot Manager from the FreeLdr Boot Menu. I will add it to the download section when its tested by someone else.

I had some troubles with installing ReactOS in virtual machines (qemu and Virtualbox). At first, I would say, ReactOS should remove the install option from the Live CD. The error message "Userinit failed to start the installer!" is not helpful. It would be better to tell the user, that this CD can't be used for installing ReactOS. And the second problem was, after installing ReactOS from the correct CD, I got a blue screen. The debug log told me "hive header failed". Hmmm. After installing a few times, finally the problem was that the virtual hard disk was too small. I can't remember, that I have seen an error message about that during the install process. Booting worked fine with a hard disk of 5 GB. Later, I saw the disk had about 2 GB of data stored. Previous, my virtual hard disk was only 500 MB big. I don't want to register to the ReactOS forum because of those few problems, and maybe those are my faults. Now its here documented. Ok, ReactOS boots.


The patch: https://download.plop.at/files/bootmngr/plpbt4win-freeldr-patch.zip

Patch instructions:

1) Run the batch script "01-freeldr-patch1.bat". This creates the file "c:\boot.ini".

2) Run "InstallToBootMenu.bat" from the Plop Boot Manager "Windows" directory.

3) Run the batch script "02-freeldr-patch2.bat". This creates the file "c:\plop\plpfreeldr.ldr".

4) Open "c:\freeldr.ini" with an editor.

5) Add in the "[Operating Systems]" section the line
PlopBootManager="Plop Boot Manager"

6) Add at the end of the file the lines
[PlopBootManager]
BootType=BootSector
BootDrive=0
BootPartition=1
BootSectorFile=\plop\plpfreeldr.ldr

7) Save the freeldr.ini file.

8) Optional, if you want, you can remove the dummy file "c:\boot.ini".

Then reboot.

Note: Native loading of the new boot manager from FreeLdr is still on the todo list.

Best regards
Elmar

Gerald

#5
Quote from: Elmar on July 21, 2018, 14:46:00 PM
I created a dirty fix to start the Plop Boot Manager from the FreeLdr Boot Menu. I will add it to the download section when its tested by someone else.

I had some troubles with installing ReactOS in virtual machines (qemu and Virtualbox). At first, I would say, ReactOS should remove the install option from the Live CD. The error message "Userinit failed to start the installer!" is not helpful. It would be better to tell the user, that this CD can't be used for installing ReactOS. And the second problem was, after installing ReactOS from the correct CD, I got a blue screen. The debug log told me "hive header failed". Hmmm. After installing a few times, finally the problem was that the virtual hard disk was too small. I can't remember, that I have seen an error message about that during the install process. Booting worked fine with a hard disk of 5 GB. Later, I saw the disk had about 2 GB of data stored. Previous, my virtual hard disk was only 500 MB big. I don't want to register to the ReactOS forum because of those few problems, and maybe those are my faults. Now its here documented. Ok, ReactOS boots.


The patch: https://download.plop.at/files/bootmngr/plpbt4win-freeldr-patch.zip

Patch instructions:

1) Run the batch script "01-freeldr-patch1.bat". This creates the file "c:\boot.ini".

2) Run "InstallToBootMenu.bat" from the Plop Boot Manager "Windows" directory.

3) Run the batch script "02-freeldr-patch2.bat". This creates the file "c:\plop\plpfreeldr.ldr".

4) Open "c:\freeldr.ini" with an editor.

5) Add in the "[Operating Systems]" section the line
PlopBootManager="Plop Boot Manager"

6) Add at the end of the file the lines
[PlopBootManager]
BootType=BootSector
BootDrive=0
BootPartition=1
BootSectorFile=\plop\plpfreeldr.ldr

7) Save the freeldr.ini file.

8) Optional, if you want, you can remove the dummy file "c:\boot.ini".

Then reboot.

Note: Native loading of the new boot manager from FreeLdr is still on the todo list.

Best regards
Elmar

Well it works. Plop Boot Manager starts normally, 'HDA Partition 1' is loaded when selecting in Plop menu.. but it does not detect an inserted CD-ROM (in this case an .iso mounted in QEMU environment).

Elmar

Its seems, my old cdrom driver has a problem in Qemu and also in VMware. I think it worked years ago. But I am not sure. It works in Virtualbox. I will try to fix it, if there will be a version 5.0.16,

Gerald

'plpcfgbt.exe' and 'plpcfgbtGUI.exe' are the only way to change Plop settings?

Elmar

plpcfgbtGUI.exe is only a frontend for plpcfgbt.exe.

plpcfgbt.exe is the only program to configure the settings for plpbt.bin.

Gerald

What technical tips or specifications could you give me in order to Plop MBR be recognized by FreeLoader (add Plop MBR support in ReactOS bootloader to natively use an installed Plop)?
https://jira.reactos.org/browse/CORE-14868

Or would you like to submit FreeLoader patches to ReactOS Github?

Gerald