[REACTOS] Merge our bootcd and livecd into an all-in-one ReactOS BootCD#7313
Conversation
|
This improvement may affect PXE boot, is not it? |
I don't think so, but if you're able to test PXE boot @jeditobe , I would invite you to give it a try by using one of the available github actions builds from there (maybe a GCC x86 debug build to begin with). |
JoachimHenze
left a comment
There was a problem hiding this comment.
Please wait with the merging of this PR until the releases/0.4.15 will have been branched already, which is expected to happen 2024-09-09. The reason for that request is that the current joined .isos size of 431MB (for gcc dbg) is currently bigger than the sum of former livecd and bootcd. I am sure we will improve on that in the future, but until then, let's release with the old thing one more time.
For sure I'll wait, and also until I get more feedback and approvals here. |
071597c to
38b306a
Compare
38b306a to
4f6ba29
Compare
0.4.15 release is now behind us. I've also removed the inclusion of the ramdisk ISO file, so now the size of the proposed boot/livecd is really the sum of former bootcd and livecd.
9a74de3 to
81b3f0a
Compare
cbialorucki
left a comment
There was a problem hiding this comment.
Are you still pursuing this @HBelusca? Or are you waiting for GUI setup?
learn-more
left a comment
There was a problem hiding this comment.
I very much like the idea, it would solve a lot of confusion for people when downloading it the first time.
As long as unattend.inf keeps working, let's go.
0a2e632 to
60d19aa
Compare
…CD (#7313) RELEASE-11 It 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, in the root directory named "reactos". - 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
60d19aa to
e105b3d
Compare
…CD (#7313) 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
e105b3d to
01dde6e
Compare
…CD (#7313) 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
01dde6e to
75cf9a2
Compare
…s where TXTSETUP.SIF can be found And slightly improve the search loop. - Unconditionally look into the root directory as well, in order to cover all possible boot disk layouts in case someone customizes the ReactOS boot media layout. - Improve the `InfOpenFile()` call error handling, in order to show the erroneous line _iff_ the call failed because of a wrong syntax in TXTSETUP.SIF . Distinguish it from a failure because the file doesn't exist in the source path being tested (in which case, no error is shown).
…CD (#7313) 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
75cf9a2 to
b2e33f2
Compare
…CD (reactos#7313) 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
Addendum to commit b2e33f2 (PR reactos#7313)
…CD (reactos#7313) 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
Addendum to commit b2e33f2 (PR reactos#7313)
Purpose & Proposed changes
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 underlying motivation for this, is to ease the manual (or automated) production of bootcds containing more than one of the supported ReactOS architectures.
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
JIRA issues: CORE-9069, CORE-13525, RELEASE-11
TODOs and considerations for reviewers (please quote a point from below and comment in the PR)
_CD_ARCH_DESTINATIONtrick (i386, amd64...) as for the bootcd.I accidentally noticed that the GUI setup (at least) seems to work well for installing ROS files by copying them from the livecd tree structure, not just from reactos.cab !Actually, more work needs to be done in this regard, and will be addressed in future commits.bootcdregtestbuild target is still present. I think this is the one that is being used for our testbots; however it seems something is still missing: @ColinFinck you've assigned this JIRA report ONLINE-709 to you, could you tell whether it still makes sense?EDIT: Will be dealt with later (TBD).
Addressed in commit 9c0efba (PR [USERINIT] Hide install option on LiveCD when no installer is available #8614), for RELEASE-8.