Commit Graph

9517 Commits

Author SHA1 Message Date
Clayton Craft
a2b2c0ee5a
main/postmarketos-initramfs: umount /boot in the initramfs (MR 5751)
Fixes a bug where the kernel thinks the boot partition is still mounted
and it's unavailable for mounting in the rootfs

If you look at what the initramfs was doing before !5635, it was
explicitly umounting the boot partition from /boot in the initramfs and
then mounting it under /boot in the rootfs:
c45d7ec0a5/main/postmarketos-initramfs/init.sh (L87)

With this patch, we're now back to umounting /boot in the initramfs.
The second part of that original logic is now handled elsewhere now, and
that seems to be working OK.

The bug was reported here:
https://gitlab.postmarketos.org/postmarketOS/pmaports/-/issues/3279#note_454346

[ci:skip-build]: already built successfully in CI
2024-11-01 14:09:35 -07:00
postmarketOS CI
ea7eb26fb3
linux-next: upgrade to next-20241101 2024-11-01 16:57:37 +00:00
Caleb Connolly
bb7b1c4fde
device-postmarketos-trailblazer: add icc-osm-l3 to initramfs (MR 5745)
This module is necessary for cpu frequency scaling on Qualcomm
platforms, let's make it available earlier so we have cpu frequency
scaling up sooner.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-11-01 15:53:11 +01:00
adamthiede
adfe55c89a
linux-postmarketos-mediatek-mt8173: upgrade to 6.11.5 (MR 5741)
[ci:skip-build]: already built successfully in CI
2024-10-31 16:42:48 -07:00
MightyM17
0bf67c68ec
linux-postamrketos-omap: Reduce config options to reduce kernel size (MR 5716)
[ci:skip-build]: already built successfully in CI
2024-10-31 16:25:48 -07:00
Caleb Connolly
d92e2aaa20
postmarketos-initramfs: only include necessary udev rules (MR 5636)
importing all udev rules doesn't make sense here. Only add the needed
ones.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
Co-authored-by: Clayton Craft <clayton@craftyguy.net>

[ci:ignore-count]
[ci:skip-build]: already built successfully in CI
2024-10-31 11:54:25 -07:00
Caleb Connolly
a36c8a4d3c
main/unl0kr: include only necessary udev rules (MR 5636) 2024-10-31 11:54:25 -07:00
Caleb Connolly
7065039494
postmarketos-initramfs: clean up logging (MR 5636)
make the logging nicer and remove some irrelevant errors.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
Co-authored-by: Clayton Craft <clayton@craftyguy.net>
2024-10-31 11:54:24 -07:00
Clayton Craft
5c201c359e
main/postmarketos-mkinitfs: upgrade to 2.6.1 (MR 5636)
Note: this includes a breaking change in pmaports if pmos-initramfs isn't changed to support merging the initramfs+initramfs-extra. Do not cherry-pick without the required initramfs changes!
2024-10-31 11:54:24 -07:00
Caleb Connolly
4546b99f5f
postmarketos-initramfs-minimal: drop (MR 5636)
Drop the fork, nothing depends on it and we can use the new multi-stage
initramfs instead

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
[ci:ignore-count]
[ci:skip-vercheck]
2024-10-31 11:54:24 -07:00
Caleb Connolly
affa4134ca
device/*/*: enable deviceinfo_create_initfs_extra instead of depending on initramfs-minimal (MR 5636)
Make use of the new multi-stage initramfs rather than the minimal
variant, and inform mkinitfs that the initramfs-extra archive should be
created to save space.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>

[ci:ignore-count]
2024-10-31 11:54:24 -07:00
Caleb Connolly
cb8414a20d
postmarketos-initramfs: unify with minimal initramfs (MR 5636)
We previously forked the initramfs into a minimal variant for highly
space constrained devices, to allow the normal variant to gain
additional functionality like the debug-shell (With OSK). Initially the
hope was that only a handful of devices would need the minimal variant,
but in practise this has not been the case.

Trying to maintain two diverging forks of the initramfs is absoutely
unsustainable and (to be frank) a bit silly.

Based on discussion with craftyguy and newbyte, let's re-architect the
initramfs to run in two stages, with the second stage being part of
initramfs-extra. By itself this doesn't make a lot of sense, since
requiring the boot partition be mounted for the debug-shell to be useful
is a major downgrade.

However this can be used in tandem with pending support for a new
deviceinfo_create_initfs_extra variable, this is default false in
mkinitfs which finally gets rid of initramfs-extra entirely for devices
that don't need it.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
Co-authored-by: Clayton Craft <clayton@craftyguy.net>
2024-10-31 11:54:24 -07:00
Caleb Connolly
1a9eb8973e
postmarketos-initramfs: run_hooks: hide ls error (MR 5636)
We need to use ls to check if the hooks dir contains any hooks
(otherwise the wildcard doesn't work). But ls prints an error if the dir
is missing or empty. Hide the error to not pollute the log.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-10-31 11:54:24 -07:00
Caleb Connolly
d8530c4144
postmarketos-initramfs: remove support for /boot/.pmos_export_logs (MR 5636)
This was only added recently, is likely not used by anyone, and
introduces hard to resolve dependencies on /boot being mounted which we
may not want in the future.

Remove it to drop some complexity.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-10-31 11:54:24 -07:00
Oliver Smith
c45d7ec0a5
cross/crossdirect: fakeroot: add helpful error msg (MR 5744)
Alpine's abuild runs build() without fakeroot, and package() with
fakeroot. From the APKBUILD reference page in the Alpine wiki:

> Note: Building in fakeroot will reduce performance for parallel
> builds dramatically. It is for this reason that we split the build
> and package process into two separate functions.

Every now and then we see a package that tries to run a compiler (gcc,
g++, clang, ...) during package() in the APKBUILD. This is a bug in the
APKBUILD / build system of the program we are packaging. All compiling
should be done during build().

Let crossdirect print the following when this happens:

  ============================================================================================
  ERROR: crossdirect was called with: LD_PRELOAD=libfakeroot.so
  This means your package tried to run a compiler during package().
  This is not supported by crossdirect, and usually not a good idea.
  * Try to fix your APKBUILD so it does not run the compiler during package(), only in build()
    * If you're using meson install, try to add '--no-rebuild'
  * If this is not possible, you can work around it by setting options="!pmb:crossdirect"
    (compilation will be slower!)
  ============================================================================================

Instead of:

  ERROR: crossdirect: can't handle LD_PRELOAD: libfakeroot.so
  Please report this at: https://gitlab.com/postmarketOS/pmaports/issues
  As a workaround, you can compile without crossdirect.

In the past I've also tried to add 'strcmp(ldPreload, "libfakeroot.so") == 0'
(pmaports MR 2231), and today I made the same patch. The current code
looks like it would then work by just using libfakeroot.so from the
native chroot, but it does not work. And as mentioned, if we hit this
then we are compiling in package() which is something we should not do
anyway!

Fixes: pmb issue 2039
Related: pma issue 2351, pma MR 5738
2024-10-30 22:24:57 +01:00
Clayton Craft
f30cb0d74b
main/postmarketos-ui-gnome-mobile: remove nonexistent nm-elogind dependency (MR 5742)
Dropped in aports @ 3e7a2f54
2024-10-28 23:07:47 -07:00
Kevin Widjaja
f58357bebe
sony-togari: new device (MR 5739) 2024-10-28 17:45:06 +03:00
Bart Ribbers
a83466f5fc
temp/gnome-shell-mobile: remove dependency on removed networkmanager-common (MR 5740)
[ci:skip-build]: already built successfully in CI
2024-10-28 14:10:17 +01:00
Andreas Kemnade
ce3f3240c9
linux-postmarketos-imx-ereader: update to 6.11.2 (MR 5731) 2024-10-28 10:02:13 +09:00
Nikita Travkin
d3cf846739
main/dtbloader: Upgrade to 1.2.2 (MR 5737)
[ci:skip-build]: already built successfully in CI
2024-10-27 11:35:50 +01:00
Barnabás Czémán
d47cdc4186
device-lg-hammerhead: use lk2nd-msm8974-lg-hammerhead (MR 5691) 2024-10-26 22:40:54 +09:00
Barnabás Czémán
0ca2aeff2c
device-oneplus-bacon: switch to lk2nd-msm8974 (MR 5691)
Switch to lk2nd-msm8974 because separate appended
dtb image build is not needed anymore.
2024-10-26 22:40:54 +09:00
Barnabás Czémán
b0ce64a2ce
device-motorola-ali: switch to lk2nd-msm8953 (MR 5691)
Custom lk2nd build for motorla-ali is not needed anymore.
2024-10-26 22:40:54 +09:00
Barnabás Czémán
1275eb848f
main/lk2nd-msm8953: remove package (MR 5691)
Remove old lk2nd-msm8953 package in favor of lk2nd package.
2024-10-26 22:40:54 +09:00
Barnabás Czémán
c6e0ce6379
main/lk2nd: upgrade to 19.0 (MR 5691)
lk2nd 19.0 supports new platforms and simplifies image formats.
2024-10-26 22:40:54 +09:00
Oliver Smith
378cbbb235
linux-purism-librem5: add pmb:kconfigcheck-librem5 (MR 5633)
Follow up to MR 5562, which introduced category:librem5. Add the related
option, so CI actually enforces this category for the Librem 5.

[ci:skip-vercheck]: no need to rebuild for this
2024-10-23 13:24:10 +02:00
Oliver Smith
a6f188af10
CI: common.run_pmbootstrap: use simple check=True (MR 5633)
Use check=True instead of running check_returncode() afterwards, it has
the same effect and is shorter.
2024-10-23 13:24:10 +02:00
Oliver Smith
4ef0a4e9ad
CI: apkbuild_linting: fix missing output (MR 5633)
pmbootstrap used to exit with 0 if "pmbootstrap lint" failed. This was
the case in 2.3.x too, but I assumed this was a regression and fixed it
recently in pmbootstrap MR 2398.

It turns out that the CI code relied on this assumption, it captured the
output of "pmbootstrap lint", and only after it is done it checks if the
output wasn't empty and prints it in that case followed by exit 1.

Now that pmbootstrap actually exits with 1, CI already fails at
"common.run_pmbootstrap" and doesn't get to the part where it would be
printed.

I think "exit 1" on error is actually the right thing to do in
pmbootstrap, so I'll leave that in. Adjust CI to just run "pmbootstrap
lint", removing the additional output capture logic that isn't used
anywhere besides here. This also has the advantage that we get the
output "live", without buffering it completely first.
2024-10-23 13:24:06 +02:00
Jakob Hauser
a8a4d06fac
device-qemu-*: set a default resolution for X11 (MR 5712)
Qemu by default starts a GTK window in VGA resolution 640x480. The content
adapts to this resolution, thus X11 shows up in resolution 640x480 as well.

This resolution causes some handling issues. In Xfce4 the shutdown button of
the menu isn't reachable. Even worse in MATE, where the "Apply" button for
changing the resolution is out of the screen, making it difficult to change
the resolution.

The default resolution for X11 can be set by a config file. The Qemu GTK
window resolution remains independently at default 640x480. Setting the X11
resolution to default 800x600 mitigates the issue: Most of the screen content
becomes accessible while font size and button sizes are still large enough.
From this point the user can adjust the resolutions of the Qemu GTK window
and X11 content as desired.
[ci:skip-build]: already built successfully in CI
2024-10-23 00:23:40 -07:00
Luca Weiss
a9ab9a3925
cross/busybox-static-*: upgrade to 1.37.0-r3 (MR 5727)
[ci:skip-build]: already built successfully in CI
2024-10-23 00:19:15 -07:00
Clayton Craft
66cffd1903
main/postmarketos-ui-sway: enable portals (MR 5643)
This adds the wlr and GTK portal backends so that apps using portals will work OOTB.

The GTK backend is added because the wlr backend does not provide some essential portals, e.g. for camera
[ci:skip-build]: already built successfully in CI
2024-10-23 00:04:26 -07:00
Clayton Craft
36c12f1809
device-lenovo-21bx: depend on alsa-ucm-conf (MR 5714)
fixes #3251

[ci:skip-build]: already built successfully in CI
2024-10-22 23:59:16 -07:00
Clayton Craft
5541f19df4
main/postmarketos-installkernel: install to /sbin (MR 5728)
This reverts 622140965c, which basically broke installkenrel because
the kernel build system is hardcoded to look for installkernel in /
sbin/installkernel.

We'll have to move then once usr merge is complete and the symlink is
created for /sbin
[ci:skip-build]: already built successfully in CI
2024-10-22 23:21:23 -07:00
Luca Weiss
da8d31d637
linux-postmarketos-qcom-msm8974: upgrade to 6.11.4 (MR 5725)
Some kconfig changes to reduce kernel size to avoid conflict of 0x8000
(kernel load address) + uncompressed kernel size (arch/arm/boot/Image) +
compressed kernel size (arch/arm/boot/zImage) being bigger than
0x1e00000 (tags address).

This causes mostly silent boot failures, with CONFIG_DEBUG_LL messages
such as "no ATAGS support: can't continue" or "Error: invalid dtb and
unrecognized/unsupported machine ID" can be seen on UART, though they're
not very clear that the kernel image is essentially too big for what lk
is setting up.

Manual kconfig changes:
* Convert some =y to =m to reduce kernel size, mostly NFS_FS and CIFS
  since those are quite big and there's no point in having them
  built-in.
* Disable EXT2_FS & EXT3_FS - handled by EXT4 driver
* Disable PCI - unused
[ci:skip-build]: already built successfully in CI
2024-10-22 21:17:57 +02:00
Caleb Connolly
a79aaf0136
CI: fix autoupdate bot and don't enable it for local CI (MR 5724)
Update the bot email address, and don't enable the script for local CI
since it relies on protected GitLab CI variables. This could be fixed in
the future by safely handling these not being available.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-10-22 13:55:47 +02:00
Clayton Craft
901cb95204
main/postmarketos-base-ui: configure flathub from file drop-in (MR 5726)
Per the flatpak manpage, repos can be configured OOTB by dropping config under /etc/flatpak/remotes.d. Using the install script requires doing stuff over the internet, which may not always work at image build time. By using the drop-in file, we avoid having to connect to flathub.

The manpage only mentions /etc/flatpak, and nothing about /usr ...
2024-10-21 11:41:06 -07:00
Clayton Craft
ad9a7874a5
cross/gcc-*: upgrade to 14.2.0-r4 (MR 5722)
Quite a messy upgrade due to changes in both abuild and in the upstream
gcc APKBUILD breaking various things. Pmbootstrap also seems to
misbehave in GitLab CI making it difficult to validate.

Manual fixups:
* Set !tracedeps - changed behavior in abuild
* Manually add "so:" dependencies to avoid issues with !tracedeps set
  (becomes obvious with crossdirect)
* Add back makedepends="$makedepends_build $makedepends_host"
* Disable move of some files into usr/lib to avoid
  ERROR: gcc-aarch64-14.2.0-r4: trying to overwrite usr/lib/libgcc_s.so.1 owned by libgcc-14.2.0-r4.

[ci:skip-build] # pmbootstrap bugs will prohibit this from building
                # anyways, don't even attempt

Co-developed-by: Luca Weiss <luca@lucaweiss.eu>
2024-10-21 13:25:53 +02:00
Jens Reidel
e729f058ab
main/unixbench: upgrade to 5.1.3_git20230411 (MR 5715)
And re-enable riscv64 as the latest commits have added
support for riscv64.

Signed-off-by: Jens Reidel <adrian@travitia.xyz>
[ci:skip-build]: already built successfully in CI
2024-10-19 16:18:32 +02:00
Clayton Craft
344658db76
CI: gitlab: increase git clone depth to 100 (MR 5718)
Technically this option can be configured in the Gitlab UI, but I spent
about 3 hours debugging a CI failure caused by it being too low and
I don't want to risk forgetting this can happen later if/when someone
decides to lower it in the UI. By setting it here, we can have some
context/history about why.

This fixes the CI in !5688

Also see:
https://docs.gitlab.com/17.4/ee/user/project/repository/monorepos/index.html#shallow-cloning
[ci:skip-build]: already built successfully in CI
2024-10-19 14:07:38 +02:00
Clayton Craft
f37c93ed7e
ci: common: fix typo when printing upstream branch sha (MR 5718)
I was confused for a while about why the SHA printed by CI differed from
the actual upstream/master SHA:

     commit upstream/master: f822b7ee0d06f05ff6d2eb37bcf4a1825569be692
     real upstream/master: 822b7ee0d0
2024-10-19 14:07:24 +02:00
Barnabás Czémán
e03dc38b5c
linux-postmarketos-qcom-msm8953: upgrade to 6.11.1 (MR 5690)
[ci:skip-build]: already built successfully in CI
2024-10-19 13:44:20 +02:00
Barnabás Czémán
e21859c6e1
qcom-msm8953: new device (MR 5692)
With the new changes in lk2nd that allow us to support extlinux.conf,
we can now generate image that would be generic to these devices.

[ci:skip-build]: already built successfully in CI
2024-10-19 13:30:52 +02:00
Luca Weiss
8e1e107725
gnome-shell-extension-pinenote: remove (MR 5721)
mozjs102-dev has been removed from aports in September 2023[0] so
obviously noone has ever run this in the last year. Remove it.

[0] 14107fd2b4
[ci:skip-build]: already built successfully in CI
2024-10-19 13:25:41 +02:00
Luca Weiss
344a1f9865
device-pine64-pinenote: remove gnome subpackage (MR 5721)
Prepare to remove the gnome-shell-extension-pinenote package.
2024-10-19 13:25:34 +02:00
Luca Weiss
284c7034e5
device-samsung-on7xelte-downstream: fix kernel package dependency (MR 5721) 2024-10-19 13:25:25 +02:00
Luca Weiss
b6673372f5
device-raspberry-pi: fix linux-rpi2 dependency (MR 5721)
The package was renamed/replaced in Alpine with:
6f4fa0525c
2024-10-19 13:25:25 +02:00
Luca Weiss
878e3d7bf7
cross/musl-*: upgrade to 1.2.5-r5 (MR 5720)
[ci:skip-build]: already built successfully in CI
2024-10-17 23:13:24 -07:00
Richard Acayan
8d7c0d1c84
firmware-google-sargo: add audio calibration file (MR 5709)
[ci:skip-build]: already built successfully in CI
2024-10-17 17:15:23 +02:00
Richard Acayan
accb6bf0a9
alsa-ucm-conf-qcom-sdm670: update to 1.2.9_git20241012 (MR 5709) 2024-10-17 17:15:23 +02:00
Richard Acayan
10ccdaccc7
google-bonito: add kernel for tianma panel (MR 5709) 2024-10-17 17:15:23 +02:00