Hi!
We can now boot FreeLoader from a CD-ROM.
The bootsector uses the 'no emulation' mode and permits full access to the
CD-ROM, just like the WinNT boot CD. Because the cdfs driver is not able to
read files from a CD-ROM, we cannot boot ReactOS yet.
Some paths must be hardcoded into the bootsector (ISOBOOT.BIN) and
bootloader (aka FREELDR.SYS). Therefore I would like to suggest the
following directory structure for ReactOS CDs:
\REACTOS:
Location for all kernel-mode components (ntoskrnl, hal, drivers,
configuration files) that are used for booting. I don't think we need
architecture-specific directories (i386, alpha, ppc, mips, ia64, etc.)
because one CD should support only one architecture.
\REACTOS\SYSTEM32:
Location for user-mode compoments (ntdll.dll and smss.sys) that are used for
booting. In this case smss.exe is the renamed text-mode installation program
usetup.exe.
\INSTALL:
Location for all packed installation files (.cab files?).
\ (Root directory):
Location for remaining files (autorun.inf, readme.txt, etc.)
HOW TO create a bootable ReactOS CD-ROM
---------------------------------------
I suggest you use a CD-RW rather than a CD-R because you can reuse the
former one. This is important when you want to participate in writing the
startup (FreeLoader.sys) and install (usetup.exe) code.
This description is based on a german NERO 5.0 and 5.5, so some terms might
not be translated properly. Other programs, like WinOnCD, should provide
similar functionality.
1.) Create a new 'disk'. If the disk wizard pops up, close it and choose
'CD-ROM (boot)' on the left side of the dialog.
2.) Click the 'boot options' tab, click 'Image file' and select
'isoboot.bin' from your 'freeldr/bootsect' directory. Then change the
emulation type to 'no emulation' and the 'number of boot sectors' to 4.
(Note: IMO, this is a bug because the sector size of a CD-ROM is 2048 bytes,
not 512 bytes. The number of bootsectors should be 1.)
3.) Click the 'create' button to close the dialog. A new browser window for
the CD-ROM opens.
4.) Create a new directory 'I386' in the CD-ROM browser window.
5.) Add the files FREELDR.SYS and I386 directory and add FREELDR.INI to the
root directory of the CD-ROM.
6.) Now you can save your settings.
7.) Write the CD-ROM.
When you boot the CD, you should see the well known FreeLoader boot menu.
The suggested directory structure and the instructions to create a bootable
CD differ a little due to the hardcoded paths in the bootsector and
bootloader.
I can provide a packed iso image if you don't dare to build your own CD.
Comments, ideas and suggestions are welcome!
Regards,
Eric Kohl
|