diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index ecdf59575b2..5fd77e4c552 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -70,7 +70,7 @@ jobs: - name: Build run: echo 'cmake --build ${{github.workspace}}/build -- -k0' | ${{github.workspace}}/RosBE-CI/RosBE.sh . 0 ${{matrix.arch}} - name: Generate ISOs - run: echo 'cmake --build ${{github.workspace}}/build --target bootcd --target livecd' | ${{github.workspace}}/RosBE-CI/RosBE.sh . 0 ${{matrix.arch}} + run: echo 'cmake --build ${{github.workspace}}/build --target bootcd' | ${{github.workspace}}/RosBE-CI/RosBE.sh . 0 ${{matrix.arch}} - name: Print ccache statistics run: ccache -s - name: Upload ISOs @@ -79,7 +79,6 @@ jobs: name: reactos-${{matrix.compiler}}-${{matrix.arch}}-${{matrix.config}}-${{matrix.dllver}}-${{github.sha}} path: | build/bootcd.iso - build/livecd.iso build-msvc: strategy: @@ -127,14 +126,13 @@ jobs: - name: Build run: cmake --build build -- -k0 - name: Generate ISOs - run: cmake --build build --target bootcd --target livecd + run: cmake --build build --target bootcd - name: Upload ISOs uses: actions/upload-artifact@v5 with: name: reactos-msvc${{matrix.toolset}}-${{matrix.arch}}-${{matrix.config}}-${{matrix.dllver}}-${{github.sha}} path: | build/bootcd.iso - build/livecd.iso - name: Upload debug symbols if: ${{ matrix.config == 'Debug' }} uses: actions/upload-artifact@v5 @@ -295,14 +293,13 @@ jobs: - name: Build run: cmake --build build -- -k0 - name: Generate ISOs - run: cmake --build build --target bootcd --target livecd + run: cmake --build build --target bootcd - name: Upload ISOs uses: actions/upload-artifact@v5 with: name: reactos-clang-cl-${{matrix.arch}}-${{matrix.config}}-${{github.sha}} path: | build/bootcd.iso - build/livecd.iso - name: Upload debug symbols if: ${{ matrix.config == 'Debug' }} uses: actions/upload-artifact@v5 @@ -334,4 +331,4 @@ jobs: cd build cmake -G "Visual Studio 17 2022" -A Win32 -DCMAKE_TOOLCHAIN_FILE:FILEPATH=toolchain-msvc.cmake -DARCH:STRING=i386 -DENABLE_ROSTESTS=1 -DENABLE_ROSAPPS=1 ${{github.workspace}}\src - name: Build - run: cmake --build ${{github.workspace}}\build --target bootcd --target livecd + run: cmake --build ${{github.workspace}}\build --target bootcd diff --git a/.gitignore b/.gitignore index 839e87d9baa..a4746f64d16 100644 --- a/.gitignore +++ b/.gitignore @@ -3,7 +3,6 @@ output-* modules/optional modules/bootcd_extras modules/livecd_extras -modules/hybridcd_extras modules/3rdparty modules/[Aa][Hh][Kk]_[Tt]ests .cache diff --git a/.theia/launch.json b/.theia/launch.json index 8a7abb7111b..be90aba1b73 100644 --- a/.theia/launch.json +++ b/.theia/launch.json @@ -3,17 +3,6 @@ // Hover to view descriptions of existing attributes. "version": "0.2.0", "configurations": [ - { - "type": "cppdbg", - "request": "launch", - "name": "livecd (qemu)", - "preLaunchTask": "launch livecd", - "miDebuggerServerAddress": "localhost:9091", - "miDebuggerArgs": "-l 15 -ex 'set sysroot ${workspaceRoot}/build/symbols'", - "program": "${workspaceRoot}/build/ntoskrnl/ntoskrnl.exe", - "cwd": "${workspaceRoot}/build", - "miDebuggerPath": "i686-w64-mingw32-gdb" - }, { "type": "cppdbg", "request": "launch", diff --git a/.theia/tasks.json b/.theia/tasks.json index 58d78516f95..e7b57796240 100644 --- a/.theia/tasks.json +++ b/.theia/tasks.json @@ -1,18 +1,19 @@ { - // See https://go.microsoft.com/fwlink/?LinkId=733558 - // for the documentation about the tasks.json format - "version": "2.0.0", - "tasks": [ + // See https://go.microsoft.com/fwlink/?LinkId=733558 + // for the documentation about the tasks.json format + "version": "2.0.0", + "tasks": [ { - "label": "build livecd", + "label": "build bootcd", "type": "shell", - "command": "ninja livecd", + "command": "ninja bootcd", "options": { "cwd": "${workspaceFolder}/build" }, "group": "build", "problemMatcher": [ { + "base": "$gcc", "owner": "cpp", "fileLocation": ["relative", "${workspaceFolder}/build"], "pattern": { @@ -26,43 +27,6 @@ } ] }, - { - "label": "build bootcd", - "type": "shell", - "command": "ninja bootcd", - "options": { - "cwd": "${workspaceFolder}/build" - }, - "group": "build", - "problemMatcher": [ - { - "base": "$gcc", - "fileLocation": ["relative", "${workspaceFolder}/build"], - }, - ] - }, - { - "label": "launch livecd", - "type": "process", - "options": { - "cwd": "${workspaceFolder}/build" - }, - "dependsOn": [ - "build livecd" - ], - "dependsOrder": "sequence", - "command": "qemu-system-i386", - "args": [ - "-cdrom", "livecd.iso", - "-chardev", "socket,port=9091,host=localhost,server,nowait,id=char0", - "-serial", "chardev:char0", - "-nic", "user,model=e1000", - "-boot", "d", - "-chardev", "socket,path=/tmp/livecd_dbg,server,nowait,id=char1", "-serial", "chardev:char1", - "-daemonize" - ], - "problemMatcher": [] - }, { "label": "launch bootcd", "type": "process", diff --git a/CMakeLists.txt b/CMakeLists.txt index 0c983a7ef4d..f6340581675 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -380,7 +380,7 @@ Enable this if the module uses typeid or dynamic_cast. You will probably need to # Create the registry hives create_registry_hives() - # Create {bootcd, livecd, bootcdregtest}.lst + # Create {bootcd, bootcdregtest, livecd}.lst create_iso_lists() file(MAKE_DIRECTORY ${REACTOS_BINARY_DIR}/sdk/include/reactos) diff --git a/base/setup/welcome/CMakeLists.txt b/base/setup/welcome/CMakeLists.txt index 725e5ae4523..847503f0c6a 100644 --- a/base/setup/welcome/CMakeLists.txt +++ b/base/setup/welcome/CMakeLists.txt @@ -27,4 +27,7 @@ if(ARCH STREQUAL "i386") endif() endif() -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) diff --git a/boot/CMakeLists.txt b/boot/CMakeLists.txt index 203ae0a0860..b28f9e59faa 100644 --- a/boot/CMakeLists.txt +++ b/boot/CMakeLists.txt @@ -5,5 +5,5 @@ add_subdirectory(bootdata) add_subdirectory(freeldr) add_subdirectory(rtl) -add_cd_file(FILE ${CMAKE_CURRENT_SOURCE_DIR}/remaster.cmd DESTINATION loader NO_CAB NOT_IN_HYBRIDCD FOR bootcd livecd hybridcd) -add_cd_file(FILE ${CMAKE_CURRENT_SOURCE_DIR}/remaster.sh DESTINATION loader NO_CAB NOT_IN_HYBRIDCD FOR bootcd livecd hybridcd) +add_cd_file(FILE ${CMAKE_CURRENT_SOURCE_DIR}/remaster.cmd DESTINATION loader NO_CAB NOT_IN_HYBRIDCD FOR bootcd) +add_cd_file(FILE ${CMAKE_CURRENT_SOURCE_DIR}/remaster.sh DESTINATION loader NO_CAB NOT_IN_HYBRIDCD FOR bootcd) diff --git a/boot/boot_images.cmake b/boot/boot_images.cmake index f326f6019f1..16948bfb46b 100644 --- a/boot/boot_images.cmake +++ b/boot/boot_images.cmake @@ -140,7 +140,6 @@ endfunction() ## BootCD # Create the file list -file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/bootcd.cmake.lst "") file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/bootcd.cmake.lst "${CMAKE_CURRENT_BINARY_DIR}/empty\n") add_custom_target(bootcd @@ -148,12 +147,11 @@ add_custom_target(bootcd ${ISO_COMMON_OPTIONS} ${ISO_BOOT_OPTIONS} ${ISO_BOOT_FILES_OPTIONS} ${ISO_LAYOUT_OPTIONS} -path-list ${CMAKE_CURRENT_BINARY_DIR}/bootcd.$.lst COMMAND native-isohybrid -b ${_isombr_file} -t 0x96 ${REACTOS_BINARY_DIR}/bootcd.iso - DEPENDS isombr native-isohybrid native-mkisofs + DEPENDS isombr native-isohybrid native-mkisofs livecd VERBATIM) ## BootCDRegTest # Create the file list -file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/bootcdregtest.cmake.lst "") file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/bootcdregtest.cmake.lst "${CMAKE_CURRENT_BINARY_DIR}/empty\n") add_custom_target(bootcdregtest @@ -164,12 +162,10 @@ add_custom_target(bootcdregtest DEPENDS isombr native-isohybrid native-mkisofs VERBATIM) -## LiveCD +## LiveImage -- Constitutes a small RAMDISK ISO, and is also merged with the BootCD # Create the file list -file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/livecd.cmake.lst "") file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/livecd.cmake.lst "${CMAKE_CURRENT_BINARY_DIR}/empty\n") - -# Create TEMP dir +# Create TEMP directory file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/livecd.cmake.lst "reactos/TEMP=${CMAKE_CURRENT_BINARY_DIR}/empty\n") # Create user profile directories @@ -177,33 +173,15 @@ add_allusers_profile_dirs(${CMAKE_CURRENT_BINARY_DIR}/livecd.cmake.lst "Profiles add_user_profile_dirs(${CMAKE_CURRENT_BINARY_DIR}/livecd.cmake.lst "Profiles" "Default User") add_custom_target(livecd - COMMAND native-mkisofs -quiet -o ${REACTOS_BINARY_DIR}/livecd.iso - ${ISO_COMMON_OPTIONS} ${ISO_BOOT_OPTIONS} ${ISO_BOOT_FILES_OPTIONS} ${ISO_LAYOUT_OPTIONS} + COMMAND native-mkisofs -quiet -o ${REACTOS_BINARY_DIR}/liveimg.iso + ${ISO_COMMON_OPTIONS} ${ISO_LAYOUT_OPTIONS} -path-list ${CMAKE_CURRENT_BINARY_DIR}/livecd.$.lst - COMMAND native-isohybrid -b ${_isombr_file} -t 0x96 ${REACTOS_BINARY_DIR}/livecd.iso - DEPENDS isombr native-isohybrid native-mkisofs - VERBATIM) - -## HybridCD -# Create the file list -file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/hybridcd.cmake.lst "") -file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/hybridcd.cmake.lst "${CMAKE_CURRENT_BINARY_DIR}/empty\n") - -# Create user profile directories -add_allusers_profile_dirs(${CMAKE_CURRENT_BINARY_DIR}/hybridcd.cmake.lst "livecd/Profiles") -add_user_profile_dirs(${CMAKE_CURRENT_BINARY_DIR}/hybridcd.cmake.lst "livecd/Profiles" "Default User") - -add_custom_target(hybridcd - COMMAND native-mkisofs -quiet -o ${REACTOS_BINARY_DIR}/hybridcd.iso - ${ISO_COMMON_OPTIONS} ${ISO_BOOT_OPTIONS} ${ISO_BOOT_FILES_OPTIONS} ${ISO_LAYOUT_OPTIONS} - -path-list ${CMAKE_CURRENT_BINARY_DIR}/hybridcd.$.lst - COMMAND native-isohybrid -b ${_isombr_file} -t 0x96 ${REACTOS_BINARY_DIR}/hybridcd.iso - DEPENDS bootcd livecd + DEPENDS native-mkisofs VERBATIM) if(DEFINED EFI_PLATFORM_ID) # For devices such as USB drives, add also the EFI boot image into efi/boot. - 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 uefildr DESTINATION efi/boot NO_CAB NAME_ON_CD boot${EFI_PLATFORM_ID}.efi FOR livecd hybridcd) + add_cd_file(TARGET efisys FILE ${CMAKE_CURRENT_BINARY_DIR}/efisys.bin DESTINATION loader NO_CAB FOR bootcd regtest) + add_cd_file(TARGET uefildr DESTINATION efi/boot NO_CAB NAME_ON_CD boot${EFI_PLATFORM_ID}.efi FOR bootcd regtest) endif() diff --git a/boot/bootdata/CMakeLists.txt b/boot/bootdata/CMakeLists.txt index 2f98ff2dbdd..dad1756f49e 100644 --- a/boot/bootdata/CMakeLists.txt +++ b/boot/bootdata/CMakeLists.txt @@ -1,14 +1,14 @@ 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) add_custom_target(converted_caroots_inf DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/caroots.inf) utf16le_convert(${CMAKE_CURRENT_SOURCE_DIR}/caroots.inf ${CMAKE_CURRENT_BINARY_DIR}/caroots.inf) add_cd_file(TARGET converted_caroots_inf FILE ${CMAKE_CURRENT_BINARY_DIR}/caroots.inf DESTINATION reactos NO_CAB FOR bootcd regtest) +# Common hives add_registry_inf( hivecls.inf hivedef.inf @@ -16,26 +16,24 @@ add_registry_inf( 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) 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 setup.exe file is a renamed welcome.exe for BootCD purposes. +# welcome.exe optional custom configuration (only for LiveImage) 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) @@ -44,23 +42,21 @@ if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/welcome_config/) set(_converted_file ${CMAKE_CURRENT_BINARY_DIR}/welcome_config/${_file}) set(_source_file ${CMAKE_CURRENT_SOURCE_DIR}/welcome_config/${_file}) utf16le_convert(${_source_file} ${_converted_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}/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) -add_cd_file(FILE ${CMAKE_CURRENT_SOURCE_DIR}/livecd/unattend.inf DESTINATION reactos NO_CAB FOR livecd) +add_cd_file(FILE ${CMAKE_CURRENT_SOURCE_DIR}/bootcdregtest/unattend.inf DESTINATION reactos NO_CAB FOR regtest) -# 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") diff --git a/boot/bootdata/autorun-bootcd.inf b/boot/bootdata/autorun-bootcd.inf deleted file mode 100644 index a119697d4be..00000000000 --- a/boot/bootdata/autorun-bootcd.inf +++ /dev/null @@ -1,3 +0,0 @@ -[autorun] -open=reactos\welcome.exe -icon=icon.ico diff --git a/boot/bootdata/autorun-hybridcd.inf b/boot/bootdata/autorun-hybridcd.inf deleted file mode 100644 index cd306207ded..00000000000 --- a/boot/bootdata/autorun-hybridcd.inf +++ /dev/null @@ -1,3 +0,0 @@ -[autorun] -open=bootcd\reactos\welcome.exe -icon=icon.ico diff --git a/boot/bootdata/autorun-livecd.inf b/boot/bootdata/autorun.inf similarity index 50% rename from boot/bootdata/autorun-livecd.inf rename to boot/bootdata/autorun.inf index e4e41890ae4..d320e24a290 100644 --- a/boot/bootdata/autorun-livecd.inf +++ b/boot/bootdata/autorun.inf @@ -1,3 +1,3 @@ [autorun] -shellexecute=readme.txt +open=setup.exe icon=icon.ico diff --git a/boot/bootdata/bootcd.ini b/boot/bootdata/bootcd.ini index b079d85c0f2..711efc6bf82 100644 --- a/boot/bootdata/bootcd.ini +++ b/boot/bootdata/bootcd.ini @@ -1,16 +1,24 @@ [FREELOADER] -DefaultOS=Setup -TimeOut=0 +DefaultOS=LiveImg_Debug +TimeOut=10 [Display] -TitleText=ReactOS Setup +TitleText=ReactOS Boot Media MinimalUI=Yes [Operating Systems] -Setup="Setup" +Setup="ReactOS Setup (Text Mode)" +LiveImg="ReactOS Live Environment (Graphics Mode)" +LiveImg_RamDisk="ReactOS Live Environment (Graphics Mode) in RAM" + +;; The following options are for testing and development: Setup_Debug="Setup (Debug)" -Setup_Aacpi="Setup ACPI APIC (Debug)" -Setup_Screen="Setup (Screen)" +Setup_Screen="Setup (Screen Debug)" +LiveImg_Debug="Live Environment (Debug)" +LiveImg_VBoxDebug="Live Environment (VBox Debug)" +LiveImg_Screen="Live Environment (Screen Debug)" +; The following entry is an example template: +;LiveImg_LogFile="Live Environment (Log file)" [Setup] BootType=ReactOSSetup @@ -19,10 +27,37 @@ BootType=ReactOSSetup BootType=ReactOSSetup Options=/DEBUG /DEBUGPORT=COM1 /BAUDRATE=115200 /NOGUIBOOT /SIFOPTIONSOVERRIDE -[Setup_Aacpi] -BootType=ReactOSSetup -Options=/HAL=halaacpi.dll /DEBUG /DEBUGPORT=COM1 /BAUDRATE=115200 /NOGUIBOOT /SIFOPTIONSOVERRIDE - [Setup_Screen] BootType=ReactOSSetup Options=/DEBUG /DEBUGPORT=SCREEN /SIFOPTIONSOVERRIDE + +[LiveImg] +BootType=Windows2003 +SystemPath=\reactos +Options=/FASTDETECT /MININT + +[LiveImg_RamDisk] +BootType=Windows2003 +SystemPath=ramdisk(0)\reactos +Options=/FASTDETECT /MININT /RDPATH= /RDEXPORTASCD +;Options=/FASTDETECT /MININT /RDPATH=liveimg.iso /RDEXPORTASCD + +[LiveImg_Debug] +BootType=Windows2003 +SystemPath=\reactos +Options=/DEBUG /DEBUGPORT=COM1 /BAUDRATE=115200 /SOS /FASTDETECT /MININT + +[LiveImg_VBoxDebug] +BootType=Windows2003 +SystemPath=\reactos +Options=/DEBUG /DEBUGPORT=VBOX /SOS /FASTDETECT /MININT + +[LiveImg_Screen] +BootType=Windows2003 +SystemPath=\reactos +Options=/DEBUG /DEBUGPORT=SCREEN /SOS /FASTDETECT /MININT + +;[LiveImg_LogFile] +;BootType=Windows2003 +;SystemPath=\reactos +;Options=/DEBUG /DEBUGPORT=FILE:\Device\HarddiskX\PartitionY\debug.log /SOS /FASTDETECT /MININT diff --git a/boot/bootdata/bootcd/unattend.inf b/boot/bootdata/bootcd/unattend.inf index 3dcffae4cd5..c9abe29d11d 100644 --- a/boot/bootdata/bootcd/unattend.inf +++ b/boot/bootdata/bootcd/unattend.inf @@ -1,7 +1,7 @@ [Unattend] Signature = "$ReactOS$" -; Set UnattendSetupEnabled to yes in order to get unattended setup working +; Set UnattendSetupEnabled to yes in order to get unattended setup working. ; yes - unattend setup enabled ; no - unattend setup disabled UnattendSetupEnabled = no @@ -22,62 +22,58 @@ FullName="MyName" ComputerName="MYCOMPUTERNAME" ;AdminPassword="MyPassword" -; TimeZone is set GMT as default +; TimeZone is set to GMT as default. TimeZoneIndex=85 -; enable this setting to disable daylight saving changes -; DisableAutoDaylightTimeSet = 1 +; Enable this setting to disable daylight saving changes. +;DisableAutoDaylightTimeSet = 1 -; enable this setting to format the selected partition +; Enable this setting to format the selected partition. ; 1 - format enabled ; 0 - format disabled FormatPartition=1 -; enable this setting to automatically create a partition -; during installation +; Enable this setting to automatically create a partition during installation. ; 1 - enabled ; 0 - disabled AutoPartition = 1 -; choose default file system type +; Choose default file system type. ; 0 - FAT ; 1 - BtrFS FsType = 0 -; enable this setting to disable Gecko install +; Enable this setting to disable Gecko install. ; yes - disabled ; no - enabled DisableGeckoInst = no -; set this option to automatically -; specify language in 2nd mode setup -; see hivesys.inf for available languages +; Set this option to automatically specify language in 2nd mode setup. +; See hivesys.inf for available languages. LocaleID = 409 -; set product option -; 0: ReactOS Server -; 1: ReactOS Workstation +; Set product option. +; 0 - ReactOS Server +; 1 - ReactOS Workstation ProductOption = 0 -; Enable this section to automatically launch programs -; after 3rd boot -; [GuiRunOnce] -; %SystemRoot%\system32\cmd.exe +; Enable this section to automatically launch programs after 3rd boot. +;[GuiRunOnce] +;%SystemRoot%\system32\cmd.exe -; Enable this section to change resolution / bpp -; setting a value to 0 or skipping it will leave it unchanged -; [Display] -; BitsPerPel = 32 -; XResolution = 1440 -; YResolution = 900 -; VRefresh = 0 +; Enable this section to change resolution / bpp. +; Setting a value to 0 or skipping it will leave it unchanged. +;[Display] +;BitsPerPel = 32 +;XResolution = 1440 +;YResolution = 900 +;VRefresh = 0 -; enable this section to add environment variables +; Enable this section to add environment variables. ;[Env] ;WINETEST_PLATFORM=reactos -; Enable this section to enable the default ReactOS theme -; [Shell] -; DefaultThemesOff = no -; CustomDefaultThemeFile = "%WINDIR%\Resources\Themes\Lautus\lautus.msstyles" - +; Enable this section to enable the default ReactOS theme. +;[Shell] +;DefaultThemesOff = no +;CustomDefaultThemeFile = "%WINDIR%\Resources\Themes\Lautus\lautus.msstyles" diff --git a/boot/bootdata/bootcd_regtest.ini b/boot/bootdata/bootcd_regtest.ini new file mode 100644 index 00000000000..87bfa35ed61 --- /dev/null +++ b/boot/bootdata/bootcd_regtest.ini @@ -0,0 +1,13 @@ +[FREELOADER] +DefaultOS=Setup +TimeOut=0 + +[Display] +TitleText=ReactOS Setup +MinimalUI=Yes + +[Operating Systems] +Setup="Setup" + +[Setup] +BootType=ReactOSSetup diff --git a/boot/bootdata/bootcdregtest/unattend.inf b/boot/bootdata/bootcdregtest/unattend.inf index c58b6c8f90f..286e5ce5696 100644 --- a/boot/bootdata/bootcdregtest/unattend.inf +++ b/boot/bootdata/bootcdregtest/unattend.inf @@ -1,7 +1,7 @@ [Unattend] Signature = "$ReactOS$" -; Set UnattendSetupEnabled to yes in order to get unattended setup working +; Set UnattendSetupEnabled to yes in order to get unattended setup working. ; yes - unattend setup enabled ; no - unattend setup disabled UnattendSetupEnabled = yes @@ -22,36 +22,32 @@ FullName="MyName" ComputerName="MYCOMPUTERNAME" ;AdminPassword="MyPassword" -; TimeZone is set GMT as default +; TimeZone is set to GMT as default. TimeZoneIndex=85 -; enable this setting to disable daylight saving changes -; DisableAutoDaylightTimeSet = 1 +; Enable this setting to disable daylight saving changes. +;DisableAutoDaylightTimeSet = 1 -; enable this setting to format the selected partition +; Enable this setting to format the selected partition. ; 1 - format enabled ; 0 - format disabled FormatPartition=1 -; enable this setting to automatically create a partition -; during installation +; Enable this setting to automatically create a partition during installation. ; 1 - enabled ; 0 - disabled AutoPartition = 1 -; choose default file system type +; Choose default file system type. ; 0 - FAT ; 1 - BtrFS FsType = 0 -; set this option to automatically -; specify language in 2nd mode setup -; see hivesys.inf for available languages +; Set this option to automatically specify language in 2nd mode setup. +; See hivesys.inf for available languages. LocaleID = 409 -; enable this section to automatically launch programs -; after 3rd boot -; +; Enable this section to automatically launch programs after 3rd boot. [GuiRunOnce] %SystemRoot%\system32\cmd.exe /c "regtest.cmd" @@ -60,4 +56,3 @@ BitsPerPel = 16 XResolution = 800 YResolution = 600 VRefresh = 0 - diff --git a/boot/bootdata/floppy_pc98.ini b/boot/bootdata/floppy_pc98.ini index 93b5830efda..eb64b82b051 100644 --- a/boot/bootdata/floppy_pc98.ini +++ b/boot/bootdata/floppy_pc98.ini @@ -1,51 +1,52 @@ [FREELOADER] -DefaultOS=LiveCD_Debug -TimeOut=5 +DefaultOS=LiveImg_Debug +TimeOut=10 [Display] -TitleText=ReactOS CD boot +TitleText=ReactOS CD-ROM Boot MinimalUI=Yes [Operating Systems] -Setup="Setup" +Setup="ReactOS Setup (Text Mode)" Setup_Debug="Setup (Debug)" -Setup_Screen="Setup (Screen)" -LiveCD="LiveCD" -LiveCD_Debug="LiveCD (Debug)" -LiveCD_Screen="LiveCD (Screen)" -LiveCD_LogFile="LiveCD (Log file)" +Setup_Screen="Setup (Screen Debug)" +LiveImg="ReactOS Live Environment (Graphics Mode)" +LiveImg_Debug="Live Environment (Debug)" +LiveImg_Screen="Live Environment (Screen Debug)" +; The following entry is an example template: +;LiveImg_LogFile="Live Environment (Log file)" [Setup] BootType=ReactOSSetup -SystemPath=multi(0)disk(0)cdrom(0)\reactos +SystemPath=multi(0)disk(0)cdrom(0)\ Options=/HAL=halpc98.dll [Setup_Debug] BootType=ReactOSSetup -SystemPath=multi(0)disk(0)cdrom(0)\reactos +SystemPath=multi(0)disk(0)cdrom(0)\ Options=/HAL=halpc98.dll /DEBUG /DEBUGPORT=COM1 /BAUDRATE=9600 /NOGUIBOOT /SIFOPTIONSOVERRIDE [Setup_Screen] BootType=ReactOSSetup -SystemPath=multi(0)disk(0)cdrom(0)\reactos +SystemPath=multi(0)disk(0)cdrom(0)\ Options=/HAL=halpc98.dll /DEBUG /DEBUGPORT=SCREEN /SIFOPTIONSOVERRIDE -[LiveCD] +[LiveImg] BootType=Windows2003 SystemPath=multi(0)disk(0)cdrom(0)\reactos Options=/HAL=halpc98.dll /MININT -[LiveCD_Debug] +[LiveImg_Debug] BootType=Windows2003 SystemPath=multi(0)disk(0)cdrom(0)\reactos Options=/HAL=halpc98.dll /DEBUG /DEBUGPORT=COM1 /BAUDRATE=9600 /SOS /MININT -[LiveCD_Screen] +[LiveImg_Screen] BootType=Windows2003 SystemPath=multi(0)disk(0)cdrom(0)\reactos Options=/HAL=halpc98.dll /DEBUG /DEBUGPORT=SCREEN /SOS /MININT -[LiveCD_LogFile] -BootType=Windows2003 -SystemPath=multi(0)disk(0)cdrom(0)\reactos -Options=/HAL=halpc98.dll /DEBUG /DEBUGPORT=FILE:\Device\HarddiskX\PartitionY\debug.log /SOS /MININT +;[LiveImg_LogFile] +;BootType=Windows2003 +;SystemPath=multi(0)disk(0)cdrom(0)\reactos +;Options=/HAL=halpc98.dll /DEBUG /DEBUGPORT=FILE:\Device\HarddiskX\PartitionY\debug.log /SOS /MININT diff --git a/boot/bootdata/hybridcd.ini b/boot/bootdata/hybridcd.ini deleted file mode 100644 index 04278b07488..00000000000 --- a/boot/bootdata/hybridcd.ini +++ /dev/null @@ -1,68 +0,0 @@ -[FREELOADER] -DefaultOS=Setup -TimeOut=5 - -[Display] -TitleText=ReactOS Hybrid-CD -MinimalUI=Yes - -[Operating Systems] -Setup="Setup" -Setup_Debug="Setup (Debug)" -Setup_Screen="Setup (Screen)" -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 - -[Setup_Debug] -BootType=ReactOSSetup -SystemPath=\bootcd -Options=/DEBUG /DEBUGPORT=COM1 /BAUDRATE=115200 /NOGUIBOOT /SIFOPTIONSOVERRIDE - -[Setup_Screen] -BootType=ReactOSSetup -SystemPath=\bootcd -Options=/DEBUG /DEBUGPORT=SCREEN /SIFOPTIONSOVERRIDE - -[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 diff --git a/boot/bootdata/livecd.ini b/boot/bootdata/livecd.ini deleted file mode 100644 index f36197c2e1d..00000000000 --- a/boot/bootdata/livecd.ini +++ /dev/null @@ -1,51 +0,0 @@ -[FREELOADER] -DefaultOS=LiveCD_Debug -TimeOut=5 - -[Display] -TitleText=ReactOS LiveCD -MinimalUI=Yes - -[Operating Systems] -LiveCD="LiveCD" -LiveCD_Debug="LiveCD (Debug)" -LiveCD_Macpi="LiveCD ACPI SMP (Debug)" -LiveCD_Aacpi="LiveCD ACPI APIC (Debug)" -LiveCD_VBoxDebug="LiveCD (VBox Debug)" -LiveCD_Screen="LiveCD (Screen)" -LiveCD_LogFile="LiveCD (Log file)" - -[LiveCD] -BootType=Windows2003 -SystemPath=\reactos -Options=/FASTDETECT /MININT - -[LiveCD_Debug] -BootType=Windows2003 -SystemPath=\reactos -Options=/DEBUG /DEBUGPORT=COM1 /BAUDRATE=115200 /SOS /FASTDETECT /MININT - -[LiveCD_Macpi] -BootType=Windows2003 -SystemPath=\reactos -Options=/HAL=halmacpi.dll /KERNEL=ntkrnlmp.exe /DEBUG /DEBUGPORT=COM1 /BAUDRATE=115200 /SOS /FASTDETECT /MININT - -[LiveCD_Aacpi] -BootType=Windows2003 -SystemPath=\reactos -Options=/HAL=halaacpi.dll /DEBUG /DEBUGPORT=COM1 /BAUDRATE=115200 /SOS /FASTDETECT /MININT - -[LiveCD_VBoxDebug] -BootType=Windows2003 -SystemPath=\reactos -Options=/DEBUG /DEBUGPORT=VBOX /SOS /FASTDETECT /MININT - -[LiveCD_Screen] -BootType=Windows2003 -SystemPath=\reactos -Options=/DEBUG /DEBUGPORT=SCREEN /SOS /FASTDETECT /MININT - -[LiveCD_LogFile] -BootType=Windows2003 -SystemPath=\reactos -Options=/DEBUG /DEBUGPORT=FILE:\Device\HarddiskX\PartitionY\debug.log /SOS /FASTDETECT /MININT diff --git a/boot/bootdata/livecd/unattend.inf b/boot/bootdata/livecd/unattend.inf index 9336b0ff791..ee5b81ea1d9 100644 --- a/boot/bootdata/livecd/unattend.inf +++ b/boot/bootdata/livecd/unattend.inf @@ -1,13 +1,11 @@ [Unattend] Signature = "$ReactOS$" -; Set UnattendSetupEnabled to yes in order to boot the livecd immediately to desktop +; Set UnattendSetupEnabled to yes in order to boot the LiveImage immediately to desktop. ; yes - unattend setup enabled ; no - unattend setup disabled UnattendSetupEnabled = no -; set this option to automatically -; specify language in the language setup -; see hivesys.inf for available languages +; Set this option to automatically specify language in the language setup. +; See hivesys.inf for available languages. LocaleID = 409 - diff --git a/boot/bootdata/livecdregtest/.keep b/boot/bootdata/livecdregtest/.keep deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/boot/bootdata/txtsetup.sif b/boot/bootdata/txtsetup.sif index f1a5d8383ee..1f35faa1170 100644 --- a/boot/bootdata/txtsetup.sif +++ b/boot/bootdata/txtsetup.sif @@ -15,12 +15,10 @@ Signature = "$Windows NT$" _1 = %cdname%,%cdtagfile%,,"" [SourceDisksNames.x86] -;1 = %cdname%,%cdtagfilei%,,\i386 -1 = %cdname%,%cdtagfilei%,,\reactos +1 = %cdname%,%cdtagfilei%,,\i386 [SourceDisksNames.amd64] -;1 = %cdname%,%cdtagfilea%,,\amd64 -1 = %cdname%,%cdtagfilei%,,\reactos +1 = %cdname%,%cdtagfilea%,,\amd64 ; ; The directories listed in the [Directories] or [WinntDirectories] sections @@ -43,7 +41,7 @@ _1 = %cdname%,%cdtagfile%,,"" [DiskSpaceRequirements] ; Required free system partition disk space in MB -FreeSysPartDiskSpace=450 +FreeSysPartDiskSpace = 450 ; ; The [SourceDisksFiles] section lists all the files available to the @@ -221,7 +219,7 @@ disk = disk.sys inport = inport.sys [Cabinets] -Cabinet=reactos.cab +Cabinet = reactos.cab [SetupData] DefaultPath = \ReactOS @@ -488,7 +486,6 @@ Default = "XT-, AT- or extended keyboard (83-105 keys)" 00000490 = "Walon" ;00000435 = "Zulu" - [KeyboardLayout] 0000041C = "Albanian" 00000401 = "Arabic (101)" @@ -677,4 +674,8 @@ AddReg = registry.inf,AddReg DelReg = registry.inf,DelReg AddReg = registry.inf,AddReg +[Strings] +cdname = "ReactOS Installation Media" +productname = "ReactOS" + ; EOF diff --git a/boot/bootdata/welcome_config/welcome.ini b/boot/bootdata/welcome_config/welcome.ini index dc2941657a1..77c43b7258c 100644 --- a/boot/bootdata/welcome_config/welcome.ini +++ b/boot/bootdata/welcome_config/welcome.ini @@ -1,4 +1,3 @@ - [Welcome] DisplayCheckBox = 0 DisplayExitButton = 1 diff --git a/boot/freeldr/bootsect/CMakeLists.txt b/boot/freeldr/bootsect/CMakeLists.txt index 34c265a0275..add87629468 100644 --- a/boot/freeldr/bootsect/CMakeLists.txt +++ b/boot/freeldr/bootsect/CMakeLists.txt @@ -31,16 +31,16 @@ if(ARCH STREQUAL "i386" OR ARCH STREQUAL "amd64") CreateBootSectorTarget(isobtrt ${CMAKE_CURRENT_SOURCE_DIR}/isobtrt.S ${CMAKE_CURRENT_BINARY_DIR}/isobtrt.bin 7000) CreateBootSectorTarget(isombr ${CMAKE_CURRENT_SOURCE_DIR}/isombr.S ${CMAKE_CURRENT_BINARY_DIR}/isombr.bin 7000) - add_cd_file(TARGET dosmbr DESTINATION loader NO_CAB FILE ${CMAKE_CURRENT_BINARY_DIR}/dosmbr.bin FOR bootcd regtest) - add_cd_file(TARGET ext DESTINATION loader NO_CAB FILE ${CMAKE_CURRENT_BINARY_DIR}/ext.bin FOR bootcd regtest) - add_cd_file(TARGET extldr DESTINATION loader NO_CAB FILE ${CMAKE_CURRENT_BINARY_DIR}/extldr.sys FOR bootcd regtest) - add_cd_file(TARGET btrfsvbr DESTINATION loader NO_CAB FILE ${CMAKE_CURRENT_BINARY_DIR}/btrfs.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 ntfsvbr DESTINATION loader NO_CAB FILE ${CMAKE_CURRENT_BINARY_DIR}/ntfs.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 isombr DESTINATION loader NO_CAB NOT_IN_HYBRIDCD FILE ${CMAKE_CURRENT_BINARY_DIR}/isombr.bin FOR all hybridcd) + add_cd_file(TARGET dosmbr FILE ${CMAKE_CURRENT_BINARY_DIR}/dosmbr.bin DESTINATION loader NO_CAB FOR bootcd regtest) + add_cd_file(TARGET ext FILE ${CMAKE_CURRENT_BINARY_DIR}/ext.bin DESTINATION loader NO_CAB FOR bootcd regtest) + add_cd_file(TARGET extldr FILE ${CMAKE_CURRENT_BINARY_DIR}/extldr.sys DESTINATION loader NO_CAB FOR bootcd regtest) + add_cd_file(TARGET btrfsvbr FILE ${CMAKE_CURRENT_BINARY_DIR}/btrfs.bin DESTINATION loader NO_CAB FOR bootcd regtest) + add_cd_file(TARGET fat FILE ${CMAKE_CURRENT_BINARY_DIR}/fat.bin DESTINATION loader NO_CAB FOR bootcd regtest) + add_cd_file(TARGET fat32 FILE ${CMAKE_CURRENT_BINARY_DIR}/fat32.bin DESTINATION loader NO_CAB FOR bootcd regtest) + add_cd_file(TARGET ntfsvbr FILE ${CMAKE_CURRENT_BINARY_DIR}/ntfs.bin DESTINATION loader NO_CAB FOR bootcd regtest) + add_cd_file(TARGET isoboot FILE ${CMAKE_CURRENT_BINARY_DIR}/isoboot.bin DESTINATION loader NO_CAB FOR bootcd) + add_cd_file(TARGET isobtrt FILE ${CMAKE_CURRENT_BINARY_DIR}/isobtrt.bin DESTINATION loader NO_CAB FOR bootcd regtest) + add_cd_file(TARGET isombr FILE ${CMAKE_CURRENT_BINARY_DIR}/isombr.bin DESTINATION loader NO_CAB FOR bootcd) elseif(ARCH STREQUAL "arm") add_custom_target(fat COMMAND exit 1 diff --git a/boot/freeldr/fdebug/CMakeLists.txt b/boot/freeldr/fdebug/CMakeLists.txt index 568a5e5cd74..e4d3df94a42 100644 --- a/boot/freeldr/fdebug/CMakeLists.txt +++ b/boot/freeldr/fdebug/CMakeLists.txt @@ -3,4 +3,4 @@ add_executable(fdebug fdebug.c rs232.c fdebug.rc) add_dependencies(fdebug psdk) set_module_type(fdebug win32gui UNICODE) add_importlibs(fdebug comdlg32 user32 gdi32 msvcrt kernel32) -add_cd_file(TARGET fdebug DESTINATION loader NO_CAB NOT_IN_HYBRIDCD FOR bootcd livecd hybridcd) +add_cd_file(TARGET fdebug DESTINATION loader NO_CAB FOR bootcd) diff --git a/boot/freeldr/freeldr/pcat.cmake b/boot/freeldr/freeldr/pcat.cmake index 7d4331d2855..0ac637f0978 100644 --- a/boot/freeldr/freeldr/pcat.cmake +++ b/boot/freeldr/freeldr/pcat.cmake @@ -255,4 +255,4 @@ else() add_custom_target(freeldr ALL DEPENDS freeldr_pe) endif() -add_cd_file(TARGET freeldr FILE ${CMAKE_CURRENT_BINARY_DIR}/freeldr.sys DESTINATION loader NO_CAB NOT_IN_HYBRIDCD FOR bootcd livecd hybridcd regtest) +add_cd_file(TARGET freeldr FILE ${CMAKE_CURRENT_BINARY_DIR}/freeldr.sys DESTINATION loader NO_CAB FOR bootcd regtest) diff --git a/boot/freeldr/freeldr/rosload.cmake b/boot/freeldr/freeldr/rosload.cmake index a06f0003dd0..c0bc5b1adb2 100644 --- a/boot/freeldr/freeldr/rosload.cmake +++ b/boot/freeldr/freeldr/rosload.cmake @@ -97,4 +97,4 @@ endif() add_dependencies(rosload bugcodes asm xdk) -add_cd_file(TARGET rosload DESTINATION loader NO_CAB FOR bootcd regtest livecd hybridcd) +add_cd_file(TARGET rosload DESTINATION loader NO_CAB FOR bootcd regtest) diff --git a/boot/freeldr/install/CMakeLists.txt b/boot/freeldr/install/CMakeLists.txt index 67d2d8d51cd..ed106f2a97d 100644 --- a/boot/freeldr/install/CMakeLists.txt +++ b/boot/freeldr/install/CMakeLists.txt @@ -21,4 +21,4 @@ add_executable(installfreeldr EXCLUDE_FROM_ALL set_module_type(installfreeldr win32cui) add_importlibs(installfreeldr msvcrt kernel32) -add_cd_file(TARGET installfreeldr DESTINATION loader NO_CAB NOT_IN_HYBRIDCD FOR bootcd livecd hybridcd) +add_cd_file(TARGET installfreeldr DESTINATION loader NO_CAB FOR bootcd) diff --git a/modules/CMakeLists.txt b/modules/CMakeLists.txt index 618de5c940b..883e32cd69b 100644 --- a/modules/CMakeLists.txt +++ b/modules/CMakeLists.txt @@ -19,8 +19,8 @@ if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/AHK_Tests/) 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 you change the content of any of the following folders later on, ## run "cmake ." before compiling. if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/bootcd_extras/) @@ -35,12 +35,6 @@ if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/livecd_extras/) 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() ## Extra files which you need existing on the hard drive after the installation. if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/3rdparty/) diff --git a/sdk/cmake/CMakeMacros.cmake b/sdk/cmake/CMakeMacros.cmake index b74d60abd4e..8b83b710a87 100644 --- a/sdk/cmake/CMakeMacros.cmake +++ b/sdk/cmake/CMakeMacros.cmake @@ -253,7 +253,7 @@ macro(dir_to_num dir var) 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() @@ -288,7 +288,9 @@ function(add_cd_file) 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 by 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 @@ -296,11 +298,7 @@ function(add_cd_file) 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) @@ -338,37 +336,17 @@ function(add_cd_file) 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) 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 by 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 @@ -376,7 +354,7 @@ function(add_cd_file) else() get_filename_component(__file ${item} NAME) endif() - set_property(GLOBAL APPEND PROPERTY BOOTCDREGTEST_FILE_LIST "${_CD_DESTINATION}/${__file}=${item}") + set_property(GLOBAL APPEND PROPERTY BOOTCDREGTEST_FILE_LIST "${_CD_ARCH_DESTINATION}/${__file}=${item}") endforeach() # manage dependency if(_CD_TARGET) @@ -395,15 +373,16 @@ function(add_cd_file) 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} @@ -412,25 +391,23 @@ function(create_iso_lists) 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) +if(FALSE) ## Disabled until we want a RAMDISK ISO + # Add the LiveImage into the BootCD add_cd_file( - FILE ${CMAKE_CURRENT_BINARY_DIR}/livecd.iso - DESTINATION livecd - FOR hybridcd) - - get_property(_filelist GLOBAL PROPERTY BOOTCD_FILE_LIST) - string(REPLACE ";" "\n" _filelist "${_filelist}") - file(APPEND ${REACTOS_BINARY_DIR}/boot/bootcd.cmake.lst "${_filelist}") - unset(_filelist) - file(GENERATE - OUTPUT ${REACTOS_BINARY_DIR}/boot/bootcd.$.lst - INPUT ${REACTOS_BINARY_DIR}/boot/bootcd.cmake.lst) + TARGET livecd + FILE ${CMAKE_CURRENT_BINARY_DIR}/liveimg.iso + DESTINATION root + NO_CAB FOR bootcd) +endif() + # 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.cmake.lst "${_filelist}") @@ -439,14 +416,21 @@ function(create_iso_lists) OUTPUT ${REACTOS_BINARY_DIR}/boot/livecd.$.lst INPUT ${REACTOS_BINARY_DIR}/boot/livecd.cmake.lst) - get_property(_filelist GLOBAL PROPERTY HYBRIDCD_FILE_LIST) + # Write the BootCD file list + get_property(_filelist GLOBAL PROPERTY BOOTCD_FILE_LIST) string(REPLACE ";" "\n" _filelist "${_filelist}") - file(APPEND ${REACTOS_BINARY_DIR}/boot/hybridcd.cmake.lst "${_filelist}") + file(APPEND ${REACTOS_BINARY_DIR}/boot/bootcd.cmake.lst "${_filelist}") + unset(_filelist) + # Also, append the file contents list of the LiveImage to the BootCD file list + file(APPEND ${REACTOS_BINARY_DIR}/boot/bootcd.cmake.lst "\n") + file(READ ${REACTOS_BINARY_DIR}/boot/livecd.cmake.lst _filelist) + file(APPEND ${REACTOS_BINARY_DIR}/boot/bootcd.cmake.lst "${_filelist}") unset(_filelist) file(GENERATE - OUTPUT ${REACTOS_BINARY_DIR}/boot/hybridcd.$.lst - INPUT ${REACTOS_BINARY_DIR}/boot/hybridcd.cmake.lst) + OUTPUT ${REACTOS_BINARY_DIR}/boot/bootcd.$.lst + INPUT ${REACTOS_BINARY_DIR}/boot/bootcd.cmake.lst) + # 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.cmake.lst "${_filelist}") @@ -889,7 +873,7 @@ function(create_registry_hives) FILE ${CMAKE_BINARY_DIR}/boot/bootdata/BCD TARGET bcd_hive DESTINATION efi/boot - NO_CAB FOR bootcd regtest livecd) + NO_CAB FOR bootcd regtest) endif() endfunction()