- 1 Getting ReactOS
- 2 Creating the ReactOS Setup CD-ROM
- 3 Installing ReactOS on a real machine
- 4 Installing ReactOS on the Bochs emulator
- 5 Installing ReactOS on the VMware emulator
- 6 Limitations
- 7 ReactOS boot options
Currently, ReactOS setup CD-ROMs cannot be bought in stores nor ordered. If you want to install ReactOS on a computer, you will have to create a ReactOS setup CD-ROM by yourself, downloading an image file and writing it to CD-R or CD-RW media with a CD writer. Downloading the image of the ReactOS Setup CD-ROM
Creating the ReactOS Setup CD-ROM
- The file you downloaded is a compressed archive in ZIP format, containing a single file named "reactos.iso". This file is the image file of the ReactOS setup CD-ROM in ISO format
- Extract the image file from the archive into a temporary directory
- Write the image file onto CD-R or CD-RW media
Installing ReactOS on a real machine
From a Setup CD-ROM
- Insert the ReactOS setup CD-ROM into a CD-ROM drive and reboot your computer. On the next boot, the ReactOS setup utility will start.
- Follow the instructions on the screen to install ReactOS on your computer.
- After the installation has finished, remove the setup CD-ROM from the CD-ROM drive and press "Return" to reboot your computer. Now, you can start ReactOS by selecting it from the boot menu.
Modifications performed to the Hard Disk to boot ReactOS
FreeLoader, the ReactOS boot loader, is composed by two files: an executable (FREELDR.SYS) and a configuration file in Windows INI format (FREELDR.INI). The two files are copied to the root directory of the active partition
The FreeLoader boot code, that is the small program that loads FREELDR.SYS, can be installed in many ways, depending on the pre-existing operating system. The setup logic tries the following steps in order:
- If the Windows NT/2000/XP boot manager is found on the active partition, the existing boot manager is configured to boot ReactOS. The FreeLoader boot code is written to a file named BOOTSECT.ROS in the root of the active partition, and an entry named "ReactOS" is added to BOOT.INI pointing to BOOTSECT.ROS.
- The Windows NT/2000/XP boot manager is detected by the presence of the files NTLDR and BOOT.INI in the root directory of the active partition
- To uninstall FreeLoader, delete the file BOOTSECT.ROS and remove the "ReactOS" entry from the hidden BOOT.INI file.
- If MS-DOS or Windows 95/98/ME is found on the active partition, the original boot sector is saved to a file named BOOTSECT.DOS in the root directory of the active partition. The FreeLoader boot code is then written to the boot sector of the active partition. FreeLoader thus becomes your primary boot manager, and from its boot menu you will be able to boot both ReactOS and your pre-existing operating system
- MS-DOS and Windows 95/98/ME are detected by the presence of the files MSDOS.SYS and IO.SYS in the root directory of the active partition
- To uninstall FreeLoader, boot from a MS-DOS or Windows Restore floppy disk, and run the command "SYS C:". After this, the BOOTSECT.DOS file can be safely deleted
- If none of the known operating systems is found on the active partition, the original boot sector is saved to the file BOOTSECT.OLD in the root directory of the active partition. The FreeLoader boot code is then written to the boot sector of the active partition. FreeLoader thus becomes the primary boot manager. Note that you will have to edit the FREELDR.INI configuration file by yourself to boot the pre-existing operating system, because FreeLoader has no knowledge of how to do it.
- To uninstall FreeLoader, restore the boot sector of the active partition from the BOOTSECT.OLD file. The details on how to do so are dependent on the operating system you are running
Note: If the active partition uses a FAT32 filesystem, the boot code does not fit into a single sector. Microsoft uses sectors number 0 and 12, while FreeLoader uses sectors number 0 and 14, so there should not be any conflicts with existing boot loaders.
Note: The support for other operating systems will be improved in the future
Installing ReactOS on the Bochs emulator
An emulator is a software program that provides a virtual hardware platform. Software instructions that would be run on hardware are now interpreted by the emulator software. This allows you to "run" a different kind of computer hardware and its software in a window on your computer. Although the performance of the software run on a virtual computer will be much slower than on real hardware, it provides several advantages:
You can try out a completely different operating system without tinkering with your real system. You can run potentially unstable software without the fear of damaging your real system. For operating system developers, it provides a way to debug the system without constant reboots.
Bochs (pronounced "box") is an emulator written for the PC. It can run on both DOS/Windows and Linux operating systems. It emulates an x86 hardware system and has emulation for the 386, 486 and Pentium CPUs. It also provides IO port and BIOS emulation. Bochs can run Linux, DOS, Windows 95, Windows NT 4, ReactOS and many other operating systems. The software was initially written by Kevin Lawton and is now maintained by the Bochs SourceForge project. Although this project provides the latest Bochs binaries, we recommend that you test ReactOS with the Bochs binaries provided by our reactos.com download page.
Downloading and Using Bochs with ReactOS
The reactos.com site provides several Bochs distributions: ReactOS disk images only.
These downloads are available from the same page as the ReactOS binaries on reactos.com (under Software, ReactOS).
If you want to use an emulator other than Bochs, then the disk images only download would be more useful. Disk images only are also useful if you want to try out a newer version of ReactOS and already have Bochs. The Bochs only download is useful for when an updated version of the Bochs emulator is available on the reactos.com site.
MTools are used to copy files to and from the disk images. Run mtinst.bat to have MTools configure properly. This batch file copies the mtools.exe file to the various MTools commands (eg. mcopy, mmd). These files are used by binst.bat (used to update the ReactOS files on the virtual disk).
To upgrade the ReactOS files on the virtual disk, copy the ReactOS binary distribution directory (named reactos) into the directory where Bochs is installed. Then run binst.bat to copy the new files into the virtual disk (be sure to have run mtinst.bat at some time in the past before doing this).
Running ReactOS under Bochs
Run the freeldr.bat file in the Bochs directory. To switch to booting with FreeDOS, run the freedos.bat file.
Installing ReactOS on the VMware emulator
A Virtual Machine is a software program much like an emulator that provides a virtual hardware platform. Software instructions that would be run on hardware are caught buy the virtual environment and depending on the instruction are either run on the native CPU or emulated in software. Virtual Computing allows for much fast operation then standard emulation as a result of the ability to run the majority of the instructions on the Native CPU. This process allows you to run a virtual computer in software on your computer. The performance of the software on a virtual computer will be only slightly slower than on real hardware. Overhead can still be a problem for disk IO and CPU instructions that must be emulated but in general it is much faster then a total emulation system.
- You can try out a completely different operating system without tinkering with your real system.
- You can run potentially unstable software without the fear of damaging your real system.
- For operating systems developers, it provides a way to debug the system without constant reboots.
- The performace is much faster then a true emulator such as bochs.
VMware is a popular commercial virtual machine for the x86 CPU family. It can run on Windows NT, 2K, XP and Linux/FreeBSD. It also provides IO port, BIOS emulation, networking and sound support. VMware can run a number of different "guest" operating systems including *DOS, Windows 9x/NT/2K/XP, ReactOS, Free Unices (*BSD, Linux) as well as many others. VMware is free for 30 days, after that you must purchase a license from their website.
Currently, ReactOS has limited hardware support. A list of the most important limitations follows:
- ReactOS needs at least 32 MBs of RAM to boot, it can be run on 24MB although that's not recommended.
- ReactOS can only be booted from IDE CD-ROMs and hard disks.
Note that booting from CD-ROM is supported only for running the setup program unless you're using the LiveCD option, which is meant to be booted of the CD-ROM continuously. Otherwise booting from CD-ROM for normal use is not recommended. Altough it is generally possible, the default configuration will prevent ReactOS from creating a swap file when booted from a CD-ROM. If no swap file is available, ReactOS will stop as soon as it runs out of RAM. In practice, this prevents the use of any non-trivial program
Setup and Boot
Currently, the ReactOS setup utility and boot loader have a number of limitations you should be aware of:
- ReactOS can only be installed on FAT16 or FAT32 partitions.
- The active partition must be a FAT16 or FAT32 partition.
- The setup utility can create filesystems in the FAT32 format only. This means you can't create a filesystem on partitions smaller than approximately 500 MBs with the Setup Utility
- The setup utility can't check the integrity of filesystems.
- The setup utility will not prevent users from performing dangerous and potentially destructive operations. Be very careful when using it and do not take any warnings lightly.
ReactOS boot options
Kernel command line
The kernel command line is a text string that is passed to ReactOS by the boot loader (usually FreeLoader). It consists of several switches, each of which has a special meaning to ReactOS. A switch is a forward slash (/) followed by a text string (the name of the switch), and optionally an equal sign (=) and a text string (the value). If the equal sign (=) is present, then the value is required. In FreeLoader the kernel command line is specified in an Options setting in freeldr.ini. Here is an example:
- Boot ReactOS from drive C
[ReactOS] BootType=ReactOS SystemPath=multi(0)disk(0)rdisk(0)partition(1)\reactos Options=/DEBUGPORT=SCREEN
/DEBUGPORT is a boot option. It tells ReactOS to print debugging information to the screen.
Will enable some debugging features.
SCREEN: Send debug output to the screen. BOCHS: Send debug output to bochs. GDB: Enable the GNU debugger stub so remote debugging using GDB is possible. PICE: Enable the Private ICE driver so debugging using Private ICE is possible. COM1: Send debug output to COM1. COM2: Send debug output to COM2. COM3: Send debug output to COM3. COM4: Send debug output to COM4. FILE: Send debug output to a file (which file?). MDA: Send debug output to MDA (what is this?).
Specifies baudrate of the serial port to be [baudrate] bps. Used in conjunction with COM1-4 or GDB.
Specifies IRQ number of the serial port to be [irq-number]. Used in conjunction with COM1-4 or GDB.
Enables profiling. Profiling information will be written in %windir%\profiler.log. This will slow down the system quite a bit.
Will restrict ReactOS to use only the first [maxmem] MB of physical memory