- Add a script for creating a Hybrid-CD (combined Boot-CD & Live-CD).
authorColin Finck <colin@reactos.org>
Wed, 10 Mar 2010 16:05:55 +0000 (16:05 +0000)
committerColin Finck <colin@reactos.org>
Wed, 10 Mar 2010 16:05:55 +0000 (16:05 +0000)
  Kudos for this go to Andrew Greenwood, I just scripted his way of creating the disc.
- Combining them also requires changing the Live-CD directory in the kernel to "live", which renders regular Live-CDs created in this tree unbootable.

svn path=/branches/ros-branch-0_3_11-clt2010/; revision=46059

reactos/hybridcd_freeldr.ini [new file with mode: 0644]
reactos/hybridcd_step1.cmd [new file with mode: 0644]
reactos/hybridcd_step2.cmd [new file with mode: 0644]
reactos/ntoskrnl/io/iomgr/arcname.c

diff --git a/reactos/hybridcd_freeldr.ini b/reactos/hybridcd_freeldr.ini
new file mode 100644 (file)
index 0000000..848c373
--- /dev/null
@@ -0,0 +1,32 @@
+[FREELOADER]\r
+DefaultOS=ReactOS\r
+Timeout=10\r
+\r
+[Display]\r
+TitleText=ReactOS @ CLT2010\r
+StatusBarColor=Cyan\r
+StatusBarTextColor=Black\r
+BackdropTextColor=White\r
+BackdropColor=Blue\r
+BackdropFillStyle=Medium\r
+TitleBoxTextColor=White\r
+TitleBoxColor=Red\r
+MessageBoxTextColor=White\r
+MessageBoxColor=Blue\r
+MenuTextColor=White\r
+MenuColor=Blue\r
+TextColor=Yellow\r
+SelectedTextColor=Black\r
+SelectedColor=Gray\r
+\r
+[Operating Systems]\r
+Live="ReactOS Live-System starten"\r
+Install="ReactOS-Installation starten"\r
+\r
+[Live]\r
+BootType=ReactOS\r
+SystemPath=LiveCD\live\r
+Options=/DEBUGPORT=COM1 /SOS\r
+\r
+[Install]\r
+BootType=ReactOSSetup
\ No newline at end of file
diff --git a/reactos/hybridcd_step1.cmd b/reactos/hybridcd_step1.cmd
new file mode 100644 (file)
index 0000000..d252087
--- /dev/null
@@ -0,0 +1,38 @@
+:: Script to create a Hybrid-CD (Boot-CD + Live-CD) for demo purposes.\r
+:: Only run it from the root "reactos" dir (where you would also call "make").\r
+::\r
+:: Written by Colin Finck (2010-03-10)\r
+::\r
+:: STEP 1 - Prepare the basic files for the CD\r
+::\r
+\r
+@echo off\r
+\r
+:: Ensure that the user already built Boot-CDs and Live-CDs\r
+if exist "output-i386\bootcd\." (\r
+    if exist "output-i386\livecd\." (\r
+        goto NEXT\r
+    )\r
+)\r
+\r
+echo Please build regular Boot-CDs and Live-CDs first!\r
+goto :EOF\r
+\r
+:: Create directories and copy our stuff there\r
+:NEXT\r
+rd /s /q "hybridcd"\r
+mkdir "hybridcd"\r
+mkdir "hybridcd\live"\r
+mkdir "hybridcd\Profiles"\r
+\r
+xcopy /e "output-i386\bootcd" "hybridcd"\r
+xcopy /e "output-i386\livecd\reactos" "hybridcd\live"\r
+xcopy /e "output-i386\livecd\Profiles" "hybridcd\Profiles"\r
+\r
+:: Copy our modified "freeldr.ini"\r
+copy /y "hybridcd_freeldr.ini" "hybridcd\freeldr.ini"\r
+\r
+\r
+echo The basic stuff has been prepared in the directory "hybridcd".\r
+echo Now add everything else you want into this directory and run\r
+echo "hybridcd_step2" afterwards to create the ISO.
\ No newline at end of file
diff --git a/reactos/hybridcd_step2.cmd b/reactos/hybridcd_step2.cmd
new file mode 100644 (file)
index 0000000..18cf482
--- /dev/null
@@ -0,0 +1,25 @@
+:: Script to create a Hybrid-CD (Boot-CD + Live-CD) for demo purposes.\r
+:: Only run it from the root "reactos" dir (where you would also call "make").\r
+::\r
+:: Written by Colin Finck (2010-03-10)\r
+::\r
+:: STEP 2 - Create the ISO\r
+::\r
+\r
+@echo off\r
+\r
+:: Ensure that "mkisofs" exists\r
+if exist "mkisofs.exe" (\r
+    goto NEXT\r
+)\r
+\r
+echo mkisofs.exe was not found in the current directory.\r
+echo Please get a correct version for it. (e.g. from "PE Builder" at http://nu2.nu)\r
+echo.\r
+echo Our cdmake doesn't support creating an ISO9660:1999 filesystem, which is\r
+echo important for a universally usable disc.\r
+goto :EOF\r
+\r
+:: Use it\r
+:NEXT\r
+mkisofs -iso-level 4 -volid "ReactOS-HybridCD" -b "loader/isoboot.bin" -no-emul-boot -boot-load-size 4 -hide "boot.catalog" -o "hybridcd.iso" "hybridcd"
\ No newline at end of file
index 7e01d4a..b093630 100644 (file)
@@ -38,7 +38,7 @@ IopApplyRosCdromArcHack(IN ULONG i)
     extern BOOLEAN InitIsWinPEMode, ExpInTextModeSetup;
 
     /* Change this if you want ROS to boot properly from another directory */
-    sprintf(RosSysPath, "%s", "reactos");
+    sprintf(RosSysPath, "%s", "live");
 
     /* Only ARC Name left - Build full ARC Name */
     p = strstr(KeLoaderBlock->ArcBootDeviceName, "cdrom");