Overview: ReactOS Testing on Real Hardware

Got a ReactOS tutorial to share? Drop it in here

Moderator: Moderator Team

Locked
SomeGuy
Posts: 586
Joined: Mon Nov 29, 2004 9:48 am
Location: Marietta, GA

Overview: ReactOS Testing on Real Hardware

Post by SomeGuy »

Currently, ReactOS does not get much testing on real hardware. Most development and testing is done for VirtualBox, VMWare, and QEMU. You can help keep ReactOS compatible with common hardware by periodically testing your real hardware and let us know when something breaks.

More than likely you will be trying things that no one has tried before. Think of it as an adventure in to a wild frontier!

Be warned that ReactOS is "alpha" quality software. It is not currently ready to replace any existing OS.

What should you expect? Random BSODs, freeze ups, file system corruption, constant re-installation, incompatible drivers, random regressions, and it may not even boot at all. A good understanding of PC hardware and advanced Windows troubleshooting is essential.

Hint: If you are not familiar with ReactOS yet, you may wish to familiarize yourself with it first by running it in a virtual machine such as VirtualBox.

This is a high-level overview for installing and testing ReactOS on a real hardware environment. There are many, *many* different ways to do this, but these are methods I have found work well.

If you encounter a specific problem you wish to discuss, please create a post on the discussion or support sections of this forum.

So what do you need?:

You will need a machine, or at least a hard drive, dedicated to ReactOS. No important OS or files should be installed on it, or any connected drives.

The minimum requirements for ReactOS are:

*Pentium 1 or higher
*128 megabytes of ram (actual minimum can vary but 128 usually works)
*IDE/SATA controller supported by UniATA.
*IDE/SATA CD-ROM drive attached to the supported controller for installation.
*512 megabytes of hard drive space minimum for installation (more recommended).
*PS/2 compatible keyboard and mouse.
*Vesa 2 compatible video required for high resolutions.

For a list of tested NICs, sound cards, and other devices see http://www.reactos.org/wiki/Supported_Hardware

USB Flash drive, mouse, and keyboard support are in the works, but are currently likely to not work reliably or at all on real hardware.

For debugging, your motherboard must have a built in serial COM port. PCI/PCIe serial cards can also work, but require specifying the PCI I/O address as a boot parameter.

Also for debugging, you will need a nullmodem cable and a second computer with a COM port to act as a terminal.

For complete details on debugging see: http://www.reactos.org/wiki/Debugging

Installation:

Hint: If you wish to get a general idea of if ReactOS will run at all before installing to a hard drive, try booting a Live CD first.

For installing ReactOS you should use rewritable CD-RW media. You will likely need to update builds often.

I suggest the following partitionion configuration.

C: FAT32 ReactOS partition
D: FAT32 Shared data
E: FAT32/NTFS/Other Operating system <- do not put important stuff on this drive!

If you are comfortable with the speed of loading your other OS from a USB, CD, or other media then you may omit E:. In practice having a second OS immediately available for boot makes moving data between other systems and ReactOS much easier, as well as diagnosing filesystem problems.

Set up partitions using whichever disk utility you prefer. Use MBR partitions. GUID Partition Table partitions are not supported. Currently ReactOS only works with FAT16/FAT32 partitions.

Install your other OS to E: (or whatever ID the last drive is assigned)

CREATE A BOOT LOADER FLOPPY OR USB drive. Installing ReactOS *WILL* overwrite the hard driver's OS boot loader.

Copy files for ReactOS testing to D: (Such as games/applications/drivers/etc)

Install ReactOS to C:. (Boot from the Boot CD and accept all the defaults)

To boot back to your other OS, start up from your Floppy or USB.

What to test:
Included ReactOS drivers - It is very helpful to test the drivers included with ReactOS against real hardware devices. Both in standard and less common configurations. This includes motherboard chipsets, IDE/SATA chipsets, CD drives, hard drives, USB chipsets, Mice, Keyboards, and USB Flash drives.
Manufacturers supplied drivers - The detailed results of Network, Sound, and SCSI cards of different varieties and configurations can be useful, especially in the event of a regression.

Applications testable inside a VM need not be tested on real hardware. For application testing, please see Overview: ReactOS testing in a VM

Note: Due to current filesystem corruption issues, it is advisable to reboot after installing or reconfiguring any piece of software.

Status of device compatibility:
Standard hardware (PS/2 devices, floppy drives, serial ports, hard drives, CD drives): ReactOS provides drivers for these devices. Over all they work, but there are many known and yet unknown issues. It is extreemly helpful to test and verify that these devices are working.
NIC: Most Windows XP/2003 and some NT4/2000 drivers should currently work. It is very helpful to test NICs and report regessions. It is also very helpful to test different NICs that have not already been tested.
Sound: A few sound cards are known to work using XP/2003 drivers. If you happen to have one that works, it is very helpful to test for regessions.
I/O Controllers: Except for a few SCSI drivers, most third party storage drivers do not currently work yet.
USB Flash drives, Mice, Keyboards: USB support has just been implmented in ReactOS. Many USB chipsets and devices are known to not work right yet. Third party drivers that utilize the USB stack probably will not work yet.
Video: There is no user-facing way to add a video driver yet. Most video drivers are not yet stable enough to use yet anyway.
Printers: No printing subsystem exists at all yet.

