samsung-beyond1lte: new device (MR 2739)

[ci:skip-build]: Already built successfully in CI
This commit is contained in:
Tim Zimmermann 2021-12-10 16:13:18 +01:00 committed by Newbyte
parent f6f97c5469
commit 98ca1e4fde
No known key found for this signature in database
GPG key ID: 5873C171C9429CFA
7 changed files with 6600 additions and 0 deletions

View file

@ -0,0 +1,38 @@
# Reference: <https://postmarketos.org/devicepkg>
pkgname=device-samsung-beyond1lte
pkgdesc="Samsung Galaxy S10"
pkgver=0.1
pkgrel=0
url="https://postmarketos.org"
license="MIT"
arch="aarch64"
options="!check !archcheck"
depends="
linux-samsung-beyond1lte
mesa-dri-gallium
mkbootimg
postmarketos-base
msm-fb-refresher
"
makedepends="devicepkg-dev"
source="deviceinfo initfs-hook.sh"
subpackages="$pkgname-nonfree-firmware:nonfree_firmware"
build() {
devicepkg_build $startdir $pkgname
}
package() {
devicepkg_package $startdir $pkgname
}
nonfree_firmware() {
pkgdesc="Firmware for Galaxy S10"
depends="firmware-samsung-beyond1lte"
mkdir "$subpkgdir"
}
sha512sums="
3d433534beb92a758159864551b2174a32cdaafb58cfbcdac0b3c0de43f207875be4241560070b01037138e93759e87f6b839453e9f41eb0d9ea87a6b0b71009 deviceinfo
03deb65563f4b4421491643854927e88b2d5880b8b19ee6baa4d3fa1ec3f7d7a1c2977fd2c3c41270254efea6fa0c5fdae0a382e7c427d5a3bf6fad34c25375e initfs-hook.sh
"

View file

@ -0,0 +1,34 @@
# Reference: <https://postmarketos.org/deviceinfo>
# Please use double quotes only. You can source this file in shell
# scripts.
deviceinfo_format_version="0"
deviceinfo_name="Samsung Galaxy S10"
deviceinfo_manufacturer="Samsung"
deviceinfo_codename="samsung-beyond1lte"
deviceinfo_year="2019"
deviceinfo_arch="aarch64"
# Device related
deviceinfo_chassis="handset"
deviceinfo_keyboard="false"
deviceinfo_external_storage="true"
deviceinfo_screen_width="1440"
deviceinfo_screen_height="3040"
# Bootloader related
deviceinfo_flash_method="fastboot"
deviceinfo_kernel_cmdline="buildvariant=userdebug"
deviceinfo_generate_bootimg="true"
deviceinfo_bootimg_custom_args="--header_version 1 --os_version 12.0.0 --os_patch_level 2021-12"
deviceinfo_bootimg_qcdt="false"
deviceinfo_bootimg_mtk_mkimage="false"
deviceinfo_bootimg_dtb_second="false"
deviceinfo_flash_offset_base="0x10000000"
deviceinfo_flash_offset_kernel="0x00008000"
deviceinfo_flash_offset_ramdisk="0x01000000"
deviceinfo_flash_offset_second="0xf0000000"
deviceinfo_flash_offset_tags="0x00000100"
deviceinfo_flash_pagesize="2048"
deviceinfo_flash_heimdall_partition_kernel="boot"
deviceinfo_flash_heimdall_partition_system="system"

View file

@ -0,0 +1,3 @@
#!/bin/sh
echo 16 > /sys/devices/platform/19030000.decon_f/graphics/fb0/bits_per_pixel

View file

