Starting by self-made boot-diskette, DOS and GRUB for DOS

Got a ReactOS tutorial to share? Drop it in here

Moderator: Moderator Team

Post Reply
Posts: 36
Joined: Tue Feb 01, 2005 12:13 am
Location: Koenigswinter, near to Bonn, Germany

Starting by self-made boot-diskette, DOS and GRUB for DOS

Post by videlux »

Starting ReactOS 0.3.3 RC 1 by self-made boot-diskette, or by DOS and GRUB for DOS

Here´s the method, how I made my boot-floppy for the present ReactOS-version 0.3.3 RC 1 and furthermore, how to boot ReactOS my means of DOS and GRUB for DOS:


I still had a functional boot-floppy with Freeloader v. 2.1, created with ReactOS version 0.3.0 , maybe even 0.2.9 , at least one of the last versions which allowed to make a boot-floppy during the installation-procedure.
I made a 1:1 copy of this diskette. (Finally only to get a floppy with a working boot-sector)
(Freedos: diskcopy a: b: )
(Linux: dd if=/dev/fd0 of=/dev/ros-boot.img bs=8k count=180 to make an image of the original floppy on my home-directory, then, after introducing an empty floppy:
dd if=/dev/ros-boot.img of=/dev/fd0 bs=8k count=180 )

Take the copied floppy and delete the files freeldr.sys and freeldr.ini

Install ReactOS on your harddisk.
(Maybe also into a virtual machine, e.g. qemu, but I´ve only experimented with installations on real hardware, an older 500 meg and another 1 gig harddisk for experimental purposes.
Two cheap IDE-Harddisk-trays make it quite easy to disk-jockey with those experimental hard-disks)

Copy the two new ROS-0.3.3-related files freeldr.sys and freeldr.ini to your new floppy-disk. Those two files should have been written to the harddisk or virtual disk during the installation procedure

Ready. Now you should be able to boot ReactOS using your boot-floppy, provided, that you have configured your BIOS-settings to boot from floppy.

Problems I met:

It is possible to boot ReactOS with FreeLoader from a floppy disk, but inside ReactOS, the current version (contrary to preceding versions) does not even allow to access a floppy. When typing "a:" inside the DOS-terminal my system immediately freezes.

Since I don´t use any MS-System (otherwise I would not be so curious in the development of ReactOS) I am using FreeDOS and DamnSmallLinux, both able to run a quick-booting live-cd to access the installed ReactOS system, particularly in those cases, that I´m not able to access the system or when I fail to manipulate files from inside ReactOS because of lacking functions.
Inside a running ReactOS be aware, that the guys have implemented MIDNIGHT COMMANDER. You don´t find it in the menu, but you can start it by simply typing "mc" into a terminal or the menu item "run".

I had problems to access freeldr.ini and or freeldr.sys by FreeDOS. I got an error message like "cannot read file freeldr.ini, file does not exist", altough the file existed and was listed by the dir-command. The same is true for several other ROS-files.
Using Linux instead, there was no problem to delete, copy or rename the files.
Does anybody know the reason? Unfortunately I´m not totally shure, but I think of having formatted the Partition by FreeDOS. Maybe this has an affect on the file-allocation functions within FAT?
I like to first install a minimal FreeDOS on the harddisk. Afterwards, when installing ReactOS, ReactOS does accept the partition for installation without forcing to format by ReactOS.
Since ReactOS´ current version does not allow to write the bootloader to a floppy disk, I was urged to allow it to write the bootloader to the harddisk.
As consequence the system starts ReactOS´ Freeloader immediately. Now it is easy to boot ReactOS, but the possibility to boot FreeDOS is lost.
Once more booting FreeDOS by Live CD or by a FreeDOS-boot-floppy that I configured for those purposes,(filled with the standard DOS-tools for the elementary disk-manipulations as fdisk, listing, deleting, formatting and my favorite file-browser "treeview") typing the command "fdisk /mbr" and "sys c:" repairs the system to immediately boot FreeDOS.
Now I can boot FreeDOS directly, whereas to boot ReactOS, I need to start with the ReactOS boot floppy.
It should be possible to edit the freeldr.ini so that you can boot FreeDOS by ReactOS´ FreeLoader, similar to the possibility, to boot a DOS on a FAT-Partition by the boot-loader of a WIN-NT which is installed into that same FAT-partition too. Years ago I did it with windows, unfortunately, at present, I´ve not yet found the necessary syntax.


Having installed a working FreeDOS on the partition, as specified above,
I installed GRUB for DOS into the root directory c:\ and adapted its menu.lst so that it is able to boot all systems I have installed on the disk. I´ve tried grub4dos version 0.4.3 which failed. Returning to the older version 0.4.1 things work fine.
Therefore it is IMPORTANT, NOT TO LOAD any DOS-DRIVERS before starting grub.
For a single test you can avoid to load anything by choosing for single-stepping ( F8 ) and then answering all questions with ´n´o so that no config.sys entries nor the autoexec.bat (if existing) are executed. (Or simply delete or better rename the files fdconfig.sys and autoexec.bat) On the blank DOS-prompt the simple command "grub" starts GRUB.

A more comfortable manner I configured, works like that:

Within config.sys add a menu entry nr 5 for grub:
Add another line:
in fdconfig.sys. directly under the menu entries.
Add another almost empty line
in the end of fdconfig.sys. I needed to do so, otherwise the pre-installed menu did not allow to choose menu-entry nr. 4 (= load FreeDOS without drivers)

In autoexec.bat as first line add:
if "%config%"=="5" C:\GRUB.EXE

With GRUB comes a sample file MENU.LST.
I copied it to the root directory c:\ and added these lines:

title ReactOS
root (hd0,0)
kernel /freeldr.sys

title FreeDOS
chainloader (hd0,0)+1
rootnoverify (hd0)

If your FAT-Partition is different from the first one, say the second one on your first harddisk
then you would write (hd0,1) instead. If you hold two FAT-Partitions on your system, it can be necessary to hide the unused partition. e.g.

title ReactOS
hide (hd0,0)
unhide (hd0,1)
root (hd0,1)
chainloader +1

good luck, videlux

P.S: I had written down these experiences a few days ago. Since I don´t have a quick internet connection yet, I also don´t have the patience to play with all the functionality in the ReactOS wiki.
Maybe anybody would like to transform this text into a WIKI-Howto?

Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest