lafrite has u-boot in SPI already
it also prevents lafrite from booting because pmbootstrap uses GPT partitioning now.
Signed-off-by: Ferass El Hafidi <funderscore@postmarketos.org>
Fixes the problem that BOOT partition is only 10 MB big while boot.img is 13 MB now.
Also heimdall was stuck at 7% with the sparse flag this gets fixed.
[ci:skip-build]: already built successfully in CI
As @grimler stated in MR !5887 (comment) [1], samsung-jackpotlte,
samsung-xcover4lte, and samsung-a30 share the same name for Wi-Fi
proprietary blobs, and packaged in their own specific firmware package.
The problem is these firmware packages put files in the same directory
as `firmware-samsung-a51`: /lib/firmware/postmarketos/mx140/. This opens
up the probability of conflicting blobs when multiple firmware packages
are installed on the system, resulting in wrong blobs used.
To ensure that this firmware is located in its own directory, move
`samsung-a51` blobs into its own subdirectory. This way, `a51` blobs
will stay intact whether multiple firmware packages are installed.
[1] https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/5887#note_459185
Successfully built and booted postmarketOS on Samsung Galaxy A51. It's based on Exynos 9611 SoC.
Currently, these are tested working:
- Boots from internal storage
- Display (DECON driver needs to be patched. Included in the kernel package)
- Framebuffer (additionally with msm-fb-refresher to refresh the screen)
- Touchscreen
- USB Networking (RNDIS)
- Wi-Fi
Tested UI environments: XFCE 4 & Console.
Wiki: https://wiki.postmarketos.org/wiki/Samsung_Galaxy_A51_(samsung-a51)
After commit 8335d050bf24977afefee6612dd347abd555bc53 in pmbootstrap the
partition table now defaults to GPT instead of MBR. This breaks booting
on Amlogic devices for the following reasons:
* On set-top boxes: downstream U-Boot most likely does not have GPT
support
* On boards where we install mainline U-Boot as BL33 on eMMC/SD: the
bootROM checks for an `@AML` image header at offset 512 (second LBA),
which means we are basically stuck on MBR
Some Amlogic boards have U-Boot + the proprietary Amlogic firmware
stages in SPI flash (mainly the Libre Computer boards do), which means
they can use GPT, because the firmware is simply not stored on eMMC/SD.
For that reason I chose not to change the partition table on those.
Signed-off-by: Ferass El Hafidi <funderscore@postmarketos.org>
Merge the following Samsung Galaxy Grand Prime devices into
samsung-fortuna:
- samsung-fortuna3g
- samsung-fortunaltezt (firmware only due to armv7 architecture)
- samsung-gprimeltecan
- samsung-grandprimelte (was samsung-gprimeltexx)
Add a workaround so the kernel compile output is not silent (which leads
to pmbootstrap aborting the build). This will be fixed once upgrading to
linux >= 6.2.
Related: pmaports issue 1990
[ci:skip-build]: already built successfully in CI
Linux 4.14.186 has no ZSTD support and is therefore too old to have full
support for our default ZRAM configuration. ZRAM will likely still work,
but fall back to the default compression method. This is not something we
can actively test or support, so drop the pmb:kconfigcheck-zram.
[ci:skip-vercheck]: no rebuild needed
Linux 3.18.14 has no ZSTD support and is therefore too old to have full
support for our default ZRAM configuration. ZRAM will likely still work,
but fall back to default compression method. This is not something we
can actively test or support, so drop the pmb:kconfigcheck-zram.
[ci:skip-vercheck]: no rebuild needed
Add qbootctl as dependency msm-firmware-loader needs it
for A/B devices like xiaomi-daisy and xiaomi-tissot.
[ci:skip-build]: already built successfully in CI
Patch adding LG G4 (H815) support got upstreamed in v6.12-rc1 mainline
kernel (it's slightly different than the patch used here).
Add python3 to makedepends (required from v6.10-rc1
0fddd045f88e ("drm/msm: generate headers on the fly")).
Signed-off-by: Petr Vorel <pvorel@suse.cz>
pmbootstrap 3.0.0 uses GPT partition table by default, which breaks booting
on all the devices using the lk2nd bootloader. The current version of lk2nd
supports GPT only for the eMMC, while subpartitions and SD cards must be
partitioned with MBR. GPT support was present in the legacy branch of
lk2nd, but was dropped at some point because of poor code quality.
Fix the regression for now by reverting back to the old msdos (MBR)
partition table. We can revert this again later when lk2nd restores support
for GPT.
Generated with
$ for d in $(grep -R linux-postmarketos-qcom-msm8916 | grep -Eo 'device-[^/]+' | sort -u); do \
echo -e '\n# lk2nd does not support GPT for subpartitions/SD cards yet\ndeviceinfo_partition_type="msdos"' \
>> device/*/$d/deviceinfo && pmbootstrap checksum $d && pmbootstrap pkgver_bump $d; done
[ci:ignore-count]
[ci:skip-build]: bug in CI prevents build testing armv7 and aarch64, so
Clayton did the test locally for those archs
Tested on google-hayato. I also cleaned up the config a bit since the
collabora defconfig had a few weird things set. Zram now works as
expected because of this.
The gpi module is needed to initialize the dma controller
necessary for the touchscreen to get initialized, so that
we have working on-screen keyboard input in early environment
of the initramfs. This mainly useful for unl0kr, but also
the initramfs-debug hook.