Author: hbelusca Date: Mon Jul 3 17:53:23 2017 New Revision: 75273
URL: http://svn.reactos.org/svn/reactos?rev=75273&view=rev Log: [REACTOS]: Introduce the experimental all-in-one ReactOS BootCD, containing both the text-mode 1st-stage installer and the LiveCD functionality with the 1st-stage GUI installer. Our separate LiveCD ISOs become obsolete, and this completely remove the need for the so-called "hybridcd" ISO.
Some details: - the "hybridcd" build target is completely removed, since now the new BootCD *is* basically what we used to call "hybridcd"; - the "livecd" build target is kept so far (to minimize the code changes), but internally I start to refer to it as "LiveImage", and it is reduced to a minimum: currently a minimal non-bootable "liveimage.iso" is built in order to implement the "ReactOS Live in RAMDISK" functionality (we currently don't support other file formats apart from ISO and flat disk for a RAMDISK), while the "ReactOS Live" (non-RAMDISK) is implemented by adding to the BootCD file tree the files from the LiveImage. These files add two root directories, "Profiles" and "reactos" (the SystemRoot for the non-ramdisk LiveImage). - The minimal text-mode ReactOS installation used during the 1st-stage text-mode installer, including USETUP itself and the executable for the 1st-stage GUI installer and the reactos.cab (installation source) are moved to the root directory called "i386" (ideally, one directory per architecture). - the "bootcdregtest" target, i.e. the ISOs we feed our testbots with, are left untouched, i.e. they are only constituted of the 1st-stage text-mode installation, in the root directory named "reactos".
More details will be presented in a subsequent mail to the ros-dev mailing list.
Added: branches/setup_improvements/boot/bootdata/autorun.inf - copied, changed from r75272, branches/setup_improvements/boot/bootdata/autorun-bootcd.inf branches/setup_improvements/boot/bootdata/bootcd-regtest.ini - copied unchanged from r75272, branches/setup_improvements/boot/bootdata/bootcd.ini branches/setup_improvements/boot/bootdata/bootcd.ini - copied, changed from r75272, branches/setup_improvements/boot/bootdata/hybridcd.ini Removed: branches/setup_improvements/boot/bootdata/autorun-bootcd.inf branches/setup_improvements/boot/bootdata/autorun-hybridcd.inf branches/setup_improvements/boot/bootdata/autorun-livecd.inf branches/setup_improvements/boot/bootdata/hybridcd.ini branches/setup_improvements/boot/bootdata/livecd.ini Modified: branches/setup_improvements/base/setup/welcome/CMakeLists.txt branches/setup_improvements/boot/CMakeLists.txt branches/setup_improvements/boot/bootdata/CMakeLists.txt branches/setup_improvements/boot/bootdata/welcome_config/welcome.ini branches/setup_improvements/boot/freeldr/bootsect/CMakeLists.txt branches/setup_improvements/boot/freeldr/freeldr/CMakeLists.txt branches/setup_improvements/modules/CMakeLists.txt branches/setup_improvements/sdk/cmake/CMakeMacros.cmake
Modified: branches/setup_improvements/base/setup/welcome/CMakeLists.txt URL: http://svn.reactos.org/svn/reactos/branches/setup_improvements/base/setup/we... ============================================================================== --- branches/setup_improvements/base/setup/welcome/CMakeLists.txt [iso-8859-1] (original) +++ branches/setup_improvements/base/setup/welcome/CMakeLists.txt [iso-8859-1] Mon Jul 3 17:53:23 2017 @@ -4,4 +4,7 @@ add_executable(welcome welcome.c welcome.rc) set_module_type(welcome win32gui UNICODE) add_importlibs(welcome gdi32 user32 shell32 msvcrt kernel32 ntdll) -add_cd_file(TARGET welcome DESTINATION reactos NO_CAB FOR bootcd) +add_cd_file(TARGET welcome DESTINATION reactos FOR all) + +# Welcome.exe renamed as Setup.exe for the BootCD +add_cd_file(TARGET welcome DESTINATION root NO_CAB NAME_ON_CD setup.exe FOR bootcd)
Modified: branches/setup_improvements/boot/CMakeLists.txt URL: http://svn.reactos.org/svn/reactos/branches/setup_improvements/boot/CMakeLis... ============================================================================== --- branches/setup_improvements/boot/CMakeLists.txt [iso-8859-1] (original) +++ branches/setup_improvements/boot/CMakeLists.txt [iso-8859-1] Mon Jul 3 17:53:23 2017 @@ -67,9 +67,9 @@ -publisher ${ISO_MANUFACTURER} -preparer ${ISO_MANUFACTURER} -volid ${ISO_VOLNAME} -volset ${ISO_VOLNAME} -eltorito-boot loader/isoboot.bin -no-emul-boot -boot-load-size 4 -eltorito-alt-boot -eltorito-platform efi -eltorito-boot loader/efisys.bin -no-emul-boot -hide boot.catalog -sort ${CMAKE_CURRENT_BINARY_DIR}/bootfiles.sort - -no-cache-inodes -graft-points -path-list ${CMAKE_CURRENT_BINARY_DIR}/bootcd.lst + -duplicates-once -no-cache-inodes -graft-points -path-list ${CMAKE_CURRENT_BINARY_DIR}/bootcd.lst COMMAND native-isohybrid -b ${_isombr_file} ${REACTOS_BINARY_DIR}/bootcd.iso - DEPENDS isombr native-isohybrid native-mkisofs + DEPENDS isombr native-isohybrid native-mkisofs livecd VERBATIM)
## BootCDRegTest @@ -82,12 +82,12 @@ -publisher ${ISO_MANUFACTURER} -preparer ${ISO_MANUFACTURER} -volid ${ISO_VOLNAME} -volset ${ISO_VOLNAME} -eltorito-boot loader/isobtrt.bin -no-emul-boot -boot-load-size 4 -eltorito-alt-boot -eltorito-platform efi -eltorito-boot loader/efisys.bin -no-emul-boot -hide boot.catalog -sort ${CMAKE_CURRENT_BINARY_DIR}/bootfiles.sort - -no-cache-inodes -graft-points -path-list ${CMAKE_CURRENT_BINARY_DIR}/bootcdregtest.lst + -duplicates-once -no-cache-inodes -graft-points -path-list ${CMAKE_CURRENT_BINARY_DIR}/bootcdregtest.lst COMMAND native-isohybrid -b ${_isombr_file} ${REACTOS_BINARY_DIR}/bootcdregtest.iso DEPENDS isombr native-isohybrid native-mkisofs VERBATIM)
-## LiveCD +## LiveImage -- Constitutes a small RAMDISK ISO, and is also merged with the regular BootCD # Create the file list file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/livecd.lst "") file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/livecd.lst "${CMAKE_CURRENT_BINARY_DIR}/empty\n") @@ -121,59 +121,14 @@ file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/livecd.lst "Profiles/Default User/Templates=${CMAKE_CURRENT_BINARY_DIR}/empty\n")
add_custom_target(livecd - COMMAND native-mkisofs -quiet -o ${REACTOS_BINARY_DIR}/livecd.iso -iso-level 4 + COMMAND native-mkisofs -quiet -o ${REACTOS_BINARY_DIR}/liveimage.iso -iso-level 4 -publisher ${ISO_MANUFACTURER} -preparer ${ISO_MANUFACTURER} -volid ${ISO_VOLNAME} -volset ${ISO_VOLNAME} - -eltorito-boot loader/isoboot.bin -no-emul-boot -boot-load-size 4 -eltorito-alt-boot -eltorito-platform efi -eltorito-boot loader/efisys.bin -no-emul-boot -hide boot.catalog - -sort ${CMAKE_CURRENT_BINARY_DIR}/bootfiles.sort - -no-cache-inodes -graft-points -path-list ${CMAKE_CURRENT_BINARY_DIR}/livecd.lst - COMMAND native-isohybrid -b ${_isombr_file} ${REACTOS_BINARY_DIR}/livecd.iso - DEPENDS isombr native-isohybrid native-mkisofs + -duplicates-once -no-cache-inodes -graft-points -path-list ${CMAKE_CURRENT_BINARY_DIR}/livecd.lst + DEPENDS native-mkisofs VERBATIM)
-## HybridCD -# Create the file list -file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/hybridcd.lst "") -file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/hybridcd.lst "${CMAKE_CURRENT_BINARY_DIR}/empty\n")
-# Create the empty Desktop, Favorites, and Start Menu folders. And many more. -file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/hybridcd.lst "livecd/Profiles/All Users/Application Data=${CMAKE_CURRENT_BINARY_DIR}/empty\n") -file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/hybridcd.lst "livecd/Profiles/All Users/Documents/My Music=${CMAKE_CURRENT_BINARY_DIR}/empty\n") -file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/hybridcd.lst "livecd/Profiles/All Users/Documents/My Pictures=${CMAKE_CURRENT_BINARY_DIR}/empty\n") -file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/hybridcd.lst "livecd/Profiles/All Users/Documents/My Videos=${CMAKE_CURRENT_BINARY_DIR}/empty\n") -file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/hybridcd.lst "livecd/Profiles/All Users/Favorites=${CMAKE_CURRENT_BINARY_DIR}/empty\n") -file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/hybridcd.lst "livecd/Profiles/All Users/My Documents=${CMAKE_CURRENT_BINARY_DIR}/empty\n") -file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/hybridcd.lst "livecd/Profiles/All Users/Start Menu/Programs/StartUp=${CMAKE_CURRENT_BINARY_DIR}/empty\n") -file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/hybridcd.lst "livecd/Profiles/All Users/Templates=${CMAKE_CURRENT_BINARY_DIR}/empty\n") -file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/hybridcd.lst "livecd/Profiles/Default User/Application Data=${CMAKE_CURRENT_BINARY_DIR}/empty\n") -file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/hybridcd.lst "livecd/Profiles/Default User/Cookies=${CMAKE_CURRENT_BINARY_DIR}/empty\n") -file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/hybridcd.lst "livecd/Profiles/Default User/Desktop=${CMAKE_CURRENT_BINARY_DIR}/empty\n") -file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/hybridcd.lst "livecd/Profiles/Default User/Favorites=${CMAKE_CURRENT_BINARY_DIR}/empty\n") -file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/hybridcd.lst "livecd/Profiles/Default User/Local Settings/Application Data=${CMAKE_CURRENT_BINARY_DIR}/empty\n") -file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/hybridcd.lst "livecd/Profiles/Default User/Local Settings/History=${CMAKE_CURRENT_BINARY_DIR}/empty\n") -file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/hybridcd.lst "livecd/Profiles/Default User/Local Settings/Temporary Internet Files=${CMAKE_CURRENT_BINARY_DIR}/empty\n") -file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/hybridcd.lst "livecd/Profiles/Default User/My Music=${CMAKE_CURRENT_BINARY_DIR}/empty\n") -file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/hybridcd.lst "livecd/Profiles/Default User/My Pictures=${CMAKE_CURRENT_BINARY_DIR}/empty\n") -file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/hybridcd.lst "livecd/Profiles/Default User/My Videos=${CMAKE_CURRENT_BINARY_DIR}/empty\n") -file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/hybridcd.lst "livecd/Profiles/Default User/NetHood=${CMAKE_CURRENT_BINARY_DIR}/empty\n") -file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/hybridcd.lst "livecd/Profiles/Default User/PrintHood=${CMAKE_CURRENT_BINARY_DIR}/empty\n") -file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/hybridcd.lst "livecd/Profiles/Default User/Recent=${CMAKE_CURRENT_BINARY_DIR}/empty\n") -file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/hybridcd.lst "livecd/Profiles/Default User/SendTo=${CMAKE_CURRENT_BINARY_DIR}/empty\n") -file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/hybridcd.lst "livecd/Profiles/Default User/Start Menu/Programs=${CMAKE_CURRENT_BINARY_DIR}/empty\n") -file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/hybridcd.lst "livecd/Profiles/Default User/Start Menu/Programs/Administrative Tools=${CMAKE_CURRENT_BINARY_DIR}/empty\n") -file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/hybridcd.lst "livecd/Profiles/Default User/Start Menu/Programs/StartUp=${CMAKE_CURRENT_BINARY_DIR}/empty\n") -file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/hybridcd.lst "livecd/Profiles/Default User/Templates=${CMAKE_CURRENT_BINARY_DIR}/empty\n") - -add_custom_target(hybridcd - COMMAND native-mkisofs -quiet -o ${REACTOS_BINARY_DIR}/hybridcd.iso -iso-level 4 - -publisher ${ISO_MANUFACTURER} -preparer ${ISO_MANUFACTURER} -volid ${ISO_VOLNAME} -volset ${ISO_VOLNAME} - -eltorito-boot loader/isoboot.bin -no-emul-boot -boot-load-size 4 -eltorito-alt-boot -eltorito-platform efi -eltorito-boot loader/efisys.bin -no-emul-boot -hide boot.catalog - -sort ${CMAKE_CURRENT_BINARY_DIR}/bootfiles.sort - -duplicates-once -no-cache-inodes -graft-points -path-list ${CMAKE_CURRENT_BINARY_DIR}/hybridcd.lst - COMMAND native-isohybrid -b ${_isombr_file} ${REACTOS_BINARY_DIR}/hybridcd.iso - DEPENDS bootcd livecd - VERBATIM) - -add_cd_file(TARGET efisys FILE ${CMAKE_CURRENT_BINARY_DIR}/efisys.bin DESTINATION loader NO_CAB NOT_IN_HYBRIDCD FOR bootcd regtest livecd hybridcd) +add_cd_file(TARGET efisys FILE ${CMAKE_CURRENT_BINARY_DIR}/efisys.bin DESTINATION loader NO_CAB FOR bootcd regtest)
add_subdirectory(freeldr) add_subdirectory(bootdata)
Modified: branches/setup_improvements/boot/bootdata/CMakeLists.txt URL: http://svn.reactos.org/svn/reactos/branches/setup_improvements/boot/bootdata... ============================================================================== --- branches/setup_improvements/boot/bootdata/CMakeLists.txt [iso-8859-1] (original) +++ branches/setup_improvements/boot/bootdata/CMakeLists.txt [iso-8859-1] Mon Jul 3 17:53:23 2017 @@ -1,10 +1,10 @@
add_subdirectory(packages)
-# Common hives - +# Setup settings file add_cd_file(FILE ${CMAKE_CURRENT_SOURCE_DIR}/txtsetup.sif DESTINATION reactos NO_CAB FOR bootcd regtest)
+# Common hives add_registry_inf( caroots.inf hivecls.inf @@ -13,26 +13,24 @@ hivesys.inf hivebcd.inf)
- # Regtest add_cd_file(FILE ${CMAKE_CURRENT_SOURCE_DIR}/bootcdregtest/regtest.cmd DESTINATION reactos/bin FOR all)
# autorun.inf -add_cd_file(FILE ${CMAKE_CURRENT_SOURCE_DIR}/autorun-bootcd.inf DESTINATION root NO_CAB NOT_IN_HYBRIDCD NAME_ON_CD autorun.inf FOR bootcd) -add_cd_file(FILE ${CMAKE_CURRENT_SOURCE_DIR}/autorun-livecd.inf DESTINATION root NO_CAB NOT_IN_HYBRIDCD NAME_ON_CD autorun.inf FOR livecd) -add_cd_file(FILE ${CMAKE_CURRENT_SOURCE_DIR}/autorun-hybridcd.inf DESTINATION root NO_CAB NOT_IN_HYBRIDCD NAME_ON_CD autorun.inf FOR hybridcd) +add_cd_file(FILE ${CMAKE_CURRENT_SOURCE_DIR}/autorun.inf DESTINATION root NO_CAB FOR bootcd)
# icon.ico -add_cd_file(FILE ${CMAKE_CURRENT_SOURCE_DIR}/icon.ico DESTINATION root NO_CAB NOT_IN_HYBRIDCD FOR all hybridcd) +add_cd_file(FILE ${CMAKE_CURRENT_SOURCE_DIR}/icon.ico DESTINATION root NO_CAB FOR bootcd)
# readme.txt -add_cd_file(FILE ${CMAKE_CURRENT_SOURCE_DIR}/readme.txt DESTINATION root NO_CAB NOT_IN_HYBRIDCD FOR all hybridcd) +add_cd_file(FILE ${CMAKE_CURRENT_SOURCE_DIR}/readme.txt DESTINATION root NO_CAB FOR bootcd regtest) add_cd_file(FILE ${CMAKE_CURRENT_SOURCE_DIR}/readme.txt DESTINATION reactos FOR all)
-# Welcome.exe optional custom configuration (only for HybridCD) +## NOTE: The root file Setup.exe is a renamed Welcome.exe for BootCD purposes. +# Welcome.exe optional custom configuration (only for LiveCD) if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/welcome_config/) # Copy the main configuration file - add_cd_file(FILE ${CMAKE_CURRENT_SOURCE_DIR}/welcome_config/welcome.ini DESTINATION bootcd/reactos NO_CAB FOR hybridcd) + add_cd_file(FILE ${CMAKE_CURRENT_SOURCE_DIR}/welcome_config/welcome.ini DESTINATION reactos NO_CAB FOR livecd)
# Convert the translation files (name format: xx-YY.ini) into UTF-16 file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/welcome_config) @@ -43,22 +41,21 @@ add_custom_command(OUTPUT "${_converted_file}" COMMAND native-utf16le "${_source_file}" "${_converted_file}" DEPENDS native-utf16le "${_source_file}") - add_cd_file(TARGET converted_welcome_i18n_files FILE ${_converted_file} DESTINATION bootcd/reactos/welcome NO_CAB NAME_ON_CD ${_file} FOR hybridcd) + add_cd_file(TARGET converted_welcome_i18n_files FILE ${_converted_file} DESTINATION reactos/welcome NO_CAB NAME_ON_CD ${_file} FOR livecd) list(APPEND _converted_welcome_i18n_files ${_converted_file}) endforeach(_file) add_custom_target(converted_welcome_i18n_files DEPENDS ${_converted_welcome_i18n_files}) endif()
# freeldr.ini -add_cd_file(FILE ${CMAKE_CURRENT_SOURCE_DIR}/bootcd.ini DESTINATION root NO_CAB NOT_IN_HYBRIDCD NAME_ON_CD freeldr.ini FOR bootcd regtest) -add_cd_file(FILE ${CMAKE_CURRENT_SOURCE_DIR}/livecd.ini DESTINATION root NOT_IN_HYBRIDCD NAME_ON_CD freeldr.ini FOR livecd) -add_cd_file(FILE ${CMAKE_CURRENT_SOURCE_DIR}/hybridcd.ini DESTINATION root NAME_ON_CD freeldr.ini FOR hybridcd) +add_cd_file(FILE ${CMAKE_CURRENT_SOURCE_DIR}/bootcd.ini DESTINATION root NO_CAB NAME_ON_CD freeldr.ini FOR bootcd) +add_cd_file(FILE ${CMAKE_CURRENT_SOURCE_DIR}/bootcd-regtest.ini DESTINATION root NO_CAB NAME_ON_CD freeldr.ini FOR regtest)
# Unattend +add_cd_file(FILE ${CMAKE_CURRENT_SOURCE_DIR}/bootcd/unattend.inf DESTINATION reactos NO_CAB FOR bootcd) add_cd_file(FILE ${CMAKE_CURRENT_SOURCE_DIR}/bootcdregtest/unattend.inf DESTINATION reactos NO_CAB FOR regtest) -add_cd_file(FILE ${CMAKE_CURRENT_SOURCE_DIR}/bootcd/unattend.inf DESTINATION reactos NO_CAB FOR bootcd)
-# LiveCD shortcuts +# LiveImage shortcuts macro(add_livecd_shortcut name app dest) add_link(NAME ${name} CMD_LINE_ARGS ${app} ICON ${app} PATH livecd_start.cmd GUID "{450D8FBA-AD25-11D0-98A8-0800361B1103}" MINIMIZE) list(APPEND LIVECD_SHORTCUTS "${CMAKE_CURRENT_BINARY_DIR}/${name}.lnk")
Removed: branches/setup_improvements/boot/bootdata/autorun-bootcd.inf URL: http://svn.reactos.org/svn/reactos/branches/setup_improvements/boot/bootdata... ============================================================================== --- branches/setup_improvements/boot/bootdata/autorun-bootcd.inf [iso-8859-1] (original) +++ branches/setup_improvements/boot/bootdata/autorun-bootcd.inf (removed) @@ -1,3 +0,0 @@ -[autorun] -open=reactos\welcome.exe -icon=icon.ico
Removed: branches/setup_improvements/boot/bootdata/autorun-hybridcd.inf URL: http://svn.reactos.org/svn/reactos/branches/setup_improvements/boot/bootdata... ============================================================================== --- branches/setup_improvements/boot/bootdata/autorun-hybridcd.inf [iso-8859-1] (original) +++ branches/setup_improvements/boot/bootdata/autorun-hybridcd.inf (removed) @@ -1,3 +0,0 @@ -[autorun] -open=bootcd\reactos\welcome.exe -icon=icon.ico
Removed: branches/setup_improvements/boot/bootdata/autorun-livecd.inf URL: http://svn.reactos.org/svn/reactos/branches/setup_improvements/boot/bootdata... ============================================================================== --- branches/setup_improvements/boot/bootdata/autorun-livecd.inf [iso-8859-1] (original) +++ branches/setup_improvements/boot/bootdata/autorun-livecd.inf (removed) @@ -1,3 +0,0 @@ -[autorun] -open=readme.txt -icon=icon.ico
Copied: branches/setup_improvements/boot/bootdata/autorun.inf (from r75272, branches/setup_improvements/boot/bootdata/autorun-bootcd.inf) URL: http://svn.reactos.org/svn/reactos/branches/setup_improvements/boot/bootdata... ============================================================================== --- branches/setup_improvements/boot/bootdata/autorun-bootcd.inf [iso-8859-1] (original) +++ branches/setup_improvements/boot/bootdata/autorun.inf [iso-8859-1] Mon Jul 3 17:53:23 2017 @@ -1,3 +1,3 @@ [autorun] -open=reactos\welcome.exe +open=setup.exe icon=icon.ico
Copied: branches/setup_improvements/boot/bootdata/bootcd.ini (from r75272, branches/setup_improvements/boot/bootdata/hybridcd.ini) URL: http://svn.reactos.org/svn/reactos/branches/setup_improvements/boot/bootdata... ============================================================================== --- branches/setup_improvements/boot/bootdata/hybridcd.ini [iso-8859-1] (original) +++ branches/setup_improvements/boot/bootdata/bootcd.ini [iso-8859-1] Mon Jul 3 17:53:23 2017 @@ -1,9 +1,9 @@ [FREELOADER] -DefaultOS=Setup -TimeOut=5 +DefaultOS=LiveCD_Debug +TimeOut=10
[Display] -TitleText=ReactOS Hybrid-CD +TitleText=ReactOS Setup & Live BootCD StatusBarColor=Cyan StatusBarTextColor=Black BackdropTextColor=White @@ -25,50 +25,55 @@ TimeText=Seconds until highlighted choice will be started automatically:
[Operating Systems] -Setup="Setup" -LiveCD="LiveCD" -LiveCD_Debug="LiveCD (Debug)" -LiveCD_Screen="LiveCD (Screen)" -LiveCD_LogFile="LiveCD (Log file)" -LiveCD_RamDisk="LiveCD in RAM" -LiveCD_RamDisk_Debug="LiveCD in RAM (Debug)" -LiveCD_RamDisk_Screen="LiveCD in RAM (Screen)" +Setup="ReactOS Setup (Text Mode)" +LiveCD="ReactOS Setup (Graphics Mode) & Live" +LiveCD_Debug="ReactOS Live (Debug)" +LiveCD_Screen="ReactOS Live (Screen)" +; LiveCD_LogFile="ReactOS Live (Log file)" +LiveCD_RamDisk="ReactOS Setup (Graphics Mode) & Live in RAM" +LiveCD_RamDisk_Debug="ReactOS Live in RAM (Debug)" +LiveCD_RamDisk_Screen="ReactOS Live in RAM (Screen)" +HddBoot="Boot from first hard disk"
[Setup] BootType=ReactOSSetup -SystemPath=\bootcd +SystemPath=\
[LiveCD] BootType=Windows2003 -SystemPath=\livecd\reactos +SystemPath=\reactos Options=/MININT
[LiveCD_Debug] BootType=Windows2003 -SystemPath=\livecd\reactos +SystemPath=\reactos Options=/DEBUG /DEBUGPORT=COM1 /BAUDRATE=115200 /SOS /MININT
[LiveCD_Screen] BootType=Windows2003 -SystemPath=\livecd\reactos +SystemPath=\reactos Options=/DEBUG /DEBUGPORT=SCREEN /SOS /MININT
-[LiveCD_LogFile] -BootType=Windows2003 -SystemPath=\livecd\reactos -Options=/DEBUG /DEBUGPORT=FILE:\Device\HarddiskX\PartitionY\debug.log /SOS /MININT +; [LiveCD_LogFile] +; BootType=Windows2003 +; SystemPath=\reactos +; Options=/DEBUG /DEBUGPORT=FILE:\Device\HarddiskX\PartitionY\debug.log /SOS /MININT
[LiveCD_RamDisk] BootType=Windows2003 SystemPath=ramdisk(0)\reactos -Options=/MININT /RDPATH=livecd\livecd.iso /RDEXPORTASCD +Options=/MININT /RDPATH=liveimage.iso /RDEXPORTASCD
[LiveCD_RamDisk_Debug] BootType=Windows2003 SystemPath=ramdisk(0)\reactos -Options=/DEBUG /DEBUGPORT=COM1 /BAUDRATE=115200 /SOS /MININT /RDPATH=livecd\livecd.iso /RDEXPORTASCD +Options=/DEBUG /DEBUGPORT=COM1 /BAUDRATE=115200 /SOS /MININT /RDPATH=liveimage.iso /RDEXPORTASCD
[LiveCD_RamDisk_Screen] BootType=Windows2003 SystemPath=ramdisk(0)\reactos -Options=/DEBUG /DEBUGPORT=SCREEN /SOS /MININT /RDPATH=livecd\livecd.iso /RDEXPORTASCD +Options=/DEBUG /DEBUGPORT=SCREEN /SOS /MININT /RDPATH=liveimage.iso /RDEXPORTASCD + +[HddBoot] +BootType=Drive +BootDrive=hd0
Removed: branches/setup_improvements/boot/bootdata/hybridcd.ini URL: http://svn.reactos.org/svn/reactos/branches/setup_improvements/boot/bootdata... ============================================================================== --- branches/setup_improvements/boot/bootdata/hybridcd.ini [iso-8859-1] (original) +++ branches/setup_improvements/boot/bootdata/hybridcd.ini (removed) @@ -1,74 +0,0 @@ -[FREELOADER] -DefaultOS=Setup -TimeOut=5 - -[Display] -TitleText=ReactOS Hybrid-CD -StatusBarColor=Cyan -StatusBarTextColor=Black -BackdropTextColor=White -BackdropColor=Blue -BackdropFillStyle=Medium -TitleBoxTextColor=White -TitleBoxColor=Red -MessageBoxTextColor=White -MessageBoxColor=Blue -MenuTextColor=Gray -MenuColor=Black -TextColor=Gray -SelectedTextColor=Black -SelectedColor=Gray -ShowTime=No -MenuBox=No -CenterMenu=No -MinimalUI=Yes -TimeText=Seconds until highlighted choice will be started automatically: - -[Operating Systems] -Setup="Setup" -LiveCD="LiveCD" -LiveCD_Debug="LiveCD (Debug)" -LiveCD_Screen="LiveCD (Screen)" -LiveCD_LogFile="LiveCD (Log file)" -LiveCD_RamDisk="LiveCD in RAM" -LiveCD_RamDisk_Debug="LiveCD in RAM (Debug)" -LiveCD_RamDisk_Screen="LiveCD in RAM (Screen)" - -[Setup] -BootType=ReactOSSetup -SystemPath=\bootcd - -[LiveCD] -BootType=Windows2003 -SystemPath=\livecd\reactos -Options=/MININT - -[LiveCD_Debug] -BootType=Windows2003 -SystemPath=\livecd\reactos -Options=/DEBUG /DEBUGPORT=COM1 /BAUDRATE=115200 /SOS /MININT - -[LiveCD_Screen] -BootType=Windows2003 -SystemPath=\livecd\reactos -Options=/DEBUG /DEBUGPORT=SCREEN /SOS /MININT - -[LiveCD_LogFile] -BootType=Windows2003 -SystemPath=\livecd\reactos -Options=/DEBUG /DEBUGPORT=FILE:\Device\HarddiskX\PartitionY\debug.log /SOS /MININT - -[LiveCD_RamDisk] -BootType=Windows2003 -SystemPath=ramdisk(0)\reactos -Options=/MININT /RDPATH=livecd\livecd.iso /RDEXPORTASCD - -[LiveCD_RamDisk_Debug] -BootType=Windows2003 -SystemPath=ramdisk(0)\reactos -Options=/DEBUG /DEBUGPORT=COM1 /BAUDRATE=115200 /SOS /MININT /RDPATH=livecd\livecd.iso /RDEXPORTASCD - -[LiveCD_RamDisk_Screen] -BootType=Windows2003 -SystemPath=ramdisk(0)\reactos -Options=/DEBUG /DEBUGPORT=SCREEN /SOS /MININT /RDPATH=livecd\livecd.iso /RDEXPORTASCD
Removed: branches/setup_improvements/boot/bootdata/livecd.ini URL: http://svn.reactos.org/svn/reactos/branches/setup_improvements/boot/bootdata... ============================================================================== --- branches/setup_improvements/boot/bootdata/livecd.ini [iso-8859-1] (original) +++ branches/setup_improvements/boot/bootdata/livecd.ini (removed) @@ -1,51 +0,0 @@ -[FREELOADER] -DefaultOS=LiveCD_Debug -TimeOut=5 - -[Display] -TitleText=ReactOS LiveCD -StatusBarColor=Cyan -StatusBarTextColor=Black -BackdropTextColor=White -BackdropColor=Blue -BackdropFillStyle=Medium -TitleBoxTextColor=White -TitleBoxColor=Red -MessageBoxTextColor=White -MessageBoxColor=Blue -MenuTextColor=Gray -MenuColor=Black -TextColor=Gray -SelectedTextColor=Black -SelectedColor=Gray -ShowTime=No -MenuBox=No -CenterMenu=No -MinimalUI=Yes -TimeText=Seconds until highlighted choice will be started automatically: - -[Operating Systems] -LiveCD="LiveCD" -LiveCD_Debug="LiveCD (Debug)" -LiveCD_Screen="LiveCD (Screen)" -LiveCD_LogFile="LiveCD (Log file)" - -[LiveCD] -BootType=Windows2003 -SystemPath=\reactos -Options=/MININT - -[LiveCD_Debug] -BootType=Windows2003 -SystemPath=\reactos -Options=/DEBUG /DEBUGPORT=COM1 /BAUDRATE=115200 /SOS /MININT - -[LiveCD_Screen] -BootType=Windows2003 -SystemPath=\reactos -Options=/DEBUG /DEBUGPORT=SCREEN /SOS /MININT - -[LiveCD_LogFile] -BootType=Windows2003 -SystemPath=\reactos -Options=/DEBUG /DEBUGPORT=FILE:\Device\HarddiskX\PartitionY\debug.log /SOS /MININT
Modified: branches/setup_improvements/boot/bootdata/welcome_config/welcome.ini URL: http://svn.reactos.org/svn/reactos/branches/setup_improvements/boot/bootdata... ============================================================================== --- branches/setup_improvements/boot/bootdata/welcome_config/welcome.ini [iso-8859-1] (original) +++ branches/setup_improvements/boot/bootdata/welcome_config/welcome.ini [iso-8859-1] Mon Jul 3 17:53:23 2017 @@ -1,4 +1,3 @@ - [Welcome] DisplayCheckBox = 0 DisplayExitButton = 1
Modified: branches/setup_improvements/boot/freeldr/bootsect/CMakeLists.txt URL: http://svn.reactos.org/svn/reactos/branches/setup_improvements/boot/freeldr/... ============================================================================== --- branches/setup_improvements/boot/freeldr/bootsect/CMakeLists.txt [iso-8859-1] (original) +++ branches/setup_improvements/boot/freeldr/bootsect/CMakeLists.txt [iso-8859-1] Mon Jul 3 17:53:23 2017 @@ -26,7 +26,7 @@ add_cd_file(TARGET ext2 DESTINATION loader NO_CAB FILE ${CMAKE_CURRENT_BINARY_DIR}/ext2.bin FOR bootcd regtest) add_cd_file(TARGET fat DESTINATION loader NO_CAB FILE ${CMAKE_CURRENT_BINARY_DIR}/fat.bin FOR bootcd regtest) add_cd_file(TARGET fat32 DESTINATION loader NO_CAB FILE ${CMAKE_CURRENT_BINARY_DIR}/fat32.bin FOR bootcd regtest) - add_cd_file(TARGET isoboot DESTINATION loader NO_CAB NOT_IN_HYBRIDCD FILE ${CMAKE_CURRENT_BINARY_DIR}/isoboot.bin FOR all hybridcd) - add_cd_file(TARGET isobtrt DESTINATION loader NO_CAB NOT_IN_HYBRIDCD FILE ${CMAKE_CURRENT_BINARY_DIR}/isobtrt.bin FOR bootcd regtest) + add_cd_file(TARGET isoboot DESTINATION loader NO_CAB FILE ${CMAKE_CURRENT_BINARY_DIR}/isoboot.bin FOR bootcd regtest) + add_cd_file(TARGET isobtrt DESTINATION loader NO_CAB FILE ${CMAKE_CURRENT_BINARY_DIR}/isobtrt.bin FOR bootcd regtest)
endif()
Modified: branches/setup_improvements/boot/freeldr/freeldr/CMakeLists.txt URL: http://svn.reactos.org/svn/reactos/branches/setup_improvements/boot/freeldr/... ============================================================================== --- branches/setup_improvements/boot/freeldr/freeldr/CMakeLists.txt [iso-8859-1] (original) +++ branches/setup_improvements/boot/freeldr/freeldr/CMakeLists.txt [iso-8859-1] Mon Jul 3 17:53:23 2017 @@ -281,9 +281,7 @@ add_custom_target(freeldr ALL DEPENDS ${_freeldr_pe_output_file}) endif()
-# rename freeldr on livecd to setupldr.sys because isoboot.bin looks for setupldr.sys add_cd_file(TARGET freeldr FILE ${CMAKE_CURRENT_BINARY_DIR}/freeldr.sys DESTINATION loader NO_CAB FOR bootcd regtest) -add_cd_file(TARGET freeldr FILE ${CMAKE_CURRENT_BINARY_DIR}/freeldr.sys DESTINATION loader NO_CAB NOT_IN_HYBRIDCD FOR livecd hybridcd NAME_ON_CD setupldr.sys)
if(NOT ARCH STREQUAL "arm") concatenate_files(
Modified: branches/setup_improvements/modules/CMakeLists.txt URL: http://svn.reactos.org/svn/reactos/branches/setup_improvements/modules/CMake... ============================================================================== --- branches/setup_improvements/modules/CMakeLists.txt [iso-8859-1] (original) +++ branches/setup_improvements/modules/CMakeLists.txt [iso-8859-1] Mon Jul 3 17:53:23 2017 @@ -15,8 +15,8 @@ add_subdirectory(AHK_Tests) endif()
-## Extra files for Boot/Live/Hybrid CD. You need to put them under [boot|live|hybrid]cd_extras -## in the same layout as you want them to be in the CD. +## Extra files for the Boot/Live CD. You need to put them under "[boot|live]cd_extras" +## using the same layout as you want them to be in the CD. if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/bootcd_extras/) file(GLOB_RECURSE EXTRA_FILES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}/bootcd_extras/ ${CMAKE_CURRENT_SOURCE_DIR}/bootcd_extras/*) foreach(item ${EXTRA_FILES}) @@ -29,9 +29,3 @@ add_cd_file(FILE ${CMAKE_CURRENT_SOURCE_DIR}/livecd_extras/${item} DESTINATION extras NO_CAB NAME_ON_CD ${item} FOR livecd) endforeach(item) endif() -if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/hybridcd_extras/) - file(GLOB_RECURSE EXTRA_FILES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}/hybridcd_extras/ ${CMAKE_CURRENT_SOURCE_DIR}/hybridcd_extras/*) - foreach(item ${EXTRA_FILES}) - add_cd_file(FILE ${CMAKE_CURRENT_SOURCE_DIR}/hybridcd_extras/${item} DESTINATION extras NO_CAB NAME_ON_CD ${item} FOR hybridcd) - endforeach(item) -endif()
Modified: branches/setup_improvements/sdk/cmake/CMakeMacros.cmake URL: http://svn.reactos.org/svn/reactos/branches/setup_improvements/sdk/cmake/CMa... ============================================================================== --- branches/setup_improvements/sdk/cmake/CMakeMacros.cmake [iso-8859-1] (original) +++ branches/setup_improvements/sdk/cmake/CMakeMacros.cmake [iso-8859-1] Mon Jul 3 17:53:23 2017 @@ -275,7 +275,7 @@ endmacro()
function(add_cd_file) - cmake_parse_arguments(_CD "NO_CAB;NOT_IN_HYBRIDCD" "DESTINATION;NAME_ON_CD;TARGET" "FILE;FOR" ${ARGN}) + cmake_parse_arguments(_CD "NO_CAB" "DESTINATION;NAME_ON_CD;TARGET" "FILE;FOR" ${ARGN}) if(NOT (_CD_TARGET OR _CD_FILE)) message(FATAL_ERROR "You must provide a target or a file to install!") endif() @@ -307,7 +307,9 @@ if(NOT __cd EQUAL -1) # whether or not we should put it in reactos.cab or directly on cd if(_CD_NO_CAB) - # directly on cd + # directly on cd - replace the "reactos/" directory name to the current build architecture name + # WARNING: CMake REGEXes are always case-sensitive! + string(REGEX REPLACE "^reactos([\\/]+|$)" "${ARCH}\1" _CD_ARCH_DESTINATION "${_CD_DESTINATION}") foreach(item ${_CD_FILE}) if(_CD_NAME_ON_CD) # rename it in the cd tree @@ -315,11 +317,7 @@ else() get_filename_component(__file ${item} NAME) endif() - set_property(GLOBAL APPEND PROPERTY BOOTCD_FILE_LIST "${_CD_DESTINATION}/${__file}=${item}") - # add it also into the hybridcd if not specified otherwise - if(NOT _CD_NOT_IN_HYBRIDCD) - set_property(GLOBAL APPEND PROPERTY HYBRIDCD_FILE_LIST "bootcd/${_CD_DESTINATION}/${__file}=${item}") - endif() + set_property(GLOBAL APPEND PROPERTY BOOTCD_FILE_LIST "${_CD_ARCH_DESTINATION}/${__file}=${item}") endforeach() # manage dependency if(_CD_TARGET) @@ -355,30 +353,8 @@ get_filename_component(__file ${item} NAME) endif() set_property(GLOBAL APPEND PROPERTY LIVECD_FILE_LIST "${_CD_DESTINATION}/${__file}=${item}") - # add it also into the hybridcd if not specified otherwise - if(NOT _CD_NOT_IN_HYBRIDCD) - set_property(GLOBAL APPEND PROPERTY HYBRIDCD_FILE_LIST "livecd/${_CD_DESTINATION}/${__file}=${item}") - endif() endforeach() endif() #end livecd - - # do we need also to add it to hybridcd? - list(FIND _CD_FOR hybridcd __cd) - if(NOT __cd EQUAL -1) - # manage dependency - if(_CD_TARGET) - add_dependencies(hybridcd ${_CD_TARGET}) - endif() - foreach(item ${_CD_FILE}) - if(_CD_NAME_ON_CD) - # rename it in the cd tree - set(__file ${_CD_NAME_ON_CD}) - else() - get_filename_component(__file ${item} NAME) - endif() - set_property(GLOBAL APPEND PROPERTY HYBRIDCD_FILE_LIST "${_CD_DESTINATION}/${__file}=${item}") - endforeach() - endif() #end hybridcd
# do we add it to regtest? list(FIND _CD_FOR regtest __cd) @@ -412,15 +388,16 @@ endfunction()
function(create_iso_lists) - # generate reactos.cab before anything else + # Generate reactos.cab before anything else get_property(_filelist GLOBAL PROPERTY REACTOS_CAB_DEPENDS)
- # begin with reactos.inf. We want this command to be always executed, so we pretend it generates another file although it will never do. + # Begin with reactos.inf. We want this command to be always executed, so we pretend it generates another file although it will never do. add_custom_command( OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/reactos.inf ${CMAKE_CURRENT_BINARY_DIR}/__some_non_existent_file COMMAND ${CMAKE_COMMAND} -E copy_if_different ${REACTOS_BINARY_DIR}/boot/bootdata/packages/reactos.inf ${CMAKE_CURRENT_BINARY_DIR}/reactos.inf DEPENDS ${REACTOS_BINARY_DIR}/boot/bootdata/packages/reactos.inf reactos_cab_inf)
+ # Now build reactos.cab itself add_custom_command( OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/reactos.cab COMMAND native-cabman -C ${REACTOS_BINARY_DIR}/boot/bootdata/packages/reactos.dff -RC ${CMAKE_CURRENT_BINARY_DIR}/reactos.inf -N -P ${REACTOS_SOURCE_DIR} @@ -429,32 +406,38 @@ add_custom_target(reactos_cab DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/reactos.cab) add_dependencies(reactos_cab reactos_cab_inf)
+ # Add reactos.cab into the BootCD add_cd_file( TARGET reactos_cab FILE ${CMAKE_CURRENT_BINARY_DIR}/reactos.cab DESTINATION reactos NO_CAB FOR bootcd regtest)
+ # Add the LiveImage into the BootCD add_cd_file( - FILE ${CMAKE_CURRENT_BINARY_DIR}/livecd.iso - DESTINATION livecd - FOR hybridcd) - + TARGET livecd + FILE ${CMAKE_CURRENT_BINARY_DIR}/liveimage.iso + DESTINATION root + NO_CAB FOR bootcd) + + # Write the LiveImage file list + get_property(_filelist GLOBAL PROPERTY LIVECD_FILE_LIST) + string(REPLACE ";" "\n" _filelist "${_filelist}") + file(APPEND ${REACTOS_BINARY_DIR}/boot/livecd.lst "${_filelist}") + unset(_filelist) + + # Write the BootCD file list get_property(_filelist GLOBAL PROPERTY BOOTCD_FILE_LIST) string(REPLACE ";" "\n" _filelist "${_filelist}") file(APPEND ${REACTOS_BINARY_DIR}/boot/bootcd.lst "${_filelist}") unset(_filelist) - - get_property(_filelist GLOBAL PROPERTY LIVECD_FILE_LIST) - string(REPLACE ";" "\n" _filelist "${_filelist}") - file(APPEND ${REACTOS_BINARY_DIR}/boot/livecd.lst "${_filelist}") + # Also, append the file contents list of the LiveImage to the BootCD file list + file(APPEND ${REACTOS_BINARY_DIR}/boot/bootcd.lst "\n") + file(READ ${REACTOS_BINARY_DIR}/boot/livecd.lst _filelist) + file(APPEND ${REACTOS_BINARY_DIR}/boot/bootcd.lst "${_filelist}") unset(_filelist)
- get_property(_filelist GLOBAL PROPERTY HYBRIDCD_FILE_LIST) - string(REPLACE ";" "\n" _filelist "${_filelist}") - file(APPEND ${REACTOS_BINARY_DIR}/boot/hybridcd.lst "${_filelist}") - unset(_filelist) - + # Write the BootCDRegTest file list get_property(_filelist GLOBAL PROPERTY BOOTCDREGTEST_FILE_LIST) string(REPLACE ";" "\n" _filelist "${_filelist}") file(APPEND ${REACTOS_BINARY_DIR}/boot/bootcdregtest.lst "${_filelist}") @@ -825,7 +808,7 @@ TARGET bcd_hive DESTINATION efi/boot NO_CAB - FOR bootcd regtest livecd) + FOR bootcd regtest)
endfunction()