@ -0,0 +1,45 @@
pkgname=firmware-samsung-beyond1lte
pkgver=1
pkgrel=0
pkgdesc="Firmware for the Samsung Galaxy S10"
url="https://github.com/Linux4/proprietary_vendor_samsung"
arch="noarch"
license="proprietary"
options="!check !archcheck !strip !spdx !tracedeps pmb:cross-native"
# Source
_commit="05c9ef8f16e0ad5ab274e408c120dfd99fd5c628"
_wifi_files_common="bcmdhd_mfg.bin_b1 bcmdhd_mon.bin_b1 bcmdhd_sta.bin_b1 nvram.txt_ES00_semco_b0 nvram.txt_ES01_semco_b0 nvram.txt_ES02_semco_b0"
_wifi_files_device="bcmdhd_clm.blob nvram.txt_1rh_es11_b0 nvram.txt_1rh_es12_b0 nvram.txt_1rh_es13_b0 nvram.txt_1rh_es43_b1 nvram.txt_CS01_semco_b1 nvram.txt_ES03_semco_b0"
for _file in $_wifi_files_common; do
source="$source $pkgname-$_commit-$_file::$url/raw/$_commit/exynos9820-common/proprietary/vendor/firmware/$_file"
done
for _file in $_wifi_files_device; do
source="$source $pkgname-$_commit-$_file::$url/raw/$_commit/beyond1lte/proprietary/vendor/firmware/$_file"
done
package() {
# Wifi
local file
for file in $_wifi_files_common $_wifi_files_device; do
install -Dm644 "$srcdir/$pkgname-$_commit-$file" \
"$pkgdir/lib/firmware/postmarketos/$file"
done
}
sha512sums="
ff316607a30a93790bcddf267713419599f717e561ee61869eaa2ea0d4783702c7132a9534461a791d07ef6cfc86ca58e484dc4ab0a84ff4c2409b85e499139e firmware-samsung-beyond1lte-05c9ef8f16e0ad5ab274e408c120dfd99fd5c628-bcmdhd_mfg.bin_b1
6016bb808d4467ee7f49dc8ce7449518cf02c282bfe7da6081db481c57ed504f82a3833434966a18d95acbd74c94ffcf6e74b69a13be85e15514f21efd2acbdd firmware-samsung-beyond1lte-05c9ef8f16e0ad5ab274e408c120dfd99fd5c628-bcmdhd_mon.bin_b1
3e8042abba00394269a8ae30f4017ff3717753204d18b4051ea0b3adb94837bd2aed8417d7ff39daf2732750b5e927eb66a15554a82d8818c52301c17b459b26 firmware-samsung-beyond1lte-05c9ef8f16e0ad5ab274e408c120dfd99fd5c628-bcmdhd_sta.bin_b1
a18ceea8b753102bfacdcc713eb6d22e942adc7ded2232fcf3d2e02b4ba780b588d40f91f3994d3e87fe04ab318f561171adcd80ab1a1730fcf33e70f87402f2 firmware-samsung-beyond1lte-05c9ef8f16e0ad5ab274e408c120dfd99fd5c628-nvram.txt_ES00_semco_b0
aa3a52150f87c60b77e2b9df8e3e19d60cdedfe9137be67c25466e068b33ff53d587b96e0657721d37002e44af9b8b86a0c92948da7927900ea3a783afd41d73 firmware-samsung-beyond1lte-05c9ef8f16e0ad5ab274e408c120dfd99fd5c628-nvram.txt_ES01_semco_b0
6887150124ea7227833104e8eacdaf305fcb4c57755fd44a2ae3d8b2c2565a6c282875923967a889c672f5992485849174d981eba2f9fd95e90f15cf03ebbe47 firmware-samsung-beyond1lte-05c9ef8f16e0ad5ab274e408c120dfd99fd5c628-nvram.txt_ES02_semco_b0
4ba014ae0c96bb3e96afc95d7a293200043cc625044c4b7f9b7967a36a0c7272e99279d1bf9776cc36a05c119a6fdd1cce8a8955eb5d7a3fa85caacd59024b77 firmware-samsung-beyond1lte-05c9ef8f16e0ad5ab274e408c120dfd99fd5c628-bcmdhd_clm.blob
e8263dc21849228b88a61ab9ab1c5bf3f9e6742e0d6125f28c65ee1bf54bdd473e72e608fb6eede5727aa8ea881e215326289a601274e34757f9665e4214f2e4 firmware-samsung-beyond1lte-05c9ef8f16e0ad5ab274e408c120dfd99fd5c628-nvram.txt_1rh_es11_b0
f95cb09859718fde6df2c9e2f855c0280ff97d94d57e40aeaa7639d6b7200cd0a5ced7d9afc0b69504c981a85f969d9d58c3be16585ab98c7212be70bde1bca6 firmware-samsung-beyond1lte-05c9ef8f16e0ad5ab274e408c120dfd99fd5c628-nvram.txt_1rh_es12_b0
2448da911a6007352cfa5c693f450f12e55d9b9758e86dcf4b0bbdf418fa3424d5f495d8a198f172d99a6aed217915a7ab7aa531780fedf8efe5a1846b82b328 firmware-samsung-beyond1lte-05c9ef8f16e0ad5ab274e408c120dfd99fd5c628-nvram.txt_1rh_es13_b0
453e4f7f5bfde52db2600c8ccca25e4a318b21f990a66cf41e3baa5c2e378fd621e75642ce6293a19060ab659c2a5e6c70f74d9e3afbe0399c601f4e6001beb4 firmware-samsung-beyond1lte-05c9ef8f16e0ad5ab274e408c120dfd99fd5c628-nvram.txt_1rh_es43_b1
963e342d7294a54adb180a340cad90a5caf337dda32b836d1914d0cd9900d5763c25fb55f6140f6fabc630e870b701946f331474e057b0a53d848b6d56e38734 firmware-samsung-beyond1lte-05c9ef8f16e0ad5ab274e408c120dfd99fd5c628-nvram.txt_CS01_semco_b1
f41f40c9f41776809c643f6f7c3c2d49aef9b9377b603e5d36f7f1328226251d21733dd08022f2628d625caf099f2a225470a8d2b1a077889b016e0d721dd9e6 firmware-samsung-beyond1lte-05c9ef8f16e0ad5ab274e408c120dfd99fd5c628-nvram.txt_ES03_semco_b0
"

