- Basic Live CD building infrastructure.
authorFilip Navara <filip.navara@gmail.com>
Fri, 4 Jun 2004 23:44:27 +0000 (23:44 +0000)
committerFilip Navara <filip.navara@gmail.com>
Fri, 4 Jun 2004 23:44:27 +0000 (23:44 +0000)
svn path=/trunk/; revision=9611

reactos/Makefile
reactos/bootdata/livecd.inf [new file with mode: 0644]
reactos/bootdata/livecd.ini [new file with mode: 0644]
reactos/rules.mak
reactos/subsys/system/explorer/Makefile

index 43d45d0..9a4b7fd 100644 (file)
@@ -1,4 +1,4 @@
-# $Id: Makefile,v 1.225 2004/06/03 11:14:38 ekohl Exp $
+# $Id: Makefile,v 1.226 2004/06/04 23:44:26 navaraf Exp $
 #
 # Global makefile
 #
@@ -199,10 +199,34 @@ bootcd_makecd:
 ubootcd_unattend:
        $(CP) bootdata/unattend.inf $(BOOTCD_DIR)/reactos/unattend.inf
 
+livecd_directory_layout:
+       $(RMKDIR) $(LIVECD_DIR)
+       $(RMKDIR) $(LIVECD_DIR)/loader
+       $(RMKDIR) $(LIVECD_DIR)/reactos
+       $(RMKDIR) $(LIVECD_DIR)/Profiles/All\ Users/Desktop
+       $(RMKDIR) $(LIVECD_DIR)/Profiles/Default\ User/Desktop
+       $(RMKDIR) $(LIVECD_DIR)/Profiles/Default\ User/My\ Documents
+       $(CP) ${FREELDR_DIR}/bootsect/isoboot.bin ${LIVECD_DIR}/../isoboot.bin
+       $(CP) ${FREELDR_DIR}/freeldr/obj/i386/freeldr.sys ${LIVECD_DIR}/loader/setupldr.sys
+       $(RLINE) bootdata/livecd.ini $(LIVECD_DIR)/freeldr.ini
+
+livecd_bootstrap_files:
+       $(MAKE) LIVECD_INSTALL=yes fastinstall
+
+livecd_install_before:
+       $(TOOLS_PATH)/mkhive/mkhive$(EXE_POSTFIX) bootdata $(LIVECD_DIR)/reactos/system32/config bootdata/livecd.inf
+
+livecd_basic: livecd_directory_layout livecd_bootstrap_files livecd_install_before
+
+livecd_makecd:
+       $(TOOLS_PATH)/cdmake/cdmake -m -j -b $(LIVECD_DIR)/../isoboot.bin $(LIVECD_DIR) REACTOS roslive.iso
+
 bootcd: bootcd_basic bootcd_makecd
 
 ubootcd: bootcd_basic ubootcd_unattend bootcd_makecd
 
+livecd: livecd_basic livecd_makecd
+
 registry: tools
        $(TOOLS_PATH)/mkhive/mkhive$(EXE_POSTFIX) bootdata $(INSTALL_DIR)/system32/config
 
