From b7eabc528088dfea32ab31998bf63b598462f8dc Mon Sep 17 00:00:00 2001
From: pvshvp-oss
Date: Tue, 23 Jul 2024 05:29:11 -0500
Subject: [PATCH] Squashed commit of the following:
commit 3ca28e0272839046116b4b91fe8e274e80dceebe
Author: pvshvp-oss
Date: Tue Jul 23 05:28:00 2024 -0500
docs: :memo: Update the contributing guide
commit b6077c1b529e757e0ed84504d271a93906cb1336
Author: pvshvp-oss
Date: Tue Jul 23 05:24:06 2024 -0500
docs: :memo: Update changelog
commit a3aac5aa44ecdfc0f295431a30a0cfde72b10847
Author: pvshvp-oss
Date: Tue Jul 23 04:31:57 2024 -0500
fix: :adhesive_bandage: Move fstab to later during the installation process
commit 0af878739440036128b52a34bf0837556af666dc
Author: pvshvp-oss
Date: Tue Jul 23 04:25:16 2024 -0500
chore: :bookmark: Version bump
commit 390b2697cbf46ea4b73e12e5b58434b286e818ed
Author: pvshvp-oss
Date: Tue Jul 23 04:24:28 2024 -0500
fix: :lipstick: Fix Bootloader screen UI
commit f3145f7e770a2af2c0c7a9ad14cb5c4a2c999a29
Author: pvshvp-oss
Date: Tue Jul 23 03:42:10 2024 -0500
feat: :sparkles: Add support for Refind bootloader
commit e968120f769043903544752b0ebcca614d45b53e
Author: pvshvp-oss
Date: Tue Jul 23 02:47:31 2024 -0500
feat: :heavy_plus_sign: Add contextualprocess module instance to install grub dependencies
commit 08ea2aa509f20a9da2c0ebda0ba6166b784922ce
Author: pvshvp-oss
Date: Tue Jul 23 02:46:04 2024 -0500
refactor: :heavy_minus_sign: Remove unnecessary installation of os-prober
commit 63d33190c64469a0f54e287dd8980a9358d7050b
Author: pvshvp-oss
Date: Tue Jul 23 02:44:55 2024 -0500
refactor: :wrench: Make Grub the default bootloadr
commit 53a7c5a4e0fc2afd0a31d09cc275bd634139a4b7
Author: pvshvp-oss
Date: Mon Jul 22 23:09:51 2024 -0500
fix: :bug: Fix bootloader variable name
commit 904d57667a808465cd3f69b9f94a267c33990733
Author: pvshvp-oss
Date: Mon Jul 22 23:03:11 2024 -0500
fix: :adhesive_bandage: Fix the packagechooserq_bootloader configuration
commit f353cfa5e8031108c8ada73acf45894c1846c03e
Author: pvshvp-oss
Date: Mon Jul 22 23:02:37 2024 -0500
feat: :technologist: Click on logo to open debug window
commit 44603b6c96414b9c02d1ed1ed96cc3b97a6134d7
Author: pvshvp-oss
Date: Mon Jul 22 21:07:16 2024 -0500
fix: :alien: Update initcpiocfg.conf in response to schema change
commit 1cf924472f894d3aad1dbf637d2d8bdd5d851316
Author: pvshvp-oss
Date: Mon Jul 22 21:06:02 2024 -0500
fix: :bug: Fix QML filename specified in the packagechooserq_bootloader configuration
commit f1491a57c377be2d01732b730ff8716b9bef6dd6
Author: pvshvp-oss
Date: Thu Jun 27 10:01:16 2024 -0500
WIP
---
CHANGELOG.md | 11 +
CONTRIBUTING.md | 4 +-
etc/calamares/branding/rebornos/BIOS.qml | 163 ++++++++++
etc/calamares/branding/rebornos/UEFI.qml | 282 ++++++++++++++++++
etc/calamares/branding/rebornos/branding.desc | 8 +-
.../branding/rebornos/calamares-sidebar.qml | 6 +
etc/calamares/branding/rebornos/finishedq.qml | 2 +-
.../rebornos/packagechooserq_bootloader.qml | 32 ++
etc/calamares/modules/bootloader.conf | 37 ++-
.../modules/contextualprocess_bootloader.conf | 13 +
etc/calamares/modules/initcpiocfg.conf | 2 +-
etc/calamares/modules/netinstall.yaml | 6 +-
.../modules/packagechooserq_bootloader.conf | 11 +
etc/calamares/modules/preservefiles.conf | 1 -
etc/calamares/settings_offline.conf | 13 +-
etc/calamares/settings_online.conf | 13 +-
.../calamares-configuration-git/PKGBUILD | 2 +-
.../calamares-configuration-local/PKGBUILD | 2 +-
packaging/calamares-configuration/PKGBUILD | 2 +-
19 files changed, 577 insertions(+), 33 deletions(-)
create mode 100644 etc/calamares/branding/rebornos/BIOS.qml
create mode 100644 etc/calamares/branding/rebornos/UEFI.qml
create mode 100644 etc/calamares/branding/rebornos/packagechooserq_bootloader.qml
create mode 100644 etc/calamares/modules/contextualprocess_bootloader.conf
create mode 100644 etc/calamares/modules/packagechooserq_bootloader.conf
diff --git a/CHANGELOG.md b/CHANGELOG.md
index c60874f..2f2a854 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,16 @@
# CHANGELOG
+## Calamares Configuration `v0.1.40`
+
+### For Users
+- Add bootloader choice screen and support for systemd-boot, and refind.
+- Do not install os-prober if grub is not selected.
+- Move fstab generation to later during the installation process to prevent issues with encrypted volumes.
+
+### For Developers
+- Set up launching the debug window by clicking on the RebornOS logo.
+- Update initcpiocfg.conf in response to schema change.
+
## Calamares Configuration `v0.1.39`
### For Users
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 8451a0e..192706b 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -15,5 +15,5 @@
- [ ] Commit and push all changes through git, for example `git commit -m "Some message" && git push`
-- [ ] Create and push a tag, for example `git tag -s -a v0.1.39 -m "This is version 0.1.39" && git push origin v0.1.39`
-- [ ] If there was a mistake and if you want to yank the release, run something like `git tag -d v0.1.39 && git push --delete origin v0.1.39`. Then the errors can be fixed and the previous step can be repeated to create a new tag.
\ No newline at end of file
+- [ ] Create and push a tag, for example `git tag -s -a v0.1.40 -m "This is version 0.1.40" && git push origin v0.1.40`
+- [ ] If there was a mistake and if you want to yank the release, run something like `git tag -d v0.1.40 && git push --delete origin v0.1.40`. Then the errors can be fixed and the previous step can be repeated to create a new tag.
\ No newline at end of file
diff --git a/etc/calamares/branding/rebornos/BIOS.qml b/etc/calamares/branding/rebornos/BIOS.qml
new file mode 100644
index 0000000..be27550
--- /dev/null
+++ b/etc/calamares/branding/rebornos/BIOS.qml
@@ -0,0 +1,163 @@
+/* === This file is part of Calamares - ===
+ *
+ * SPDX-FileCopyrightText: 2021 Anke Boersma
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ * Calamares is Free Software: see the License-Identifier above.
+ *
+ */
+
+import io.calamares.core 1.0
+import io.calamares.ui 1.0
+
+import QtQuick 2.15
+import QtQuick.Controls 2.15
+import QtQuick.Layouts 1.3
+
+Column {
+ id: column
+ anchors.centerIn: parent
+ spacing: 5
+
+ ButtonGroup {
+ id: switchGroup
+ }
+
+ Component.onCompleted: {
+ config.packageChoice = "grub"
+ }
+
+ Rectangle {
+ //id: rectangle
+ width: 700
+ height: 50
+ color: "#2a2e32"
+ border.width: 0
+ Text {
+ height: 25
+ anchors.centerIn: parent
+ text: qsTr("Please select a bootloader option for your install, or leave the already selected default option, GRUB.")
+ font.pointSize: 11
+ color: "#ffffff"
+ wrapMode: Text.WordWrap
+ }
+ }
+
+ Rectangle {
+ width: 700
+ height: 150
+ color: "#1b1e20"
+ radius: 5
+ border.width: 1
+ border.color: "#646b75"
+ Text {
+ width: 600
+ height: 104
+ anchors.centerIn: parent
+ text: qsTr("Grub Bootloader
The GRand Unified Bootloader is the reference implementation
of the Free Software Foundation's Multiboot Specification,
which provides a user the choice
to boot one of multiple operating systems installed on a computer.")
+ font.pointSize: 10
+ color: "#ffffff"
+ anchors.verticalCenterOffset: 0
+ anchors.horizontalCenterOffset: -20.0
+ wrapMode: Text.WordWrap
+ }
+
+ Switch {
+ id: element2
+ x: 500
+ y: 110
+ width: 187
+ height: 14
+ text: qsTr("GRUB")
+ checked: true
+ hoverEnabled: true
+ ButtonGroup.group: switchGroup
+
+ indicator: Rectangle {
+ implicitWidth: 40
+ implicitHeight: 14
+ radius: 10
+ color: element2.checked ? "#3498db" : "#B9B9B9"
+ border.color: element2.checked ? "#3498db" : "#cccccc"
+
+ Rectangle {
+ x: element2.checked ? parent.width - width : 0
+ y: (parent.height - height) / 2
+ width: 20
+ height: 20
+ radius: 10
+ color: element2.down ? "#cccccc" : "#ffffff"
+ border.color: element2.checked ? (element2.down ? "#3498db" : "#3498db") : "#999999"
+ }
+ }
+
+ onCheckedChanged: {
+ if (! checked) {
+ print("grub not used")
+ } else {
+ config.packageChoice = "grub"
+ print(config.packageChoice)
+ }
+ }
+ }
+ }
+
+ Rectangle {
+ width: 700
+ height: 150
+ color: "#1b1e20"
+ radius: 5
+ border.width: 1
+ border.color: "#646b75"
+ Text {
+ width: 600
+ height: 104
+ anchors.centerIn: parent
+ text: qsTr("No Bootloader
Selecting no bootloader might result in an un-bootable system,
If you don't already have a bootloader that you can add this install to.")
+ font.pointSize: 10
+ color: "#ffffff"
+ anchors.verticalCenterOffset: 0
+ anchors.horizontalCenterOffset: -20.0
+ wrapMode: Text.WordWrap
+ }
+
+ Switch {
+ id: element3
+ x: 500
+ y: 110
+ width: 187
+ height: 14
+ text: qsTr("No bootloader")
+ checked: false
+ hoverEnabled: true
+ ButtonGroup.group: switchGroup
+
+ indicator: Rectangle {
+ implicitWidth: 40
+ implicitHeight: 14
+ radius: 10
+ color: element3.checked ? "#3498db" : "#B9B9B9"
+ border.color: element3.checked ? "#3498db" : "#cccccc"
+
+ Rectangle {
+ x: element3.checked ? parent.width - width : 0
+ y: (parent.height - height) / 2
+ width: 20
+ height: 20
+ radius: 10
+ color: element3.down ? "#cccccc" : "#ffffff"
+ border.color: element3.checked ? (element3.down ? "#3498db" : "#3498db") : "#999999"
+ }
+ }
+
+ onCheckedChanged: {
+ if (! checked) {
+ print("no btl not checked")
+ } else {
+ print("no bootloader")
+ config.packageChoice = "none"
+ }
+ }
+ }
+ }
+}
diff --git a/etc/calamares/branding/rebornos/UEFI.qml b/etc/calamares/branding/rebornos/UEFI.qml
new file mode 100644
index 0000000..093bc79
--- /dev/null
+++ b/etc/calamares/branding/rebornos/UEFI.qml
@@ -0,0 +1,282 @@
+/* === This file is part of Calamares - ===
+ *
+ * SPDX-FileCopyrightText: 2021 Anke Boersma
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ * Calamares is Free Software: see the License-Identifier above.
+ *
+ */
+
+import io.calamares.core 1.0
+import io.calamares.ui 1.0
+
+import QtQuick 2.15
+import QtQuick.Controls 2.15
+import QtQuick.Layouts 1.3
+
+Column {
+ id: column
+ anchors.centerIn: parent
+ spacing: 7
+
+ ButtonGroup {
+ id: switchGroup
+ }
+
+ Rectangle {
+ //id: rectangle
+ width: 700
+ height: 40
+ color: "#2a2e32"
+ border.width: 0
+ Text {
+ height: 25
+ anchors.centerIn: parent
+ text: qsTr("Please select a bootloader option for your install, or leave the already selected default option, Grub.")
+ font.pointSize: 12
+ color: "#ffffff"
+ wrapMode: Text.WordWrap
+ }
+ }
+
+ Rectangle {
+ width: 700
+ height: 90
+ color: "#1b1e20"
+ radius: 5
+ border.width: 1
+ border.color: "#646b75"
+ Text {
+ width: 600
+ height: 40
+ x: 25
+ y: 10
+ text: qsTr("Grub: a feature-rich and customizable bootloader that has broad compatibility with various filesystems.")
+ font.pointSize: 12
+ color: "#ffffff"
+ anchors.verticalCenterOffset: 0
+ anchors.horizontalCenterOffset: -20.0
+ wrapMode: Text.WordWrap
+ }
+
+ Switch {
+ id: grub_switch
+ x: 500
+ y: 65
+ width: 187
+ height: 14
+ text: qsTr("Grub")
+ checked: true
+ hoverEnabled: true
+ ButtonGroup.group: switchGroup
+
+
+ indicator: Rectangle {
+ implicitWidth: 40
+ implicitHeight: 14
+ radius: 10
+ color: grub_switch.checked ? "#3498db" : "#B9B9B9"
+ border.color: grub_switch.checked ? "#3498db" : "#cccccc"
+
+ Rectangle {
+ x: grub_switch.checked ? parent.width - width : 0
+ y: (parent.height - height) / 2
+ width: 20
+ height: 20
+ radius: 10
+ color: grub_switch.down ? "#cccccc" : "#ffffff"
+ border.color: grub_switch.checked ? (grub_switch.down ? "#3498db" : "#3498db") : "#999999"
+ }
+ }
+
+ onCheckedChanged: {
+ if (! checked) {
+ print("Grub not used")
+ } else {
+ print("Grub")
+ config.packageChoice = "grub"
+ }
+ }
+ }
+ }
+
+ Rectangle {
+ width: 700
+ height: 90
+ color: "#1b1e20"
+ radius: 5
+ border.width: 1
+ border.color: "#646b75"
+ Text {
+ width: 600
+ height: 40
+ x: 25
+ y: 10
+ text: qsTr("Systemd-Boot: an easy-to-configure UEFI bootloader. It provides a text menu to select the boot entry and an editor for the kernel commandline.")
+ font.pointSize: 12
+ color: "#ffffff"
+ anchors.verticalCenterOffset: 0
+ anchors.horizontalCenterOffset: -20.0
+ wrapMode: Text.WordWrap
+ }
+
+ Switch {
+ id: systemd_boot_switch
+ x: 500
+ y: 65
+ width: 187
+ height: 14
+ text: qsTr("Systemd-Boot")
+ checked: false
+ hoverEnabled: true
+ ButtonGroup.group: switchGroup
+
+ indicator: Rectangle {
+ implicitWidth: 40
+ implicitHeight: 14
+ radius: 10
+ color: systemd_boot_switch.checked ? "#3498db" : "#B9B9B9"
+ border.color: systemd_boot_switch.checked ? "#3498db" : "#cccccc"
+
+ Rectangle {
+ x: systemd_boot_switch.checked ? parent.width - width : 0
+ y: (parent.height - height) / 2
+ width: 20
+ height: 20
+ radius: 10
+ color: systemd_boot_switch.down ? "#cccccc" : "#ffffff"
+ border.color: systemd_boot_switch.checked ? (systemd_boot_switch.down ? "#3498db" : "#3498db") : "#999999"
+ }
+ }
+
+ onCheckedChanged: {
+ if (! checked) {
+ print("systemd not used")
+ } else {
+ config.packageChoice = "systemd-boot"
+ print(config.packageChoice)
+ }
+ }
+ }
+ }
+
+ Rectangle {
+ width: 700
+ height: 90
+ color: "#1b1e20"
+ radius: 5
+ border.width: 1
+ border.color: "#646b75"
+ Text {
+ width: 600
+ height: 40
+ x: 25
+ y: 10
+ text: qsTr("Refind: a UEFI bootloader designed to be platform-neutral and to simplify booting multiple operating systems.")
+ font.pointSize: 12
+ color: "#ffffff"
+ anchors.verticalCenterOffset: 0
+ anchors.horizontalCenterOffset: -20.0
+ wrapMode: Text.WordWrap
+ }
+
+ Switch {
+ id: refind_switch
+ x: 500
+ y: 65
+ width: 187
+ height: 14
+ text: qsTr("Refind")
+ checked: false
+ hoverEnabled: true
+ ButtonGroup.group: switchGroup
+
+ indicator: Rectangle {
+ implicitWidth: 40
+ implicitHeight: 14
+ radius: 10
+ color: refind_switch.checked ? "#3498db" : "#B9B9B9"
+ border.color: refind_switch.checked ? "#3498db" : "#cccccc"
+
+ Rectangle {
+ x: refind_switch.checked ? parent.width - width : 0
+ y: (parent.height - height) / 2
+ width: 20
+ height: 20
+ radius: 10
+ color: refind_switch.down ? "#cccccc" : "#ffffff"
+ border.color: refind_switch.checked ? (refind_switch.down ? "#3498db" : "#3498db") : "#999999"
+ }
+ }
+
+ onCheckedChanged: {
+ if (! checked) {
+ print("refind not used")
+ } else {
+ config.packageChoice = "refind"
+ print(config.packageChoice)
+ }
+ }
+ }
+ }
+
+ Rectangle {
+ width: 700
+ height: 90
+ color: "#1b1e20"
+ radius: 5
+ border.width: 1
+ border.color: "#646b75"
+ Text {
+ width: 600
+ height: 40
+ x: 25
+ y: 10
+ text: qsTr("No Bootloader: Not selecting a bootloader might result in an un-bootable system. Only choose this option if you already have a bootloader from another installation.")
+ font.pointSize: 12
+ color: "#ffffff"
+ anchors.verticalCenterOffset: 0
+ anchors.horizontalCenterOffset: -20.0
+ wrapMode: Text.WordWrap
+ }
+
+ Switch {
+ id: no_bootloader_switch
+ x: 500
+ y: 65
+ width: 187
+ height: 14
+ text: qsTr("No bootloader")
+ checked: false
+ hoverEnabled: true
+ ButtonGroup.group: switchGroup
+
+ indicator: Rectangle {
+ implicitWidth: 40
+ implicitHeight: 14
+ radius: 10
+ color: no_bootloader_switch.checked ? "#ff8585" : "#B9B9B9"
+ border.color: no_bootloader_switch.checked ? "#ff8585" : "#cccccc"
+
+ Rectangle {
+ x: no_bootloader_switch.checked ? parent.width - width : 0
+ y: (parent.height - height) / 2
+ width: 20
+ height: 20
+ radius: 10
+ color: no_bootloader_switch.down ? "#cccccc" : "#ffffff"
+ border.color: no_bootloader_switch.checked ? (no_bootloader_switch.down ? "#ff8585" : "#ff8585") : "#999999"
+ }
+ }
+
+ onCheckedChanged: {
+ if (! checked) {
+ print("no btl not checked")
+ } else {
+ print("no bootloader")
+ config.packageChoice = "none"
+ }
+ }
+ }
+ }
+}
diff --git a/etc/calamares/branding/rebornos/branding.desc b/etc/calamares/branding/rebornos/branding.desc
index 6180d39..1e27119 100644
--- a/etc/calamares/branding/rebornos/branding.desc
+++ b/etc/calamares/branding/rebornos/branding.desc
@@ -21,10 +21,10 @@ navigation: qml
strings:
productName: "${NAME}"
shortProductName: RebornOS
- version: 2024.05.25
- shortVersion: 24.05.25
- versionedName: RebornOS 2024.05.25
- shortVersionedName: RebornOS 24.05.25
+ version: 2024.07.23
+ shortVersion: 24.07.23
+ versionedName: RebornOS 2024.07.23
+ shortVersionedName: RebornOS 24.07.23
bootloaderEntryName: RebornOS
productUrl: https://www.rebornos.org/
supportUrl: https://rebornos.discourse.group/
diff --git a/etc/calamares/branding/rebornos/calamares-sidebar.qml b/etc/calamares/branding/rebornos/calamares-sidebar.qml
index c4e468d..53f47ab 100644
--- a/etc/calamares/branding/rebornos/calamares-sidebar.qml
+++ b/etc/calamares/branding/rebornos/calamares-sidebar.qml
@@ -39,6 +39,12 @@ Rectangle {
source: "file:/" + Branding.imagePath(Branding.ProductLogo);
sourceSize.width: width;
sourceSize.height: height;
+ MouseArea {
+ anchors.fill: parent
+ onClicked: {
+ debug.toggle()
+ }
+ }
}
Repeater {
diff --git a/etc/calamares/branding/rebornos/finishedq.qml b/etc/calamares/branding/rebornos/finishedq.qml
index 3bd1d92..a3187c3 100644
--- a/etc/calamares/branding/rebornos/finishedq.qml
+++ b/etc/calamares/branding/rebornos/finishedq.qml
@@ -89,7 +89,7 @@ Page {
horizontalAlignment: Text.AlignHCenter
color: "#F4F4F4"
text: qsTr("A full log of the install is available as installation.log in the home directory of the Live user.
- This log is copied to /var/log/installation.log of the target system.
")
+ This log is copied to /var/log/install.log of the target system.
")
}
}
diff --git a/etc/calamares/branding/rebornos/packagechooserq_bootloader.qml b/etc/calamares/branding/rebornos/packagechooserq_bootloader.qml
new file mode 100644
index 0000000..ad73ba8
--- /dev/null
+++ b/etc/calamares/branding/rebornos/packagechooserq_bootloader.qml
@@ -0,0 +1,32 @@
+/* === This file is part of Calamares - ===
+ *
+ * SPDX-FileCopyrightText: 2021 Anke Boersma
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ * Calamares is Free Software: see the License-Identifier above.
+ *
+ */
+
+import io.calamares.core 1.0
+import io.calamares.ui 1.0
+
+import QtQuick 2.15
+import QtQuick.Controls 2.15
+import QtQuick.Layouts 1.3
+
+Item {
+ Rectangle {
+ anchors.fill: parent
+ color: "#2a2e32"
+
+ ButtonGroup {
+ id: switchGroup
+ }
+
+ Loader {
+ anchors.centerIn: parent
+ source: Global.value("firmwareType") === "efi" ? "UEFI.qml" : "BIOS.qml"
+ }
+ }
+
+}
diff --git a/etc/calamares/modules/bootloader.conf b/etc/calamares/modules/bootloader.conf
index 74dab44..16b4b75 100644
--- a/etc/calamares/modules/bootloader.conf
+++ b/etc/calamares/modules/bootloader.conf
@@ -4,17 +4,8 @@
# https://github.com/calamares/calamares/blob/calamares/src/modules/bootloader/bootloader.conf
---
-efiBootLoader: "grub"
-
-# ============
-# systemd-boot
-# ============
-kernelSearchPath: "/usr/lib/modules"
-kernelName: "vmlinuz"
-timeout: "10"
-additionalInitrdFiles:
- - "/boot/amd-ucode"
- - "/boot/intel-ucode"
+efiBootLoaderVar: "packagechooser_packagechooserq_bootloader"
+# efiBootLoader: "grub" # Handled by the default packagechooser value in efiBootLoaderVar
# ======
# Grub 2
@@ -26,8 +17,24 @@ grubProbe: "grub-probe"
efiBootMgr: "efibootmgr"
installEFIFallback: true
+# ============
+# systemd-boot
+# ============
+kernelSearchPath: "/usr/lib/modules"
+kernelPattern: "^vmlinuz.*"
+loaderEntries:
+ - "timeout 5"
+ - "console-mode keep"
+additionalInitrdFiles:
+ - "/boot/amd-ucode"
+ - "/boot/intel-ucode"
-
-
-
-
+# ======
+# refind
+# ======
+# kernelParams: []
+# refindKernelList:
+# - "linux",
+# - "linux-lts",
+# - "linux-zen",
+# - "linux-hardened"
diff --git a/etc/calamares/modules/contextualprocess_bootloader.conf b/etc/calamares/modules/contextualprocess_bootloader.conf
new file mode 100644
index 0000000..dd7916c
--- /dev/null
+++ b/etc/calamares/modules/contextualprocess_bootloader.conf
@@ -0,0 +1,13 @@
+# SPDX-FileCopyrightText: no
+# SPDX-License-Identifier: CC0-1.0
+#
+# https://github.com/calamares/calamares/blob/calamares/src/modules/contextualprocess/contextualprocess.conf
+---
+dontChroot: false
+packagechooser_packagechooserq_bootloader:
+ grub:
+ - command: "pacman -S --needed --noconfirm grub os-prober"
+ timeout: 180
+ refind:
+ - command: "pacman -S --needed --noconfirm refind"
+ timeout: 120
\ No newline at end of file
diff --git a/etc/calamares/modules/initcpiocfg.conf b/etc/calamares/modules/initcpiocfg.conf
index c5e35d4..ac219f9 100644
--- a/etc/calamares/modules/initcpiocfg.conf
+++ b/etc/calamares/modules/initcpiocfg.conf
@@ -5,5 +5,5 @@
---
# The path to the mkinitcpio.conf file to use
-path: "/etc/calamares/preinstall_copy/mkinitcpio.conf"
+source: "/etc/calamares/preinstall_copy/mkinitcpio.conf"
useSystemdHook: false
diff --git a/etc/calamares/modules/netinstall.yaml b/etc/calamares/modules/netinstall.yaml
index e7d5ac4..347a54d 100644
--- a/etc/calamares/modules/netinstall.yaml
+++ b/etc/calamares/modules/netinstall.yaml
@@ -70,12 +70,10 @@
description: Firmware files for Linux
- name: mkinitcpio
description: Script to create the initial ramdisk. Required to re-run after configuring LVM, system encryption, or RAID
- - name: grub
- description: Bootloader required by the current installer version. Will be removed when bootloader is chosen and installed dynamically.
+ # - name: grub
+ # description: Bootloader required by the current installer version. Will be removed when bootloader is chosen and installed dynamically.
- name: efibootmgr
description: Required by the installer to setup the bootloader
- - name: os-prober
- description: For detecting other operating systems
- name: amd-ucode
description: Microcode update image for AMD CPUs. Required currently in bootloader.conf
- name: intel-ucode
diff --git a/etc/calamares/modules/packagechooserq_bootloader.conf b/etc/calamares/modules/packagechooserq_bootloader.conf
new file mode 100644
index 0000000..6316b35
--- /dev/null
+++ b/etc/calamares/modules/packagechooserq_bootloader.conf
@@ -0,0 +1,11 @@
+# SPDX-FileCopyrightText: no
+# SPDX-License-Identifier: CC0-1.0
+
+# https://github.com/calamares/calamares/blob/calamares/src/modules/packagechooserq/packagechooserq.conf
+---
+
+method: custom
+qmlFilename: packagechooserq_bootloader
+packageChoice: grub # Default value
+labels:
+ step: "Bootloader"
\ No newline at end of file
diff --git a/etc/calamares/modules/preservefiles.conf b/etc/calamares/modules/preservefiles.conf
index e980ed0..ab8dabf 100644
--- a/etc/calamares/modules/preservefiles.conf
+++ b/etc/calamares/modules/preservefiles.conf
@@ -10,4 +10,3 @@ files:
- from: log
dest: /var/log/install.log
perm: root:wheel:640
-
diff --git a/etc/calamares/settings_offline.conf b/etc/calamares/settings_offline.conf
index a4124a4..00587c1 100644
--- a/etc/calamares/settings_offline.conf
+++ b/etc/calamares/settings_offline.conf
@@ -14,6 +14,7 @@ sequence:
- locale
- keyboard
# - packagechooser@packagechooser_DE
+ - packagechooserq@packagechooserq_bootloader
# - netinstall
- partition
- users
@@ -36,7 +37,6 @@ sequence:
- shellprocess@xfce_configuration # Perform Xfce configuration before initial config copies it to the skel directory
- shellprocess@shellprocess_initial_config_offline
- machineid
- - fstab
- locale
- localecfg
- hwclock
@@ -51,8 +51,10 @@ sequence:
# ==========
# Setup boot
# ==========
+ - contextualprocess@contextualprocess_bootloader
- luksopenswaphookcfg
- luksbootkeyfile
+ - fstab
- initcpiocfg
- initcpio
- grubcfg
@@ -82,6 +84,10 @@ instances:
# - module: packagechooser
# id: packagechooser_DE
# config: packagechooser_DE.conf
+# ==========
+- module: packagechooserq
+ id: packagechooserq_bootloader
+ config: packagechooserq_bootloader.conf
# ***********
# Job modules
# ***********
@@ -190,6 +196,11 @@ instances:
config: shellprocess_post_install.conf
weight: 7
# ==========
+- module: contextualprocess
+ id: contextualprocess_bootloader
+ config: contextualprocess_bootloader.conf
+ weight: 5
+# ==========
- module: luksbootkeyfile
id: luksbootkeyfile
# config: luksbootkeyfile.conf # No config
diff --git a/etc/calamares/settings_online.conf b/etc/calamares/settings_online.conf
index 90f418c..61516bb 100644
--- a/etc/calamares/settings_online.conf
+++ b/etc/calamares/settings_online.conf
@@ -14,6 +14,7 @@ sequence:
- locale
- keyboard
- packagechooser@packagechooser_DE
+ - packagechooserq@packagechooserq_bootloader
- netinstall
- partition
- users
@@ -36,7 +37,6 @@ sequence:
# - shellprocess@xfce_configuration # Perform Xfce configuration before initial config copies it to the skel directory
- shellprocess@shellprocess_initial_config_online
- machineid
- - fstab
- locale
- localecfg
- hwclock
@@ -51,8 +51,10 @@ sequence:
# ==========
# Setup boot
# ==========
+ - contextualprocess@contextualprocess_bootloader
- luksopenswaphookcfg
- luksbootkeyfile
+ - fstab
- initcpiocfg
- initcpio
- grubcfg
@@ -82,6 +84,10 @@ instances:
- module: packagechooser
id: packagechooser_DE
config: packagechooser_DE.conf
+# ==========
+- module: packagechooserq
+ id: packagechooserq_bootloader
+ config: packagechooserq_bootloader.conf
# ***********
# Job modules
# ***********
@@ -190,6 +196,11 @@ instances:
config: shellprocess_post_install.conf
weight: 2
# ==========
+- module: contextualprocess
+ id: contextualprocess_bootloader
+ config: contextualprocess_bootloader.conf
+ weight: 5
+# ==========
- module: luksbootkeyfile
id: luksbootkeyfile
# config: luksbootkeyfile.conf # No config
diff --git a/packaging/calamares-configuration-git/PKGBUILD b/packaging/calamares-configuration-git/PKGBUILD
index 770fe6f..aaaeeb2 100644
--- a/packaging/calamares-configuration-git/PKGBUILD
+++ b/packaging/calamares-configuration-git/PKGBUILD
@@ -2,7 +2,7 @@
# 1. shivanandvp
pkgname=calamares-configuration-git
-pkgver=0.1.39
+pkgver=0.1.40
pkgrel=1
arch=('i686' 'x86_64' 'armv6h' 'armv7h')
diff --git a/packaging/calamares-configuration-local/PKGBUILD b/packaging/calamares-configuration-local/PKGBUILD
index d20b61e..b95d0be 100644
--- a/packaging/calamares-configuration-local/PKGBUILD
+++ b/packaging/calamares-configuration-local/PKGBUILD
@@ -2,7 +2,7 @@
# 1. shivanandvp
pkgname=calamares-configuration-local
-pkgver=0.1.39
+pkgver=0.1.40
pkgrel=1
arch=('i686' 'x86_64' 'armv6h' 'armv7h')
diff --git a/packaging/calamares-configuration/PKGBUILD b/packaging/calamares-configuration/PKGBUILD
index 54cc312..bf02912 100644
--- a/packaging/calamares-configuration/PKGBUILD
+++ b/packaging/calamares-configuration/PKGBUILD
@@ -2,7 +2,7 @@
# 1. shivanandvp
pkgname=calamares-configuration
-pkgver=0.1.39
+pkgver=0.1.40
pkgrel=1
arch=('i686' 'x86_64' 'armv6h' 'armv7h')