How to make ReactOS boot, even on a CF-Card, some tips

Ask your support questions in here

Moderator: Moderator Team

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

How to make ReactOS boot, even on a CF-Card, some tips

Post by videlux »

Here are some tips, how to make your experimental OS-installation bootable.

(I was encouraged to write this because of the question of "havas" : "boot from flashdisk" a few threads earlier.)

- If you have a diskette-drive in your computer: Make a freeloader-bootdiskette - by writing it during the installation-procedure, or by downloading it from the ReactOS download-pages. Edit the freeldr.ini, by setting the timeout to some 10 or 30 seconds and set the debugport to debugport=screen.
- If you don't have a diskette drive, but your motherboard still has the appropriate interface, and you like to make some experiments with operating systems, then spend some 5 or 10 Euro to add a diskette drive. For me the possibility to start my experiments using one or several 40-cent floppies, is still the easiest way.
- The settings of the freeldr.ini , that I've mentioned above, are probably also true, when you are able to start the freeloader by other means.
- In the menu of freeloader you can select "Custom Boot" then "ReactOS", there you can try to choose the appropriate settings to start your installation.
(simply try, if you have to start from partition 0 or partition 1 or whatever might be true;
partition(0) can be true even for your second partition, when the first partition is hidden.
I succeeded to install and to start ReactOS on my harddisks 1st, 2nd, 15th and even 20th partition; (all of them dos-formatted to fat32 by means of FreeDOS.) Furthermore I realized a notebook, driven only by a CF-Card-IDE-Drive, able to boot Linux (50MB DamnSmall Linux), FreeDOS and ReactOS, using GRUB as bootmanager.)

- I recommend to install at least a Minimum-FreeDOS on that partition, you like ReactOS to be installed into. If you are not able to boot DOS, something could be wrong with your partition-table entries and the (master-)boot-record.
Or vice-versa, if you are able to boot DOS on a particular partition, then starting ReactOS in the same filesystem should not be a problem anymore.

- Let's consider my harddisk, partition 1 and 2. I have installed FreeDOS and ReactOS on both of them. By means of GRUB as bootloader I am able to choose the partition I want to be started. The other partition is then automatically hidden by GRUB. Example: You want to start the system on hda1 and hide the system on hda2, then the menu-entries need to be (compare "info grub" in Linux, section for DOS/Win)
unhide (hd0,0)
hide (hd0,1)
rootnoverify (hd0,0)
chainloader +1
makeactive
boot

There are similar functions in LILO, but unfortunately I had no success to boot ReactOS using LILO.
- Sometimes I have difficulties to start ReactOS. For example, when I had started DOS on partition two, using LILO, partition two stays marked as active. If now I try to boot ReactOS on partition one, using my freeloader-boot-diskette, I get the same error as you mentioned.
(Reactos cannot find partition one, because it is hidden now, and partition one is not yet marked active, but still the wrong partition two)
Then I shortly start again, activating FreeDOS on partition one. Restart. Now, ReactOS is able to boot too.
(Probably I could solve my problems by makin a boot-diskette with GRUB-bootloader and adding the above listet lines to the GRUB-bootloader to set the correct switches immediately, when choosing ReactOS to start. I shall try later)
Nevertheless, these things can easily happen when you are testing, particularly late in the evening, or when you are a bit worried by other circumstances;-)

What's wrong when DOS doesn't boot

When trying to make DOS bootable, consider these rules, because one easily forgets the one or other step:
- make or remake a dos-partition by fdisk, if necessary. Mark it bootable! When doing this, using linux, don't forget to mark the partition "type c".
- prepare it by:
"dd if=/dev/zero of=/dev/hda1 bs=512 count=1" if hda1 is your DOS-partition. DON'T DO THAT, if you have another Operating System installed there, which you don't want to loose. Then consider to make place for another partition.
- Boot DOS by Diskette or CD, (or maybe by an already existing other DOS partition on your harddisk.)
- Use fdisk now, only to check, if the drive letter, normally "C" corresponds to the partition you really want to change or to administrate.
Look for the size of the partition in question. Drive letters may have changed, when a partition is hidden.
- Now format your new DOS-partition, format C: (or format C: /U, when you are prepared to loose all data),
(If an existing DOS-partition has already the correct format, you may try to continue without formatting and loosing data)
- then -important- transfer the system to that dos-partition, using the command "sys c:" (Herewith you have the chance, to repair a DOS-Installation which doesn´t boot any more, for example after an OS-installation-test which had changed the mbr.)
Or when you are busy with a new, empty DOS/ReactOS-partition simply let FreeDOS install at least its minimum files (kernel.sys, command.com, fdconfig.sys autoexec.bat) to that partition. FreeDOS 1.0 release is available, the installation procedure is quite comfortable.
- Now make the test, if you are able to boot FreeDOS.
- When this works, then go ahead installing ReactOS. (Or also copy an existing ReactOS-installation; but be aware of differences in the settings, which may need to be adapted. e.g. the entry partition(0) or partition(1) in freeldr.ini, or the name of your ReactOS-subdirectory, if you have chosen a name different from "ReactOS"

Booting ReactOS from inside DOS:

There exists GRUB for DOS.
On my PII-Notebook I am able, first to start GRUB from inside the running DOS, then I can start ReactOS by the appropriate GRUB-entry:
title ReactOS
root (hd0,0)
kernel /freeldr.sys DefaultOS=ReactOS TimeOut=10

On my AMD-XP2400 system however, GRUB for DOS doesn't work. Don't know the reason yet. It complains about the wrong DOS-version, although it´s the same as on my notebook.

Preparing a CF-Card to install bootable OSes:

When experimenting with CF-Cards I strongly recommend to save and to write down, or print if possible, all the settings of the total new chip-card.
1.) Save the original master-boot-record; example of a Linux-command: dd if=/dev/#### of=/root/bu-mbr-cf-card.mbr bs=512 count=1
#### depending on how you have connected the CF-Card to your system, e.g. sda, sdb, sr0, hdc, hda;
2.) look into the partition table of the chip-card. Take notice of the CHS (Cylinder Head Sector) translation, starting end ending sectors; use the command to print the raw data, look if they end with the magic bytes 55AA.
Therefore I used linux-fdisk in the expert-mode. Only read the entries, write down manually and quit fdisk without writing.
I once had troubles after repartitioning the CF-card, because fdisk had automaticaly changed those entries. I was not able to boot an installed DOS, until I decided to reset the original partition-table. First I did not have any record. But I was happy to have a second CF-Card, a cheaper one of small capacity, but so I could reconstruct the original settings of my false configured one.

Written by videlux, 2006-Sept-25

Post Reply

Who is online

Users browsing this forum: No registered users and 5 guests