diff --git a/reactos/bootdata/livecd.inf b/reactos/bootdata/livecd.inf
new file mode 100644 (file)
index 0000000..347515a
--- /dev/null
@@ -0,0 +1,34 @@
+[Version]
+Signature = "$ReactOS$"
+
+[DelReg]
+
+HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders"
+
+[AddReg]
+
+; Cdfs (ISO96660) filesystem driver
+HKLM,"SYSTEM\CurrentControlSet\Services\Cdfs","Start",0x00010001,0x00000000
+
+; Cdrom class driver
+HKLM,"SYSTEM\CurrentControlSet\Services\Cdrom","Start",0x00010001,0x00000000
+
+; FIXME: Disable NTFS driver
+HKLM,"SYSTEM\CurrentControlSet\Services\Ntfs","Start",0x00010001,0x00000004
+
+; Shell
+HKLM,"SYSTEM\Setup","CmdLine",0x00020000,"%SystemRoot%\explorer.exe"
+
+; User Profile List
+HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList",,0x00000012
+HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList","ProfilesDirectory",0x00020000,"%SystemDrive%\Profiles"
+HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList","AllUsersProfile",0x00000000,"All Users"
+HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList","DefaultUserProfile",0x00000000,"Default User"
+
+; Shell Folders
+HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders","Common Documents",0x00020000,""
+HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders","Common Desktop",0x00020000,"%SystemDrive%\Profiles\All Users\Desktop"
+HKCU,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders","Desktop",0x00020000,"%SystemDrive%\Profiles\Default User\Desktop"
+HKCU,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders","Personal",0x00020000,"%SystemDrive%\Profiles\Default User\My Documents"
+
+; EOF
diff --git a/reactos/bootdata/livecd.ini b/reactos/bootdata/livecd.ini
new file mode 100644 (file)
index 0000000..8cd3e69
--- /dev/null
@@ -0,0 +1,29 @@
+[FREELOADER]
+DefaultOS=ReactOS
+Timeout=0
+
+[Display]
+TitleText=ReactOS Boot Manager
+StatusBarColor=Cyan
+StatusBarTextColor=Black
+BackdropTextColor=White
+BackdropColor=Blue
+BackdropFillStyle=Medium
+TitleBoxTextColor=White
+TitleBoxColor=Red
+MessageBoxTextColor=White
+MessageBoxColor=Blue
+MenuTextColor=White
+MenuColor=Blue
+TextColor=Yellow
+SelectedTextColor=Black
+SelectedColor=Gray
+
+[Operating Systems]
+ReactOS="ReactOS"
+
+[ReactOS]
+BootType=ReactOS
+SystemPath=LiveCD
+Options=/DEBUGPORT=COM1
\ No newline at end of file
index d9489ce..0eff03b 100644 (file)
@@ -52,6 +52,13 @@ endif
 # that it has the same meaning as PATH_TO_TOP.
 TOPDIR = $(PATH_TO_TOP)
 
+# Directory to build a bootable CD image in
+BOOTCD_DIR=$(TOPDIR)/../bootcd/disk
+LIVECD_DIR=$(TOPDIR)/../livecd/disk
+
+ifeq ($(LIVECD_INSTALL),yes)
+INSTALL_DIR=$(LIVECD_DIR)/reactos
+else
 # Use environment var ROS_INSTALL to override default install dir
 ifeq ($(ROS_INSTALL),)
 ifeq ($(HOST),mingw32-windows)
@@ -62,9 +69,8 @@ endif
 else
 INSTALL_DIR = $(ROS_INSTALL)
 endif
+endif
 
-# Directory to build a bootable CD image in
-BOOTCD_DIR=$(TOPDIR)/../bootcd/disk
 
 CC = $(PREFIX)gcc
 CXX = $(PREFIX)g++
index 8907350..7b8c865 100644 (file)
@@ -142,15 +142,21 @@ notifyhook.dll: notifyhook/notifyhook.c notifyhook/notifyhook.h
 clean:
        $(TOOLS_PATH)/rdel $(TARGET) $(OBJECTS) $(PROGRAM)$(RES_SUFFIX)
 
-# Use environment var ROS_INSTALL to override default install dir
-ifneq ($(ROS_INSTALL),)
-INSTALL_DIR = $(ROS_INSTALL)
+LIVECD_DIR=$(PATH_TO_TOP)/../livecd/disk
+
+ifeq ($(LIVECD_INSTALL),yes)
+INSTALL_DIR=$(LIVECD_DIR)/reactos
 else
+# Use environment var ROS_INSTALL to override default install dir
+ifeq ($(ROS_INSTALL),)
 ifeq ($(HOST),mingw32-windows)
 INSTALL_DIR = C:/reactos
 else
 INSTALL_DIR = $(PATH_TO_TOP)/reactos
 endif
+else
+INSTALL_DIR = $(ROS_INSTALL)
+endif
 endif
 
 implib: