A Layman's Guide - Installing from a USB memory stick

From ReactOS Wiki
Jump to: navigation, search
A Layman's Guide

By Oldman

List of guides
  1. Testing Requirements
  2. Getting an ISO to Test
  3. How to Compile ReactOS
  4. How to Get a debug log
  5. How to Create a JIRA Issue
  6. How to Use log2lines
  7. Regression Testing
Supplementary guides
  1. ReactOS Installation Stages
  2. Installing from a USB memory stick
  3. Altering files in an ISO
  4. Making wallpaper available in an ISO image
  5. Freeloader boot options
  6. Miscellaneous

Because USB support is not as yet mature, the only reliable way to install ReactOS from a USB memory stick, is to use the RamDisk method.

RamDisk boot instructions (Windows).

Make a bootable usb memory stick with Rufus (install version https://github.com/pbatard/rufus/releases/download/v3.10/rufus-3.10.exe or portable version https://github.com/pbatard/rufus/releases/download/v3.10/rufus-3.10p.exe) to install ReactOS from a RamDisk.

Put the stick in a usb port and start Rufus. You will see that Rufus has detected the stick, if it displays the label or the manufacturer's product name under device. If you have more than one device attached to your computer, then you will have to activate the drop down list under device and select the correct USB stick. Next, activate the drop down list under Boot selection and select System linux 6.04. If everything is as in Rufus No2 screenshot, then click on Start.

If Rufus fails to download ldlinux.c32 (you will get an error message), continue with Rufus and let it create the bootable USB stick, but you will need to download the package syslinux-6 from: https://mirrors.edge.kernel.org/pub/linux/utils/boot/syslinux/syslinux-6.03.zip or newer versions from: https://mirrors.edge.kernel.org/pub/linux/utils/boot/syslinux/

Extract the syslinux zip. Then in the extracted folder, go into the bios folder, then into the com32 folder, then into the elflink folder, then into the ldlinux folder where you will find ldlinux.c32. This is my example path to ldlinux.c32 where syslinux zip was extracted to the folder syslinux-6.03:

\syslinux-6.03\bios\com32\elflink\ldlinux\ldlinux.c32.

Copy ldlinux.c32 and paste it into your bootable USB stick.

You now need to download usbramboot package from: https://svn.reactos.org/packages/usbramboot.zip. Extract the files (freeldr.ini, freeldr.sys, libcom32.c32, mboot.c32, syslinux.cfg) and copy all of them, then paste them into your bootable USB stick.

Next, you will need the ReactOS ISO file which you are going to install. The ISO needs to be called bootcd.iso or livecd.iso, so you will have to change the name from some thing like this: reactos-bootcd-0.4.15-dev-95-g7895704-x86-gcc-lin-dbg to just bootcd.

Reason: the ini file looks for that short name and if you do not change it, you will get the following error message.

Failed to load RAM disk file 'bootcd.iso'
OK
Loading RamDisk...

 

Now copy the ISO file to the usb drive.

If the contents of the bootable USB stick are the same as in the Folder contents image in the Screenshots section, you are done and ready to use it.

Warning: Anti-virus software may interfere with the process by quarantining something that it thinks is malicious, so it may be advisable to disable your anti-virus software until you have created the bootable USB stick.

TIP:
Once you have a bootable USB stick, all you need to do to update it with a newer version of ReactOS, is to delete the old ISO file from the stick and replace it with the newer version, but remember that you will have to shorten the ISO's name to just bootcd or livecd.

Booting

Before trying to boot from your USB stick, make sure that the BIOS will boot from it first; you may have to change the boot order in the BIOS setup.

The loading of the RamDisk, on older computers and with a USB 1.1 memory stick, can take almost three and a half minutes, but the actual installation process is much quicker than from a CD/DVD. The progress bar moves in stages and it may look like the process has stopped.

Once the first stage of the installation is complete, you will need to edit the running freeloader, in order to boot the next 2 stages.

Editing freeloader

When just starting to boot into the second stage, you will need to make a change in freeloader, to change the rdisk() number (If you forget, you will get an error window Opening hive file failed!, just press the Enter key to get you back). To make the necessary change, just follow these next steps:

Please select the operating system to start:

  ReactOS
  ReactOS (Debug)
  ReactOS (RosDbg)
  ReactOS (Screen)
  ReactOS (Log file)
  ReactOS (RAM Disk)
  ReactOS (Emergency Management Services)

For troubleshooting and advanced startup options for ReactOS, press F8.

At the above screen, press F8, but make sure that the boot menu that you want to boot, is highlighted.

select an option:

Safe Mode
Safe Mode with Networking
Safe Mode with Command Prompt
-------------------------------------------||
Enable Boot Logging
Enable VGA Mode
Last Known Good Configuration
Directory Services Restore Mode
Debugging Mode
FreeLdr debugging
-------------------------------------------||
Start ReactOS normally
Edit Boot Command Line (F10)
Custom Boot
Reboot

At the above screen, select Edit Boot Command Line (F10) and press the Enter key.

Enter the path to your ReactOS system directory.

Examples:

\REACTOS

\ROS

 multi(0)disk(0)rdisk(0)partition(1)\ReactOS        

In the above window, if the line multi(0)disk(0)rdisk(1)partition(1)\ReactOS (which is in an input box), shows rdisk(1) then alter it to rdisk(0) and press the Enter key, then at the next screen, press the Enter key, then press the Enter key, to boot the selection. You will need to do it again at the beginning of stage three as well as at the beginning of stage two. But once you have booted successfully in stage three, you can go into C:\ and open freeldr.ini, then scroll down and find the section entries (as shown below) that correspond with the boot select menu, such as [ReactOS], [ReactOS_Debug], [ReactOS_Screen], [ReactOS_LogFile] and then change the rdisk(1) to rdisk(0), then save.

Now next time you boot you should be able to boot into the desktop without the error window Opening hive file failed!.

This (below) is the section that you need to find in freeldr.ini, with the suggested modes, rdisk(1) entries changed.

[ReactOS]
BootType=Windows2003
SystemPath=multi(0)disk(0)rdisk(0)partition(1)\ReactOS

[ReactOS_Debug]
BootType=Windows2003
SystemPath=multi(0)disk(0)rdisk(0)partition(1)\ReactOS
Options=/DEBUG /DEBUGPORT=COM1 /BAUDRATE=115200 /SOS

[ReactOS_KdSerial]
BootType=Windows2003
SystemPath=multi(0)disk(0)rdisk(1)partition(1)\ReactOS
Options=/DEBUG /DEBUGPORT=COM1 /BAUDRATE=115200 /SOS /KDSERIAL

[ReactOS_Screen]
BootType=Windows2003
SystemPath=multi(0)disk(0)rdisk(0)partition(1)\ReactOS
Options=/DEBUG /DEBUGPORT=SCREEN /SOS

[ReactOS_LogFile]
BootType=Windows2003
SystemPath=multi(0)disk(0)rdisk(0)partition(1)\ReactOS
Options=/DEBUG /DEBUGPORT=FILE /SOS

[ReactOS_Ram]
BootType=Windows2003
SystemPath=ramdisk(1)\ReactOS
Options=/DEBUG /DEBUGPORT=COM1 /BAUDRATE=115200 /SOS /RDPATH=reactos.img /RDIMAGEOFFSET=32256

[ReactOS_EMS]
BootType=Windows2003
SystemPath=multi(0)disk(0)rdisk(1)partition(1)\ReactOS
Options=/DEBUG /DEBUGPORT=COM1 /BAUDRATE=115200 /SOS /redirect=com2 /redirectbaudrate=115200

You only need to change the entries for the modes that you will be using.

Screenshots

Press any key to boot from the ReactOS medium....
(Folder contents)


Layman's guides

Other useful pages:

ReactOS Development Wiki Installing_ReactOS