So your hardware worked? AWESOME!

Please let us know what devices you tried that worked or failed. Currently you may edit the Supported Hardware Wiki pages to include your hardware or add additional comments about it.

You may also include hardware test results in the ReactOS Compatibility Database.

Of course, feel free to post about it on the forums!

Use Bugzilla to report bugs.

Troublshooting:
ReactOS can get hung up on certain integrated motherboard devices. A few common things to try:

Disable USB.
Disable USB "legacy mode". (Warning: If you use a USB keyboard this may reqire you to attach a PS/2 keyboard to get back in to BIOS)
Disable on board Sound.
Enable IDE compatibility mode.
Disable other integrated devices.

Try replacing the UniATA.SYS driver with the ATAPI.SYS driver on the boot CD.
Test UniATA under Windows XP/2003 to verify compatibility with your disk controller chipset.

If you are trying to install a driver, please use its "inf" installer instead of a setup application.

Getting a crash log:

ReactOS has an interactive kernel debugger that is used to provide technical details about a crash.

On real hardware, the only way to get a complete crash log is to use a terminal program on a second computer connected to your testing computer via a nullmodem cable attached to each computer's COM port.

For full details on nullmodem cables and debugging, see: http://www.reactos.org/wiki/Debugging and http://www.reactos.org/wiki/Kdbg

Set your terminal program to capture received text.
Start ReactOS in Debug mode.
Run ReactOS to the point where you would get a BSOD.
Instead of seeing a BSOD, ReactOS will appear to "freeze".
On your terminal screen you will see a "kdb:>" prompt.
On the keyboard of your ReactOS computer, type "bt" and hit enter. Watch the output for additional prompts.
When you have all output, save/close the text file as needed.

Note: currently the first stage BootCD setup defaults to taking input from the terminal instead of the ReactOS keyboard.

Regression testing:
If the bug you encountered is something that previously worked, then you should attempt to determine specifically which build revision was the first to exhibit the bug. This is very helpful as it is a simple but tedious and time consuming thing to do.

1: Start by noting the revision number of the current build you tested. (And double check it is still the latest and the problem persists)
2: Then locate an older build where this worked. Install, and confirm it worked. Use rewritable CD-RW media for this process.
3: Locate a build half way between the last one that the bug exists in and the last one that it doesn't.
4: Install, and note if the bug exists or not in this revision.
5: Go back to step 3 until it is narrowed down to a single revision.

Reporting a bug:
First, do your best to search through existing bugs in the Bugzilla database to ensure that your issue is not already reported.

What to include in a bug report:

This is similar to reporting an application bug, but you must provide much more detail about your hardware.

Again, the most important thing to include is sufficient information for someone else to replicate the bug.

* The specific ReactOS revision and build you tested.
* VERY specific details about the motherboard and configuration. (Chipset numbers, PCI cards, HD/CD connection settings, etc).
* If needed, use a program such as AIDA32/Everest to provide complete details (You may need to run this under Windows XP/2003 if ReactOS will not boot).
*Include the exact name and exact version of the tested driver or application.
*The exact vendor, model, and revision of the hardware device the driver is running against.
*If the driver or application is not well known, provide a link to where others can obtain it.
*A description of the actions taken to consistently encounter the problem.
*A detailed description of the problem you are encountering.
*The problem should be very specific.
*If this is something that worked in a previous build, then specify which build first exhibited the problem.
*If a crash occurs, then *attach* your log with a backtrace. DO NOT COPY/PASTE THE ENTIRE LOG IN TO THE BODY OF THE BUG REPORT!
*To aid future searches you MAY copy and paste the last several lines before the crash in to the body of the bug report if they seem relevent.

For the full bug reporting guidelines, see: http://www.reactos.org/wiki/File_Bugs

What to expect:
Unfortunately, at this point ReactOS developers can provide only limited help with problems on real hardware. Almost every PC is unique and may have a unique configuration. Even seemingly identical devices can have radically different behaviors. Unless you can send the developers an identical machine, you will likely have to do debugging and patch testing yourself.

However, your reports can be very useful for future development and for others who want to perform similar tests.

Occasionally you may need to compile a custom version of ReactOS yourself with extra debug options or patches. See http://www.reactos.org/wiki/Building_ReactOS on how to set up a build environment and compile.

Try not to pull all of your hair out when you discover it is a complex timing issue and magically "works" when debugging is enabled. :P

Periodically retest to see if the bug is fixed. Often general rewrites and improvements will fix bugs without any knowledge of your specific bug report.
Acamapichtli
Posts: 38
Joined: Thu Oct 25, 2012 6:41 am
Location: México, D.F. Coyoacán

