calamares issueshttps://gitlab.manjaro.org/applications/calamares/-/issues2024-03-27T17:13:48Zhttps://gitlab.manjaro.org/applications/calamares/-/issues/88microcode hook in initcpiocfg conflicts with postcfg or postcfg conflicts wit...2024-03-27T17:13:48ZFrede Hmicrocode hook in initcpiocfg conflicts with postcfg or postcfg conflicts with initcpioAs both microcode images is installed on the ISO root filesystem - it has been configured in postcfg to remove the obsolete microcode image based on the host CPU.
Since initcpiocfg and the following initcpio will add both microcode to i...As both microcode images is installed on the ISO root filesystem - it has been configured in postcfg to remove the obsolete microcode image based on the host CPU.
Since initcpiocfg and the following initcpio will add both microcode to init - the target system will experience boot failure as the postcfg removes one of the microcode packages with out updating initfs.
https://gitlab.manjaro.org/applications/calamares/-/commit/60c5f3fd5ad4232a6b7e605cffa59e797ebea0f6#note_31737
https://forum.manjaro.org/t/iso-calamares-grub-issue-ucode/158906/12https://gitlab.manjaro.org/applications/calamares/-/issues/87Doesn't compile against latest Qt6 but upstream does2024-03-14T16:19:59ZRoman GilgDoesn't compile against latest Qt6 but upstream does3.3.x-stable
@philm3.3.x-stable
@philmhttps://gitlab.manjaro.org/applications/calamares/-/issues/86Sidebar black after Plasma 6 updates2024-03-14T16:19:28ZMark WagieSidebar black after Plasma 6 updatesUsing `calamares` 3.3.4-0.2
KDE (installed system via 240306 daily ISO updated to Plasma 6):
![Screenshot_from_2024-03-09_11-29-45](/uploads/999c87691166b9626de03c7a4ff69f73/Screenshot_from_2024-03-09_11-29-45.png)
GNOME (240307 live ...Using `calamares` 3.3.4-0.2
KDE (installed system via 240306 daily ISO updated to Plasma 6):
![Screenshot_from_2024-03-09_11-29-45](/uploads/999c87691166b9626de03c7a4ff69f73/Screenshot_from_2024-03-09_11-29-45.png)
GNOME (240307 live ISO):
![Screenshot_from_2024-03-09_11-19-11](/uploads/a2ab7ad7537af575649e6ac0fb1c5b3e/Screenshot_from_2024-03-09_11-19-11.png)https://gitlab.manjaro.org/applications/calamares/-/issues/85Calamares 3.3.x encrypted install2024-02-29T05:46:03ZFrede HCalamares 3.3.x encrypted installI usually do not test encrypted installs - I made an exception
## ISO 20240222 with v.3.3.1
## first test case
Selected
- Erase disk
- Swap with hibernate
- Filesystem **ext4**
- Tick encrypt option
- Enter encryption phrase twice (UI ...I usually do not test encrypted installs - I made an exception
## ISO 20240222 with v.3.3.1
## first test case
Selected
- Erase disk
- Swap with hibernate
- Filesystem **ext4**
- Tick encrypt option
- Enter encryption phrase twice (UI responds OK)
### Expected result
full-disk-encryption
### Actual result
Installation is fully encrypted.
## second test case
Selected
- Erase disk
- Swap to file
- Filesystem **btrfs**
- Tick encrypt option
- Enter encryption phrase twice (UI responds OK)
### Expected result
Full-disk-encryption
### Actual result
No encryption
## ISO 20240225 with v.3.3.2
I have tested calamares installer in various ways and it usually works.
However - as of February 25. 2024 the installer behaves weird when chosing to encrypt the installation.
## first test case
Selected
- Erase disk
- Swap with hibernate
- Filesystem **ext4**
- Tick encrypt option
- Enter encryption phrase twice (UI responds OK)
### Expected result
full-disk-encryption
### Actual result
Only swap partition is encrypted.
## second test case
Selected
- Erase disk
- Swap to file
- Filesystem **btrfs**
- Tick encrypt option
- Enter encryption phrase twice (UI responds OK)
### Expected result
Full-disk-encryption
### Actual result
No encryptionhttps://gitlab.manjaro.org/applications/calamares/-/issues/84[initcpiocfg/main.py] remove oldstyle array syntax mkinitcpio2023-11-29T10:31:22ZFrede H[initcpiocfg/main.py] remove oldstyle array syntax mkinitcpioFix deprecated old style array `""` change to `()`
[01-calamares-fix-oldstyle-arrays-mkinitcpio.patch](/uploads/223d55c2e91d05145011b39b0cf343ef/01-calamares-fix-oldstyle-arrays-mkinitcpio.patch)Fix deprecated old style array `""` change to `()`
[01-calamares-fix-oldstyle-arrays-mkinitcpio.patch](/uploads/223d55c2e91d05145011b39b0cf343ef/01-calamares-fix-oldstyle-arrays-mkinitcpio.patch)https://gitlab.manjaro.org/applications/calamares/-/issues/83Contributing merge request for interactive pacman-mirrors2023-10-04T03:08:15ZLawrence R. SteegerContributing merge request for interactive pacman-mirrorsLets the installing user select the mirrors to be used in the new target system during installation.
Forked branch is available at [interactive_pacman-mirrors](https://gitlab.com/lsteeger1/calamares/-/tree/Interactive_pacman-mirrors?ref...Lets the installing user select the mirrors to be used in the new target system during installation.
Forked branch is available at [interactive_pacman-mirrors](https://gitlab.com/lsteeger1/calamares/-/tree/Interactive_pacman-mirrors?ref_type=heads).
Related to [Add the ability to choose Mirror by country during the installation](https://gitlab.manjaro.org/applications/calamares/-/issues/39); but does not get down to directly selecting a country.
The resulting dialog allows for sorting by clicking on the **Country** column header, which makes selecting mirrors from a specific country accessible.
![Screenshot_2023-10-03_22-03-59](/uploads/effc5216ee8eefbba651587ac9089bfc/Screenshot_2023-10-03_22-03-59.png)https://gitlab.manjaro.org/applications/calamares/-/issues/82missing libyaml.cpp.so.0.72023-09-18T14:42:56ZFrede Hmissing libyaml.cpp.so.0.7Running buildiso which pulls the package 3.2.62-5 from unstable branch.
Running the installer from the ISO bails out with the message
```
$ calamares --debug ...Running buildiso which pulls the package 3.2.62-5 from unstable branch.
Running the installer from the ISO bails out with the message
```
$ calamares --debug
calamares: error while loading shared libraries: libyaml-cpp.so.0.7: cannot open shared object file: No such file or directory
```
`3.3.0alpha3.r11477.b272011b2-1` has the same missing libraryhttps://gitlab.manjaro.org/applications/calamares/-/issues/81Cannot start with boost-libs 1.83.0-22023-09-11T17:24:26ZTioCannot start with boost-libs 1.83.0-2Trying to launch calamares 3.2.62-4 I get:
```
calamares
calamares: error while loading shared libraries: libboost_python311.so.1.81.0: cannot open shared object file: No such file or directory
```
I suspect it is still built against t...Trying to launch calamares 3.2.62-4 I get:
```
calamares
calamares: error while loading shared libraries: libboost_python311.so.1.81.0: cannot open shared object file: No such file or directory
```
I suspect it is still built against the boost-libs 1.81.0 so it needs a rebuild.https://gitlab.manjaro.org/applications/calamares/-/issues/80Buildiso created efi_boot_loader=systemd-boot iso cannot install due to "no s...2023-07-20T03:41:06ZXiao WangBuildiso created efi_boot_loader=systemd-boot iso cannot install due to "no such file /tmp/calamares-root-lymud_fv/vmlinuz-6.1-x86_64" errorI built a custom iso of manjaro with clean install of official `manjaro-gnome-22.1.3-230529-linux61.iso` file after updating the system for about 2GB downloading.
I read the `Build_Manjaro_ISOs_with_buildiso` wiki, only changed one con...I built a custom iso of manjaro with clean install of official `manjaro-gnome-22.1.3-230529-linux61.iso` file after updating the system for about 2GB downloading.
I read the `Build_Manjaro_ISOs_with_buildiso` wiki, only changed one config in *profile.conf*:
```
efi_boot_loader="systemd-boot"
```
my buildiso command was
```
buildiso -f -p gnome -b stable -k linux61
```
And my iso was build sucessfully.
I used ventoy to install this ISO. Installation progress went to around 79%, the installer prompted error, and here below is the failure log:
Calamares version: 3.2.62-4
…
2023-07-20 - 02:40:08 [6]: virtual void Calamares::JobThread::run()
Starting job “grubcfg” ( 32 / 35 )
2023-07-20 - 02:40:08 [6]: virtual Calamares::JobResult Calamares::PythonJob::exec()
Job file “/usr/lib/calamares/modules/grubcfg/main.py”
2023-07-20 - 02:40:08 [6]: [PYTHON JOB]: Found gettext “en_US” in “/usr/share/locale/en_US”
2023-07-20 - 02:40:08 [6]: … Job description from pretty_name “grubcfg” = “Configure GRUB.”
2023-07-20 - 02:40:08 [6]: … Running (“sh”, “-c”, “which dracut”)
2023-07-20 - 02:40:08 [6]: … Target cmd: (“sh”, “-c”, “which dracut”) Exit code: 1 output:
which: no dracut in (/usr/sbin:/usr/bin:/sbin:/bin:/root/bin)
2023-07-20 - 02:40:08 [6]: … Running (“sh”, “-c”, “which plymouth”)
2023-07-20 - 02:40:08 [6]: virtual void Calamares::JobThread::run()
Starting job “bootloader” ( 33 / 35 )
2023-07-20 - 02:40:08 [6]: virtual Calamares::JobResult Calamares::PythonJob::exec()
Job file “/usr/lib/calamares/modules/bootloader/main.py”
2023-07-20 - 02:40:08 [6]: [PYTHON JOB]: Found gettext “en_US” in “/usr/share/locale/en_US”
2023-07-20 - 02:40:08 [6]: … Job description from pretty_name “bootloader” = “Install bootloader.”
2023-07-20 - 02:40:08 [6]: [PYTHON JOB]: “Bootloader: systemd-boot”
2023-07-20 - 02:40:08 [6]: [PYTHON JOB]: “Root partition uuid: "be1b4009-f0de-4666-8bd9-d4b22562e09d"”
2023-07-20 - 02:40:08 [6]: [PYTHON JOB]: “Configure: ", with linux61"”
2023-07-20 - 02:40:08 [6]: Python Error:
<class ‘FileNotFoundError’>
[Errno 2] No such file or directory: ‘/tmp/calamares-root-lymud_fv/vmlinuz-6.1-x86_64’
File “/usr/lib/calamares/modules/bootloader/main.py”, line 777, in run
prepare_bootloader(fw_type)
File “/usr/lib/calamares/modules/bootloader/main.py”, line 744, in prepare_bootloader
install_systemd_boot(efi_directory)
File “/usr/lib/calamares/modules/bootloader/main.py”, line 487, in install_systemd_boot
create_systemd_boot_conf(install_path,
File “/usr/lib/calamares/modules/bootloader/main.py”, line 231, in create_systemd_boot_conf
shutil.copyfile(kernel_path, os.path.join(files_dir, kernel_name))
File “/usr/lib/python3.11/shutil.py”, line 256, in copyfile
with open(src, ‘rb’) as fsrc:
^^^^^^^^^^^^^^^
I tried twice, always failed due to mentioned error.https://gitlab.manjaro.org/applications/calamares/-/issues/79Installation of Manjaro using Calamares always fails2023-06-22T06:31:45ZDavid DanielInstallation of Manjaro using Calamares always failsSeveral independent problems provide the worst experience installing Linux ever
When trying to install Manjaro Linux the installer fails for different reasons:
* The installer fails to select continue when first selecting manual partit...Several independent problems provide the worst experience installing Linux ever
When trying to install Manjaro Linux the installer fails for different reasons:
* The installer fails to select continue when first selecting manual partitioning.
* The installer randomly crashes when trying to find available block devices.
* The installer fails to install on systems with less than 8GB memory.
* The installer ALWAYS fails to install grub - the efi partition is mounted somewhere below /tmp
**To Reproduce**
Try to install Manjaro Linux with the installer on a new computer - you may chose to use the entire disk or try to use a custom LVM partitioning scheme. Use 512MiB of an EFI partition at the start of the gpt formatted device.
Installation fails - always.https://gitlab.manjaro.org/applications/calamares/-/issues/78Kernel crashing or not booting to graphical UI2023-07-03T09:43:40ZVitor LopesKernel crashing or not booting to graphical UIhttps://gitlab.manjaro.org/applications/calamares/-/issues/77Theme issues2023-07-03T09:41:47ZVitor LopesTheme issuesDev branch the sidebar is not displaying everything is dark.Dev branch the sidebar is not displaying everything is dark.https://gitlab.manjaro.org/applications/calamares/-/issues/76Install English layout in addition of non english layout.2023-06-18T16:11:56ZNadavInstall English layout in addition of non english layout.It's not practical for Linux system to be without an English layout. for example using terminals.
So if someone choose a non English layout in installation, need also to install in addition an English layout.
Currently there is not optio...It's not practical for Linux system to be without an English layout. for example using terminals.
So if someone choose a non English layout in installation, need also to install in addition an English layout.
Currently there is not option to choose more then one keyboard layout.
Also please allow the option to make the password in English characters even the layout is not.https://gitlab.manjaro.org/applications/calamares/-/issues/75QML crash on slideshow when only using 2gb ram2023-04-21T18:07:08ZVitor LopesQML crash on slideshow when only using 2gb ramvoid Calamares::SlideshowQML::loadQmlV2Complete()
QML component complete, API 2
12:39:53 [2]: file:///usr/share/calamares/branding/manjaro/slideshow/Artwork.qml:227:9: QML Image: Binding loop detected for property "sourceSize.height...void Calamares::SlideshowQML::loadQmlV2Complete()
QML component complete, API 2
12:39:53 [2]: file:///usr/share/calamares/branding/manjaro/slideshow/Artwork.qml:227:9: QML Image: Binding loop detected for property "sourceSize.height"
zsh: killed sudo calamares -dhttps://gitlab.manjaro.org/applications/calamares/-/issues/74Logo is blue on XFCE2023-03-03T12:32:54ZVitor LopesLogo is blue on XFCE![Screenshot_from_2023-03-03_12-31-59](/uploads/4ce3b8984fb41e712368993db9017389/Screenshot_from_2023-03-03_12-31-59.png)![Screenshot_from_2023-03-03_12-31-59](/uploads/4ce3b8984fb41e712368993db9017389/Screenshot_from_2023-03-03_12-31-59.png)https://gitlab.manjaro.org/applications/calamares/-/issues/73Logo not displaying correctely on plasma depending of the screensize2023-03-03T13:29:43ZVitor LopesLogo not displaying correctely on plasma depending of the screensize![Screenshot_from_2023-03-03_11-31-37](/uploads/688f71a40701bcdb87ebe72cad482b48/Screenshot_from_2023-03-03_11-31-37.png)![Screenshot_from_2023-03-03_11-31-37](/uploads/688f71a40701bcdb87ebe72cad482b48/Screenshot_from_2023-03-03_11-31-37.png)https://gitlab.manjaro.org/applications/calamares/-/issues/72Calamares crash when zoom is set to 200 or ressolution changes on HDPI2023-04-21T18:07:32ZVitor LopesCalamares crash when zoom is set to 200 or ressolution changes on HDPIThis affects Gnome and Plasma
ISO: 22.0.4 230222 linux61
void ensureSize(QWidget*, QScrollArea*, Calamares::ViewStep*)
Summary widget is larger than viewport, enlarge by 156 to QSize(834, 676)
How to replicate: Download Gnome image...This affects Gnome and Plasma
ISO: 22.0.4 230222 linux61
void ensureSize(QWidget*, QScrollArea*, Calamares::ViewStep*)
Summary widget is larger than viewport, enlarge by 156 to QSize(834, 676)
How to replicate: Download Gnome image, set zoom to 200% under settings, run calamares -dhttps://gitlab.manjaro.org/applications/calamares/-/issues/71for secure boot2023-02-13T12:26:54Zphoepsilonixfor secure boot1.Patch for secure boot support using AUR's shim-signed package and mokutil,sbsigntools.
```
diff --git a/src/modules/bootloader/main.py b/src/modules/bootloader/main.py
index d7f4a71..ca1c298 100644
--- a/src/modules/bootloader/main.py...1.Patch for secure boot support using AUR's shim-signed package and mokutil,sbsigntools.
```
diff --git a/src/modules/bootloader/main.py b/src/modules/bootloader/main.py
index d7f4a71..ca1c298 100644
--- a/src/modules/bootloader/main.py
+++ b/src/modules/bootloader/main.py
@@ -568,17 +568,37 @@ def run_grub_install(fw_type, partitions, efi_directory):
assert efi_directory is not None
efi_bootloader_id = efi_label(efi_directory)
efi_target, efi_grub_file, efi_boot_file = get_grub_efi_parameters()
+ grub_modules = get_modules()
+ install_path = libcalamares.globalstorage.value("rootMountPoint")
+ grubInstall = libcalamares.job.configuration["grubInstall"]
if is_zfs:
- check_target_env_call(["sh", "-c", "ZPOOL_VDEV_NAME_PATH=1 " + libcalamares.job.configuration["grubInstall"]
+ check_target_env_call(["sh", "-c", "ZPOOL_VDEV_NAME_PATH=1 " + grubInstall
+ " --target=" + efi_target + " --efi-directory=" + efi_directory
+ + " --modules=\"" + grub_modules + "\" --sbat=/usr/share/grub/sbat.csv"
+ + " --disable-shim-lock"
+ " --bootloader-id=" + efi_bootloader_id + " --force"])
else:
- check_target_env_call([libcalamares.job.configuration["grubInstall"],
+ check_target_env_call(["sh", "-c", grubInstall,
"--target=" + efi_target,
"--efi-directory=" + efi_directory,
+ '--modules="' + grub_modules + '"',
+ "--disable-shim-lock",
+ "--sbat=/usr/share/grub/sbat.csv",
"--bootloader-id=" + efi_bootloader_id,
"--force"])
+ MOK_path = "/etc/secureboot/"
+ if os.path.exists(install_path + MOK_path + "MOK.key"):
+ grub_path = efi_directory + "/EFI/" + efi_bootloader_id + "/" + efi_grub_file
+ check_target_env_call(["sh", "-c", "/usr/bin/find /boot/ -maxdepth 1 -name 'vmlinuz-*' | /usr/bin/xargs -I{} /bin/sh -c 'if ! /usr/bin/sbverify --cert /etc/secureboot/MOK.crt {} >/dev/null 2>&1 ;then sudo /usr/bin/sbsign --key " + MOK_path + "MOK.key --cert " + MOK_path + "MOK.crt --output {} {}; fi'"])
+ check_target_env_call(["sh", "-c", "/usr/bin/sbsign --key " + MOK_path + "MOK.key --cert " + MOK_path + "MOK.crt --output " + grub_path + " " + grub_path])
+ check_target_env_call(["sh", "-c", "/usr/bin/mokutil --import " + MOK_path + "MOK.cer --root-pw"])
+ install_efi_directory = install_path + efi_directory
+ os.mkdir(os.path.join(install_efi_directory, "EFI", "boot"))
+ shutil.copy2(os.path.join(install_efi_directory, "EFI", efi_bootloader_id, "grubx64.efi") , os.path.join(install_efi_directory, "EFI", "boot", "bootx64.efi"))
+ shutil.copy2(os.path.join(install_path, "/usr/share/shim-signed/shimx64.efi") , os.path.join(install_efi_directory, "EFI", efi_bootloader_id))
+ shutil.copy2(os.path.join(install_path, "/usr/share/shim-signed/mmx64.efi") , os.path.join(install_efi_directory, "EFI", efi_bootloader_id))
+ install_secureboot(efi_directory)
else:
assert efi_directory is None
if libcalamares.globalstorage.value("bootLoader") is None:
@@ -683,34 +703,35 @@ def install_secureboot(efi_directory):
# of that tuple.
efi_drive = subprocess.check_output([
libcalamares.job.configuration["grubProbe"],
- "-t", "drive", "--device-map=", install_efi_directory]).decode("ascii")
- efi_disk = subprocess.check_output([
- libcalamares.job.configuration["grubProbe"],
- "-t", "disk", "--device-map=", install_efi_directory]).decode("ascii")
+ "-t", "device", install_efi_directory]).decode("ascii")
- efi_drive_partition = efi_drive.replace("(","").replace(")","").split(",")[1]
+ efi_drive_partition = efi_drive
# Get the first run of digits from the partition
efi_partition_number = None
- c = 0
- start = None
- while c < len(efi_drive_partition):
- if efi_drive_partition[c].isdigit() and start is None:
- start = c
- if not efi_drive_partition[c].isdigit() and start is not None:
- efi_partition_number = efi_drive_partition[start:c]
+ c = len(efi_drive_partition) - 1
+ end = None
+ while c >= 0:
+ if efi_drive_partition[c].isdigit() and end is None:
+ end = c + 1
+ if not efi_drive_partition[c].isdigit() and end is not None:
+ efi_partition_number = efi_drive_partition[c+1:end]
+ efi_disk = efi_drive_partition[0:c+1]
break
- c += 1
+ c -= 1
if efi_partition_number is None:
raise ValueError("No partition number found for %s" % install_efi_directory)
+ boot_mgr = libcalamares.job.configuration["efiBootMgr"]
+ efi_disk = efi_disk.rsplit()[0]
+ efi_bin_path = os.path.join("/EFI", efi_bootloader_id, install_efi_bin)
subprocess.call([
- libcalamares.job.configuration["efiBootMgr"],
+ boot_mgr,
"-c",
- "-w",
- "-L", efi_bootloader_id,
+ "-u",
+ "-L", efi_bootloader_id + "Shim",
"-d", efi_disk,
- "-p", efi_partition_number,
- "-l", install_efi_directory + "/" + install_efi_bin])
+ "-p", str(efi_partition_number),
+ "-l", efi_bin_path])
efi_boot_next()
@@ -751,6 +772,110 @@ def prepare_bootloader(fw_type):
"boot-loader '{!s}' and firmware '{!s}' "
"is not supported.".format(efi_boot_loader, fw_type) )
+def get_modules():
+ platform=os.uname().machine
+
+ CD_MODULES="""
+ all_video
+ boot
+ btrfs
+ cat
+ chain
+ configfile
+ echo
+ efifwsetup
+ efinet
+ ext2
+ fat
+ font
+ gettext
+ gfxmenu
+ gfxterm
+ gfxterm_background
+ gzio
+ halt
+ help
+ hfsplus
+ iso9660
+ jpeg
+ keystatus
+ loadenv
+ loopback
+ linux
+ ls
+ lsefi
+ lsefimmap
+ lsefisystab
+ lssal
+ memdisk
+ minicmd
+ normal
+ ntfs
+ part_apple
+ part_msdos
+ part_gpt
+ password_pbkdf2
+ png
+ probe
+ reboot
+ regexp
+ search
+ search_fs_uuid
+ search_fs_file
+ search_label
+ sleep
+ smbios
+ squash4
+ test
+ true
+ video
+ xfs
+ zfs
+ zfscrypt
+ zfsinfo
+ """
+
+ # Platform-specific modules
+ if platform in ['x86_64', 'i386']:
+ CD_MODULES+="""
+ cpuid
+ play
+ tpm
+ """
+
+ GRUB_MODULES = CD_MODULES + """
+ cryptodisk
+ gcry_arcfour
+ gcry_blowfish
+ gcry_camellia
+ gcry_cast5
+ gcry_crc
+ gcry_des
+ gcry_dsa
+ gcry_idea
+ gcry_md4
+ gcry_md5
+ gcry_rfc2268
+ gcry_rijndael
+ gcry_rmd160
+ gcry_rsa
+ gcry_seed
+ gcry_serpent
+ gcry_sha1
+ gcry_sha256
+ gcry_sha512
+ gcry_tiger
+ gcry_twofish
+ gcry_whirlpool
+ luks
+ lvm
+ mdraid09
+ mdraid1x
+ raid5rec
+ raid6rec
+ """
+ GRUB_MODULES=" ".join(GRUB_MODULES.split())
+ return GRUB_MODULES
def run():
"""
```https://gitlab.manjaro.org/applications/calamares/-/issues/70Enable the swap partition during installation. (and Exclude calamares install...2023-02-13T19:45:03ZphoepsilonixEnable the swap partition during installation. (and Exclude calamares installer from oom killer.)https://github.com/calamares/calamares/pull/2097
During installation, if a swap partition exists, enable swap.
If there is no swap at all when the partition of the installation destination device is mounted, if a Swap partition exists,...https://github.com/calamares/calamares/pull/2097
During installation, if a swap partition exists, enable swap.
If there is no swap at all when the partition of the installation destination device is mounted, if a Swap partition exists, enable swap.
target_env_call cannot be used because it is before the files are copied to the installation destination. host_env_process_output cannot be used because the return value cannot be obtained.
To avoid reinventing the wheel as much as possible, use subprocess.check_output.
```
diff --git a/src/modules/mount/main.py b/src/modules/mount/main.py
index 32da36dd0..6207a6cfe 100644
--- a/src/modules/mount/main.py
+++ b/src/modules/mount/main.py
@@ -307,6 +307,12 @@ def mount_partition(root_mount_point, partition, partitions, mount_options, moun
mount_option) != 0:
libcalamares.utils.warning("Cannot mount {}".format(device))
+def enable_swap_partitions(swap_partitions):
+ try:
+ for swap_device in swap_partitions:
+ libcalamares.utils.host_env_process_output(["swapon", swap_device])
+ except subprocess.CalledProcessError:
+ libcalamares.utils.warning("Failed to swapon " + swap_device)
def run():
"""
@@ -321,6 +327,10 @@ def run():
return (_("Configuration Error"),
_("No partitions are defined for <pre>{!s}</pre> to use.").format("mount"))
+ # swap
+ swap_partitions = [p['device'] for p in partitions if p['fs'] == 'linuxswap']
+ enable_swap_partitions(swap_partitions)
+
root_mount_point = tempfile.mkdtemp(prefix="calamares-root-")
# Get the mountOptions, if this is None, that is OK and will be handled later
```
```
diff --git a/data/calamares_polkit b/data/calamares_polkit
index 363dcf7..cb8d2f6 100644
--- a/data/calamares_polkit
+++ b/data/calamares_polkit
@@ -1,4 +1,11 @@
#!/bin/bash
+
+#swap
+[[ $(swapon --show) == "" ]] && SWAP=$(lsblk -l -f -n -p | awk '{if ($2=="swap") print $1}') && ( sudo swapon $SWAP || (sudo mkswap $SWAP && sudo swapon $SWAP) )
+
+NO_OOM_KILLER="`pidof -xw Xwayland udisksd` $$"
+echo $NO_OOM_KILLER | xargs -n1 sudo choom -n -1000 -p
+
if [ $(which pkexec) ]; then
pkexec --disable-internal-agent "/usr/bin/calamares" "-D6" "$@"
else
```https://gitlab.manjaro.org/applications/calamares/-/issues/69Manjaro logo changes color2023-03-03T11:21:33ZVitor LopesManjaro logo changes colorManjaro logo changes color, branding should be fixed and not change according to user themes.Manjaro logo changes color, branding should be fixed and not change according to user themes.