View file

@ -0,0 +1,55 @@
# Reference: <https://postmarketos.org/vendorkernel>
# Kernel config based on: arch/arm64/configs/exynos9820-beyond1lte_defconfig
pkgname=linux-samsung-beyond1lte
pkgver=4.14.253
pkgrel=0
pkgdesc="Samsung Galaxy S10 kernel fork"
arch="aarch64"
_carch="arm64"
_flavor="samsung-beyond1lte"
url="https://kernel.org"
license="GPL-2.0-only"
options="!strip !check !tracedeps pmb:cross-native"
makedepends="
bash
bc
bison
devicepkg-dev
flex
openssl-dev
perl
"
# Source
_repository="android_kernel_samsung_exynos9820"
_commit="f7194c1d15eded1c2a1a4dc63825b26103435cc0"
_config="config-$_flavor.$arch"
source="
$pkgname-$_commit.tar.gz::https://github.com/Linux4/$_repository/archive/$_commit.tar.gz
$_config
selinux_include_generated_headers.patch
"
builddir="$srcdir/$_repository-$_commit"
_outdir="out"
prepare() {
default_prepare
REPLACE_GCCH=0 . downstreamkernel_prepare
}
build() {
unset LDFLAGS
make O="$_outdir" ARCH="$_carch" CC="${CC:-gcc}" \
KBUILD_BUILD_VERSION="$((pkgrel + 1 ))-postmarketOS"
}
package() {
downstreamkernel_package "$builddir" "$pkgdir" "$_carch" "$_flavor" "$_outdir"
}
sha512sums="
8255fe212429de8cc8c99421ed2b8b369e849885cc8758eae1d280fdb8dbb00a7c99027015b7be37691a045a1b9a0ae787ed2f5a9c0d534af8d09189f555ab5c linux-samsung-beyond1lte-f7194c1d15eded1c2a1a4dc63825b26103435cc0.tar.gz
828cb867d05d8d5dcf092a359a30d65c2cce05ce1c651e0fef4f4cf35e15cc56694196fc09fd813c4ba869b3067190459af2635d95edf8accd1ffdfb619eaa41 config-samsung-beyond1lte.aarch64
6ab9db01d35f7f5cc2c19ebe5f65a7dc479a1c68de587300cdde9a6c759d34610666c72f0f321cd450cf56c13df3b54a774e0f7ebdbf0f8608fbfd66b49d04e7 selinux_include_generated_headers.patch
"

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,33 @@
Arm64 has generated headers that other arches don't, didn't investigate why this
is able to compile in downstream (our upstream). Possibly due to out-of-tree build.
Note the hacky relative include. May not work in more complicated setups.
diff --git a/scripts/selinux/genheaders/Makefile b/scripts/selinux/genheaders/Makefile
index e8c533140..62475f060 100644
--- a/scripts/selinux/genheaders/Makefile
+++ b/scripts/selinux/genheaders/Makefile
@@ -2,6 +2,8 @@
hostprogs-y := genheaders
HOST_EXTRACFLAGS += \
-I$(srctree)/include/uapi -I$(srctree)/include \
- -I$(srctree)/security/selinux/include
+ -I$(srctree)/security/selinux/include \
+ -I./arch/$(ARCH)/include/generated/uapi \
+ -I$(srctree)/arch/$(ARCH)/include/uapi
always := $(hostprogs-y)
diff --git a/scripts/selinux/mdp/Makefile b/scripts/selinux/mdp/Makefile
index e9c92db7e..09e626fa4 100644
--- a/scripts/selinux/mdp/Makefile
+++ b/scripts/selinux/mdp/Makefile
@@ -2,7 +2,9 @@
hostprogs-y := mdp
HOST_EXTRACFLAGS += \
-I$(srctree)/include/uapi -I$(srctree)/include \
- -I$(srctree)/security/selinux/include
+ -I$(srctree)/security/selinux/include \
+ -I./arch/$(ARCH)/include/generated/uapi \
+ -I$(srctree)/arch/$(ARCH)/include/uapi
always := $(hostprogs-y)
clean-files := policy.* file_contexts