Re: Overview: ReactOS Testing on Real Hardware

Post by Acamapichtli »

¿Why not form a committee to conduct extensive testing of hardware and create a seal of certification?
also a good idea to establish dialogue with computer hardware manufacturers.
Sorry for my bad english.

I have a post with that subject.
¡I want ReactOS!

Im spanish speaker not english speaker, sorry for my bad english.
hbelusca
Developer
Posts: 1204
Joined: Sat Dec 26, 2009 10:36 pm
Location: Zagreb, Croatia

Re: Overview: ReactOS Testing on Real Hardware

Post by hbelusca »

Acamapichtli wrote: [...]
also a good idea to establish dialogue with computer hardware manufacturers.
[...]
In my opinion, I think Microsoft would begin to feel threatened by this procedure.
Alahndro
Posts: 137
Joined: Thu Jun 25, 2009 2:04 pm

Re: Overview: ReactOS Testing on Real Hardware

Post by Alahndro »

As can be seen in my hardware thread (http://www.reactos.org/forum/viewtopic.php?f=14&t=9797)
i have a whole set of different computers build at home, and i've already configured some for realhw testing reactos on them, as in the end i want ros to run on all of them...

I can provide a whole pile of logs, as i already begun to. The problem for me is where to put them? should i open a new bug for every machine? or for every device that may cause troubles? or should i sort them after the kind of bug (acpi/usb/...)

I'm planning for the next days to reinstall all my computers and now put ros in fornt of them on the first partition, as the freeloader is the most kind and compatible bootloader from where i can jump to any windows partition. You can't do that with ntldr or bcd that easy! (just be sure that the target partition is set active before you install windows, then it's bootloader will always stay on the same partition and later can easily be called by freeloader's F8-Menu. And if that fails I'll simply change it back via a floppy with ranish partition manager on it ;) ).
Acamapichtli
Posts: 38
Joined: Thu Oct 25, 2012 6:41 am
Location: México, D.F. Coyoacán

Re: Overview: ReactOS Testing on Real Hardware

Post by Acamapichtli »

hbelusca wrote:
Acamapichtli wrote: [...]
also a good idea to establish dialogue with computer hardware manufacturers.
[...]
In my opinion, I think Microsoft would begin to feel threatened by this procedure.
Yes, but Microsoft has already enough problems with Android. could also limit the amount to a minimum, for example.
processors: AMD, VIA Technologies inc., IBM and ARM (some models)
Motherboard: Raspberry Pi and Asrok.
Sound Card: Realtek.
Network: Realtek.
etc.
for these cases is to serve the committee overseeing the hardware.
Alahndro wrote:As can be seen in my hardware thread (http://www.reactos.org/forum/viewtopic.php?f=14&t=9797)
i have a whole set of different computers build at home, and i've already configured some for realhw testing reactos on them, as in the end i want ros to run on all of them...

I can provide a whole pile of logs, as i already begun to. The problem for me is where to put them? should i open a new bug for every machine? or for every device that may cause troubles? or should i sort them after the kind of bug (acpi/usb/...)

I'm planning for the next days to reinstall all my computers and now put ros in fornt of them on the first partition, as the freeloader is the most kind and compatible bootloader from where i can jump to any windows partition. You can't do that with ntldr or bcd that easy! (just be sure that the target partition is set active before you install windows, then it's bootloader will always stay on the same partition and later can easily be called by freeloader's F8-Menu. And if that fails I'll simply change it back via a floppy with ranish partition manager on it ).
Great, that's good that you are testing with real hardware I wish him luck. But the problem that I noticed, after seeing the hardware specifications,
It will not be possible for most to get the same parts and that some have years above.
¡I want ReactOS!

Im spanish speaker not english speaker, sorry for my bad english.
guest
Posts: 1
Joined: Mon Apr 02, 2018 6:44 pm

Re: Overview: ReactOS Testing on Real Hardware

Post by guest »

Hi,
I downloaded the OS and am trying to get it loaded on an older computer. The computer is a DELL with Intel Pentium 2.8 GHz processor with 512 MB of Memory.

I burned a CD and it gets through Loading boot drivers and then just a black screen and nothing more happens.

What am I doing wrong?
Thanks
Terry
User avatar
EmuandCo
Developer
Posts: 4722
Joined: Sun Nov 28, 2004 7:52 pm
Location: Germany, Bavaria, Steinfeld
Contact:

Re: Overview: ReactOS Testing on Real Hardware

Post by EmuandCo »

Well, first thing... Thread necromancy is the first thing you do wrong. Some logs not being available , which ROS version you used not being available... etcetc. And check my sig
ReactOS is still in alpha stage, meaning it is not feature-complete and is recommended only for evaluation and testing purposes.

If my post/reply offends or insults you, be sure that you know what sarcasm is...
Locked

Who is online

Users browsing this forum: No registered users and 7 guests