From a880f2ee8278b32d76f4d70345a5ee550d13bc67 Mon Sep 17 00:00:00 2001 From: Filip Navara Date: Fri, 4 Jun 2004 23:44:27 +0000 Subject: [PATCH] - Basic Live CD building infrastructure. svn path=/trunk/; revision=9611 --- reactos/Makefile | 26 ++++++++++++++++++- reactos/bootdata/livecd.inf | 34 +++++++++++++++++++++++++ reactos/bootdata/livecd.ini | 29 +++++++++++++++++++++ reactos/rules.mak | 10 ++++++-- reactos/subsys/system/explorer/Makefile | 12 ++++++--- 5 files changed, 105 insertions(+), 6 deletions(-) create mode 100644 reactos/bootdata/livecd.inf create mode 100644 reactos/bootdata/livecd.ini diff --git a/reactos/Makefile b/reactos/Makefile index 43d45d070dc..9a4b7fd7a8a 100644 --- a/reactos/Makefile +++ b/reactos/Makefile @@ -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 index 00000000000..347515af0b7 --- /dev/null +++ b/reactos/bootdata/livecd.inf @@ -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 index 00000000000..8cd3e69d157 --- /dev/null +++ b/reactos/bootdata/livecd.ini @@ -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 diff --git a/reactos/rules.mak b/reactos/rules.mak index d9489cebf77..0eff03b57f7 100644 --- a/reactos/rules.mak +++ b/reactos/rules.mak @@ -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++ diff --git a/reactos/subsys/system/explorer/Makefile b/reactos/subsys/system/explorer/Makefile index 890735043cb..7b8c8652568 100644 --- a/reactos/subsys/system/explorer/Makefile +++ b/reactos/subsys/system/explorer/Makefile @@ -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: