Commit Graph
7752 Commits
Author SHA1 Message Date
Stefan Hansson c5b66e4090 CI: replace depreciated module (MR 4500)
See PEP 632: https://peps.python.org/pep-0632

Closes https://gitlab.com/postmarketOS/pmaports/-/issues/2207
2023-10-27 08:37:37 +02:00
André Apitzsch 5dec8f2c87 bq-piccolo: remove unneeded pointercal (MR 4506)
With unl0kr being default now, pointercal is no longer needed.

[ci:skip-build]: already built successfully in CI
2023-10-26 00:05:55 +02:00
Raymond Hackley 398cba07b7 samsung-a6plte: drop 30-gpu-firmware.files (MR 4501)
msm-firmware-loader path is valid only on booted phones, which won't exist
in pmbootstrap chroot, but results in no such file or directory errors.
Drop 30-gpu-firmware.files to workaround temporarily. Besides it's
preferred to be put in firmware packages.

[ci:skip-build]: already built successfully in CI
2023-10-23 08:26:06 +02:00
Alexandre Marquet 0480628fe1 device-samsung-manta-downstream: remove package (MR 4406)
Signed-off-by: Alexandre Marquet <tb@a-marquet.fr>

[ci:skip-build]: already built successfully in CI
2023-10-23 08:18:27 +02:00
Alexandre Marquet dd4fc39824 linux-samsung-manta-downstream: remove package (MR 4406)
Signed-off-by: Alexandre Marquet <tb@a-marquet.fr>
2023-10-23 08:18:27 +02:00
Alexandre Marquet db2b912a0a device-samsung-manta: switch to mainline kernel (MR 4406)
Samsung Manta is now supported by linux-posmarketos-exynos5.
Update device-samsung-manta to use it, and move downstream kernel and
device to unmaintained.

Also adds a script and networkmanager configuration to autoconfigure
WiFi MAC address from /proc/cmdline.

Signed-off-by: Alexandre Marquet <tb@a-marquet.fr>
2023-10-23 08:18:26 +02:00
Alexandre Marquet 08f32ffa4d firmware-samsung-manta: update for mainline (MR 4406)
WiFi firmware for brcm43241b0 is in linux-firmware, but not the calibration (bcmdhd.cal).
Mainline driver need bcmdhd.cal to be renamed brcmfmac43241b0-sdio.samsung,nexus10-manta.txt.

Mainline Bluetooth driver needs BCM.samsung,nexus10-manta.hcd.

Signed-off-by: Alexandre Marquet <tb@a-marquet.fr>
2023-10-23 08:18:26 +02:00
Alexandre Marquet 062a26a60d linux-postmarketos-exynos5: update config for Samsung Manta (MR 4406)
Signed-off-by: Alexandre Marquet <tb@a-marquet.fr>
2023-10-23 08:18:21 +02:00
Caleb Connolly 78762563c2 postmarketos-initramfs: use blkid (MR 4487)
Explicitly pull in the blkid package (we already added it to
00-initramfs-base.files), and replace uses of busybox findfs. Full fat
blkid supports PARTLABEL (so the /dev/disk/by-partlabel symlinks will
work consistently now), and has some nice optimisations that make the
lookup times a lot faster than busybox findfs.

[ci:skip-build]: already built successfully in CI
2023-10-23 08:10:56 +02:00
Caleb Connolly 5c6f2dd0d9 postmarketos-initramfs: fix partition cmdline priority (MR 4487)
The "pmos_[br]oot(_uuid)?" kernel cmdline args can be used to specify
how to mount the root and boot partitions. During a previous rework, the
behaviour of these was made inconsistent (becoming dependent on the
order they were specified on the cmdline).

Undo the previous "optimisation" by splitting them back out into two
FOR loops, where the _uuid variants take precedence.
2023-10-23 08:10:50 +02:00
Alistair Francis 2c2aeed034 temp/pulseaudio: Enable webrtc (MR 4480)
Signed-off-by: Alistair Francis <alistair@alistair23.me>

[ci:skip-build]: already built successfully in CI
2023-10-23 07:40:41 +02:00
Alistair Francis 32b9b64c98 temp/pulseaudio: Refresh from upstream (MR 4480)
Refresh the package with latest changes from Alpine

Signed-off-by: Alistair Francis <alistair@alistair23.me>
2023-10-23 07:40:35 +02:00
Stefan Hansson a0a14ce58d linux-purism-librem5: upgrade to 6.5.6 (MR 4499)
[ci:skip-build] already built in CI
2023-10-22 15:54:33 +01:00
Dark98 0a8069435b device-htc-leo: depend on postmarketos-base-downstream (MR 4497)
Postmarketos-base-downstream provides a lightdm config file needed
for GUI to be brought up when using an x11 based UI.

[ci:ignore-count]
[ci:skip-build]: Already built successfully in CI
2023-10-21 14:43:14 +02:00
Dark98 7cea0a4a7b device-amazon-ford: depend on postmarketos-base-downstream (MR 4497)
WPostmarketos-base-downstream provides a lightdm config file needed
for GUI to be brought up when using an x11 based UI.
2023-10-21 14:43:13 +02:00
Henrik Grimler 1b86b7b922 device-samsung-gts210lte: depend on postmarketos-base-downstream (MR 4497)
Postmarketos-base-downstream provides a lightdm config file needed for
GUI to be brought up when using an x11 based UI.
2023-10-21 14:43:13 +02:00
Henrik Grimler 5462164fad exynos5420-tablets: depend on postmarketos-base-downstream (MR 4497)
When using downstream kernel.  Postmarketos-base-downstream provides a
lightdm config file needed for GUI to be brought up when using
an x11 based UI.
2023-10-21 14:43:12 +02:00
Henrik Grimler 2a03913ef4 device-samsung-dream: depend on postmarketos-base-downstream (MR 4497)
Postmarketos-base-downstream provides a x11 config file needed for GUI
to be brought up when using lightdm+x11 based UIs.

Fixes: https://gitlab.com/postmarketOS/pmaports/-/issues/2102
2023-10-21 14:43:12 +02:00
Henrik Grimler b2c3933136 device-samsung-crownlte: depend on postmarketos-base-downstream (MR 4497)
And drop 10-logind-check-graphical.conf since
postmarketos-base-downstream provides that file.
2023-10-21 14:43:12 +02:00
Henrik Grimler fc69517273 device-samsung-star2lte: depend on postmarketos-base-downstream (MR 4497)
And drop 10-logind-check-graphical.conf since
postmarketos-base-downstream provides that file.
2023-10-21 14:43:12 +02:00
Henrik Grimler 0028ae7353 device-samsung-starlte: depend on postmarketos-base-downstream (MR 4497)
And drop 10-logind-check-graphical.conf since
postmarketos-base-downstream provides that file.
2023-10-21 14:43:12 +02:00
Henrik Grimler c2175703fe main/postmarketos-base-downstream: add package (MR 4497)
All devices that use downstream kernels should depend on this package.
We will to start with use it to fix so that lightdm+x11 work again
when using downstream kernels.

See also https://gitlab.com/postmarketOS/pmaports/-/issues/2102.
2023-10-21 14:43:12 +02:00
Bryant Mairs 8d522e2640 samsung-milletwifi: new device (MR 4495) 2023-10-21 14:40:02 +02:00
Bryant Mairs ac80693307 linux-postmarketos-qcom-msm8226: add kernel options (MR 4494)
These are necessary for samsung-milletwifi to use this kernel.

[ci:skip-build]: Already built successfully in CI
2023-10-20 22:19:50 +02:00
Bryant Mairs 75774e99df linux-postmarketos-qcom-msm8226: upgrade to 6.5.7 (MR 4494) 2023-10-20 22:19:47 +02:00
Stefan Hansson 14e6594cc5 cross/gcc-*: upgrade to 13.2.1_git20231014 2023-10-20 13:06:28 +02:00
Raymond Hackley 4372013494 samsung-a6plte: add SM5708 modules to initfs, configure getty using deviceinfo_getty variable and add USB ID (MR 4404)
- Add SM5708 modules to initfs for the following devices, to unlock FDE
  with USB OTG keyboards and fix USB networking.
- Configure getty using deviceinfo_getty variable.
- Add USB ID 04e8:6860 to deviceinfo

[ci:skip-build]: already built successfully in CI
2023-10-18 17:58:47 +02:00
Raymond Hackley 6157a01f0f firmware: use build() instead of unpack() (MR 4493)
Some firmware packages has only a WCNSS config file, which is decoded
from base64 uploaded to Pastebin, and there is nothing to unpack.

[ci:ignore-count]
[ci:skip-build]: already built successfully in CI
2023-10-18 17:54:42 +02:00
Clayton Craft ef663840c4 main/postmarketos-mkinitfs: upgrade to 2.2.2 (MR 4475)
The only new thing in this version is the addition of a deprecation warning
when osk-sdl is installed in the initramfs.

Also see: https://gitlab.com/postmarketOS/pmaports/-/issues/2319
[ci:skip-build]: already built successfully in CI
2023-10-18 17:51:59 +02:00
Clayton Craft cf8fc87a52 device-valve-jupiter: set deviceinfo_generate_systemd_boot (MR 4485)
Upstream boot-deploy (me, lol) removed generate_gummiboot,
and now generate_systemd_boot is used to configure both gummiboot and
systemd boot.

[ci:skip-build]: already built successfully in CI
2023-10-18 17:46:15 +02:00
Clayton Craft 4a8b89e750 main/boot-deploy: upgrade to 0.11 (MR 4485)
Upstream changelog: https://gitlab.com/postmarketOS/boot-deploy/-/tags/0.11
2023-10-18 17:46:15 +02:00
Pablo Correa Gómez bdaf8ef02f main/postmarketos-initramfs: support comments in modules.load file (MR 4490)
[ci:skip-build]: already built successfully in CI
2023-10-18 15:08:21 +00:00
Clayton Craft 9400f43579 cross/gcc-riscv64: upgrade to 13.1.1_git20230722-r3 (MR 4476)
This reverts commit 72e55aae91, which was
itself a revert of this change 🥳

[ci:skip-build]: Already built successfully in CI
2023-10-18 16:59:53 +02:00
Raymond Hackley ca6ff9cd98 acer-t01: new device (MR 4488) 2023-10-18 13:15:18 +02:00
Barnabás Czémán 39b9c33cc0 xiaomi-onclite: remove bam_dma from modules-initfs (MR 4489) 2023-10-18 13:11:41 +02:00
Ion Agorria 4dc4b0adf6 oneplus-hotdogb: add device pkg (MR 4451)
[ci:skip-build]: already built successfully in CI
2023-10-16 20:25:55 +02:00
Richard Acayan c0fc15d156 google-sargo: package q6voiced config (MR 4479)
This was missed in the original c720400e47 ("google-sargo: add
q6voiced config (MR 4412)"), then pointed out by craftyguy when
reviewing the full bonito port.

Link: https://gitlab.com/postmarketOS/pmaports/-/merge_requests/4318#note_1587356675
[ci:skip-build]: already built successfully in CI
2023-10-16 20:21:56 +02:00
M0Rf30 0b8a2265f8 qcom-msm8953: make bam_dma static (MR 4486)
[ci:skip-build]: already built successfully in CI
2023-10-16 20:18:21 +02:00
M0Rf30 71389586f8 linux-postmarketos-qcom-msm8953: upgrade to 6.5.2-r1 (MR 4477)
[ci:skip-build]: already built successfully in CI
2023-10-16 20:15:41 +02:00
Clayton Craft 72bd769dcb main/systemd-boot: new aport (MR 4484)
EFI bootloader from systemd, with hacks to build it on Alpine/pmOS.
Cross compilation (using a meson cross file) is used for building
32-bit version on x86_64, for systems that have a 32-bit EFI. Everything
else assumes that the EFI arch matches the CPU arch.

Besides supporting all the archs we need, another major goal was to
minimize the number of changes to systemd's build system required to
build only the bootloader, so that maintaining/rebasing isn't *too*
painful...

I am adding this to the "main" category, because I don't think there's a
way to add it to Alpine. It requires cross compiling to x86 on x86_64
(to support 32-bit EFI on this arch), and Alpine doesn't support this.
It requires stuff in pmaports/cross.

--- Research notes ---

I started looking at all of this because I wanted to come up with a
single way to boot Linux via EFI, that supports all (or as many as possible)
devices in pmaports. I looked at quite a few different options, and have
some notes below about my observations and conclusions for each.

Of everything I looked at, systemd-boot was the clear winner that met
the most requirements ("pro" below) with the fewest downsides ("con"
below).

Using a Unified Kernel Image (UKI) was a close second place, however
systemd-boot can also support booting UKI images quite easily (while
also giving us more flexibility to boot other things easily too), so I
think it wins over UKI.

The capitalization (or lack thereof) of the "pro" and "con" markers
below is significant: "PRO" / "CON" are major pros or cons for each
point (e.g. a major downside that blocks using the option), and
"pro"/"con" are minor (e.g. a downside that I'm willing to overlook.)

---- Requirements ----

- Arch support:
        - x86_64
        - x86 (nice to have, but not sure if necessary...)
        - armv7
        - aarch64
        - riscv64
- EFI support:
        - support 32-bit EFI on x86_64 CPU (includes being able to build
          32-bit .efi app on x86_64)
- Easy to configure
- Easy to maintain
        - Any changes to the bootloader required to get it working in
          pmOS
        - Config for it

---- Evaluated options ----

------ grub ------
   - (PRO) can target all required archs
   - (CON) grub can't be installed in pmb chroot, it calls grub-install and
     that fails due to something missing in /dev. Maybe this could be worked
     around in pmb?
   - (CON) grub-mkimage exe is integrated in grub package, grub-efi depends on
     grub
      - don't want to install all of grub just for 1 exe and/or the EFI modules
      - downsides of installing all of grub is that I think it can mislead
        users into thinking we use grub the "normal way". this might cause them
        to have the wrong expectations and break pmOS boot on their
        system
      - have POC "fixing" this
      - I'm not sure upstream Alpine will like this, it's ugly
   - (CON) grub x86 EFI support for x86_64 is currently in pmaports, that's
     pretty ugly.
      - IMHO forking grub (or grub components) for this purpose signals
        to me that grub is the wrong tool for this job

------- kernel's efistub -------
   - (PRO) already included in the kernel, nothing else required
   - (pro) initrd and dtb can be passed in the kernel cmdline...
     however....
   - (CON) kernel cmdline can only be set at compile time
   - (con) not all kernels may have EFISTUB set?
   - (con) can't do measured/secure boot
   - (con) requires a fairly recent kernel on aarch w/ efi_zboot support
     enabled since we compress the kernel

------- UKI -------
   - (PRO) very simple, 1 file thing
   - (PRO) supports adding dtb, setting kernel cmdline and so on
   - (pro) can do measured/secure boot
   - (CON) requires an EFI stub loader
      - can't find a stub loader that meets all requirements (other than
        the one from systemd-boot...)
   - (con) requires efi-mkuki or dealing with objcopy directly (eww)
   - (con) requires a fairly recent kernel on aarch w/ efi_zboot support

------- limine -------
   - (PRO) easy to install/configure, already have boot-deploy and pmaports
     patches
   - (PRO) can be cross compiled easily
      - evidence is in aports
      - ...but I couldn't reproduce building aarch64 and riscv64 on x86_64
   - (pro) can do measured/secure boot (I think?)
   - (CON) doesn't target all required archs
      - can't do "linux boot" on aarch64, only "chainload"
      - what about using chainload everywhere?
         - requires using efistub in kernel
         - what about dtb= and upstream recommendation to not use it except for
           debug?
         - no kernel compression support on aarch64
         - see efi-stub.txt kernel doc
   - (CON) vendors libgcc to support cross compilation
      - probably not a good idea to trust binaries produced in microsoft
        github's CI for some random project

------- stubbyboot -------
   - (PRO) a straight forward stub loader
   - (pro) can do measured/secure boot
   - (CON) doesn't target all required archs
   - (CON) cross compiling doesn't work.
      - gcc can't do 32-bit on x86_64 Alpine...
      - gnu-efi-dev needs to be fixed to package both 32-bit and 64-bit on x86_64...
         - have patch in ~/src/aports that kinda does it.. but needs to be
           fixed/finished
      - maybe limine-efi works with it?
         - tried, but fails due to missing efilib.h in limine-efi

------- systemd-stub -------
   - (PRO) another straight forward stub loader
   - (PRO) many (many) people using it, as part of systemd-boot
   - (pro) can do measured/secure boot
   - (con) requires a fairly recent kernel on aarch w/ efi_zboot support
     enabled since we compress the kernel
   - (con) doesn't target all required archs
      - but does claim to support most... missing armv7.. maybe it
        works?
   - (con) will end up maintaining some downstream patch to build it
      - hopefully the patch (if I can even make a working one!) is not too
        complex!
   - (CON) can't be built outside of systemd's silly large build system.
      - UPDATE: largely resolved this in pmaports
      - was able to build for native arch!
      - can't build 32-bit on x86_64, no gcc multilib support in Alpine...
        Couldn't get clang to work properly, but maybe it can somehow...
      - https://github.com/mintsuki/libgcc-binaries ? NO! (don't want
        bootloader binaries that depend on code compiled by microsoft /
        github...)

------- DIY stub / bootloader -----
   - (PRO) **might** target all required archs and other meet
     requirements
   - (CON) lots of time required to learn, design, do, debug, test
   - (CON) lots of time required to learn, design, do, debug, test
   - (CON) lots of time required to learn, design, do, debug, test
   - (CON) (get the hint yet???)
   - (CON) written in C, probably (there's a rust EFI lib, lol...)

[ci:skip-build]: Already built successfully in CI
2023-10-16 12:16:41 +02:00
Arnav Singh 160a73321d main/linux-postmarketos-allwinner: switch to working mirror (MR 4478)
Fixes #2303

[ci:skip-vercheck] [ci:skip-build]: changing source location only
2023-10-16 07:48:58 +02:00
Willow Barraco fe066f9731 linux-kobo-clara-mainline: enable PM_WAKELOCKS (MR 4481)
[ci:skip-build]: already built successfully in CI
2023-10-15 18:13:56 +02:00
Willow Barraco 85fca01a25 linux-kobo-clara: enable PM_WAKELOCKS (MR 4481) 2023-10-15 18:13:56 +02:00
Anton Bambura e1dabe77b3 linux-postmarketos-exynos5: upgrade to 6.1.56 (MR 4483)
Backported from our development branch:
- SPI flash for chromebooks;
- support for samsung-manta (see !4406 for status);
- fix performance of video decoder which drastically reduces lag when streaming games.

[ci:skip-build]: already built successfully in CI
2023-10-15 18:11:36 +02:00
Oliver Smith 5cf775dff9 device-pine64-rockpro64: update u-boot image name (MR 4473)
Adjust to change in Alpine that moved rockchip to single image:
https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/51827

Fix for:
  ERROR: The following firmware binary does not exist in the rootfs_pine64-rockpro64 chroot: /usr/share/u-boot/rockpro64-rk3399/idbloader.img
[ci:skip-build]: already built successfully in CI
2023-10-15 18:08:20 +02:00
Emanuele Sorce 40db4c5962 bq-vegetahd: new device (MR 4468)
[ci:skip-build]: already built successfully in CI
2023-10-13 19:14:27 +02:00
Luca Weiss 616b3e14bb device-sony-leo: add firmware for mainline kernel (MR 4452)
As with the firmware commit, no effort is done to keep firmware packages
working with downstream kernel.

[ci:skip-build]: already built successfully in CI
2023-10-13 19:03:49 +02:00
Luca Weiss 8402710815 firmware-sony-leo: update package for mainline kernel (MR 4452)
Package adsp, modem and wifi firmware for mainline. Compatibility with
downstream firmware is not kept on purpose, if somebody wants this,
please make some subpackage for it!
2023-10-13 19:03:49 +02:00
Luca Weiss 805b7fa0ee modem/ta-service: new aport (MR 4452) 2023-10-13 19:03:49 +02:00
Clayton Craft ba934f0325 cross/busybox-static-*: upgrade to 1.36.1-r13 2023-10-12 23:47:20 -07:00