mirror of
https://github.com/ApfelTeeSaft/reactos.git
synced 2026-08-26 19:33:31 +00:00
CORE-9069, CORE-13525, RELEASE-11
This new BootCD contains the functionality of both the original bootcd
(text-mode 1st-stage installer) and the livecd (that will include the
1st-stage GUI installer later).
Our separate livecd ISOs become obsolete, and this completely removes
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 is reduced
to a minimum.
A minimal non-bootable "liveimg.iso" is built (but currently not
included within the BootCD). Its purpose will be to implement the
"ReactOS Live" functionality as a RAMDISK.
(We currently don't support other file formats apart from ISO and
flat disk for a RAMDISK).
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"
(which is the SystemRoot for the non-ramdisk LiveImage).
- The minimal text-mode ReactOS installation used for the 1st-stage
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 only, but placed in a per-architecture root
directory ("i386", etc. as for the bootcd).
- Remove the ACPI APIC/SMP entries from bootcd.ini. They will be made
available via the Advanced Boot Options F8 menu in Debug builds, for
testing purposes only, in a subsequent commit.
This commit is based upon an older SVN one:
svn path=/branches/setup_improvements/; revision=75273
52 lines
3.4 KiB
CMake
52 lines
3.4 KiB
CMake
|
|
include_directories(${REACTOS_SOURCE_DIR}/boot/freeldr)
|
|
|
|
if(ARCH STREQUAL "i386" OR ARCH STREQUAL "amd64")
|
|
|
|
CreateBootSectorTarget(dosmbr ${CMAKE_CURRENT_SOURCE_DIR}/dosmbr.S ${CMAKE_CURRENT_BINARY_DIR}/dosmbr.bin 7c00)
|
|
CreateBootSectorTarget(ext ${CMAKE_CURRENT_SOURCE_DIR}/ext.S ${CMAKE_CURRENT_BINARY_DIR}/ext.bin 7c00)
|
|
CreateBootSectorTarget(extldr ${CMAKE_CURRENT_SOURCE_DIR}/extldr.S ${CMAKE_CURRENT_BINARY_DIR}/extldr.sys 8000)
|
|
|
|
CreateBootSectorTarget(fat ${CMAKE_CURRENT_SOURCE_DIR}/fat.S ${CMAKE_CURRENT_BINARY_DIR}/fat.bin 7c00)
|
|
CreateBootSectorTarget(fat32 ${CMAKE_CURRENT_SOURCE_DIR}/fat32.S ${CMAKE_CURRENT_BINARY_DIR}/fat32.bin 7c00)
|
|
CreateBootSectorTarget(ntfsvbr ${CMAKE_CURRENT_SOURCE_DIR}/ntfs.S ${CMAKE_CURRENT_BINARY_DIR}/ntfs.bin 7c00)
|
|
CreateBootSectorTarget(btrfsvbr ${CMAKE_CURRENT_SOURCE_DIR}/btrfs.S ${CMAKE_CURRENT_BINARY_DIR}/btrfs.bin 7c00)
|
|
|
|
if(SARCH STREQUAL "pc98")
|
|
CreateBootSectorTarget(fat12pc98 ${CMAKE_CURRENT_SOURCE_DIR}/pc98/fat12fdd.S ${CMAKE_CURRENT_BINARY_DIR}/pc98/fat12fdd.bin 7c00)
|
|
endif()
|
|
|
|
## New versions using FATY.S (experimental)
|
|
# add_definitions(-DFAT12)
|
|
# CreateBootSectorTarget(fat_new ${CMAKE_CURRENT_SOURCE_DIR}/faty.S ${CMAKE_CURRENT_BINARY_DIR}/fat_new.bin 7c00)
|
|
# remove_definitions(-DFAT12)
|
|
# add_definitions(-DFAT16)
|
|
# CreateBootSectorTarget(fat16_new ${CMAKE_CURRENT_SOURCE_DIR}/faty.S ${CMAKE_CURRENT_BINARY_DIR}/fat16_new.bin 7c00)
|
|
# remove_definitions(-DFAT16)
|
|
# add_definitions(-DFAT32)
|
|
# CreateBootSectorTarget(fat32_new ${CMAKE_CURRENT_SOURCE_DIR}/faty.S ${CMAKE_CURRENT_BINARY_DIR}/fat32_new.bin 7c00)
|
|
# remove_definitions(-DFAT32)
|
|
|
|
CreateBootSectorTarget(isoboot ${CMAKE_CURRENT_SOURCE_DIR}/isoboot.S ${CMAKE_CURRENT_BINARY_DIR}/isoboot.bin 7000)
|
|
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 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
|
|
COMMENT "arm fat target not implemented yet")
|
|
add_custom_target(fat32
|
|
COMMAND exit 1
|
|
COMMENT "arm fat32 target not implemented yet")
|
|
endif()
|