Compare commits
5 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 181561ebce | |||
| 1a2ef4377d | |||
| 2f45c95023 | |||
| 8c43b279a7 | |||
| 3327caa5e2 |
3
.gitignore
vendored
3
.gitignore
vendored
@@ -1 +1,4 @@
|
||||
out/
|
||||
build/
|
||||
ota/
|
||||
workdir/
|
||||
|
||||
@@ -1,41 +1,5 @@
|
||||
image: ubuntu:20.04
|
||||
include:
|
||||
- https://gitlab.com/ubports/porting/community-ports/halium-generic-adaptation-build-tools/-/raw/main/gsi-port-ci.yml
|
||||
|
||||
build:
|
||||
stage: build
|
||||
script:
|
||||
- apt update
|
||||
- apt install android-tools-mkbootimg bc build-essential ca-certificates cpio curl git kmod libssl-dev libtinfo5 python2 sudo unzip wget xz-utils -y --no-install-recommends
|
||||
- ln -sf python2.7 /usr/bin/python
|
||||
- ./build.sh
|
||||
artifacts:
|
||||
paths:
|
||||
- out/*
|
||||
|
||||
flashable:
|
||||
stage: deploy
|
||||
script:
|
||||
- apt update
|
||||
- apt install -y img2simg jq sudo wget xz-utils
|
||||
- DEVICE="$(source deviceinfo && echo $deviceinfo_codename)"
|
||||
- ./build/fetch-and-prepare-latest-ota.sh "16.04/arm64/android9/devel" "$DEVICE" ota
|
||||
- mkdir -p out
|
||||
- ./build/system-image-from-ota.sh ota/ubuntu_command out
|
||||
artifacts:
|
||||
paths:
|
||||
- out/boot.img
|
||||
- out/system.img
|
||||
when: manual
|
||||
|
||||
devel-flashable:
|
||||
stage: deploy
|
||||
script:
|
||||
- apt update
|
||||
- apt install -y img2simg jq sudo wget xz-utils
|
||||
- DEVICE="$(source deviceinfo && echo $deviceinfo_codename)"
|
||||
- ./build/prepare-fake-ota.sh out/device_$DEVICE.tar.xz ota
|
||||
- mkdir -p out
|
||||
- ./build/system-image-from-ota.sh ota/ubuntu_command out
|
||||
artifacts:
|
||||
paths:
|
||||
- out/boot.img
|
||||
- out/system.img
|
||||
variables:
|
||||
BUILD_DEVEL_FLASHABLE_FOCAL: "1"
|
||||
|
||||
92
build.sh
92
build.sh
@@ -1,93 +1,5 @@
|
||||
#!/bin/bash
|
||||
set -xe
|
||||
|
||||
BUILD_DIR=
|
||||
OUT=
|
||||
|
||||
while [ $# -gt 0 ]
|
||||
do
|
||||
case "$1" in
|
||||
(-b) BUILD_DIR="$(realpath "$2")"; shift;;
|
||||
(-o) OUT="$2"; shift;;
|
||||
(-*) echo "$0: Error: unknown option $1" 1>&2; exit 1;;
|
||||
(*) OUT="$2"; break;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
OUT="$(realpath "$OUT" 2>/dev/null || echo 'out')"
|
||||
mkdir -p "$OUT"
|
||||
|
||||
if [ -z "$BUILD_DIR" ]; then
|
||||
TMP=$(mktemp -d)
|
||||
TMPDOWN=$(mktemp -d)
|
||||
else
|
||||
TMP="$BUILD_DIR/tmp"
|
||||
mkdir -p "$TMP"
|
||||
TMPDOWN="$BUILD_DIR/downloads"
|
||||
mkdir -p "$TMPDOWN"
|
||||
fi
|
||||
|
||||
HERE=$(pwd)
|
||||
SCRIPT="$(dirname "$(realpath "$0")")"/build
|
||||
|
||||
mkdir -p "${TMP}/system"
|
||||
mkdir -p "${TMP}/partitions"
|
||||
|
||||
source "${HERE}/deviceinfo"
|
||||
|
||||
case $deviceinfo_arch in
|
||||
"armhf") RAMDISK_ARCH="armhf";;
|
||||
"aarch64") RAMDISK_ARCH="arm64";;
|
||||
"x86") RAMDISK_ARCH="i386";;
|
||||
esac
|
||||
|
||||
cd "$TMPDOWN"
|
||||
[ -d aarch64-linux-android-4.9 ] || git clone https://android.googlesource.com/platform/prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9 -b pie-gsi --depth 1
|
||||
GCC_PATH="$TMPDOWN/aarch64-linux-android-4.9"
|
||||
if [ -n "$deviceinfo_kernel_clang_compile" ] && $deviceinfo_kernel_clang_compile; then
|
||||
[ -d linux-x86 ] || git clone https://github.com/UbuntuTouch-sagit/prebuilts_clang_host_linux-x86_clang-r428724 -b 11 --depth 1 linux-x86
|
||||
CLANG_PATH="$TMPDOWN/linux-x86"
|
||||
fi
|
||||
[ -d arm-linux-androideabi-4.9 ] || git clone https://android.googlesource.com/platform/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.9 -b pie-gsi --depth 1
|
||||
GCC_ARM32_PATH="$TMPDOWN/arm-linux-androideabi-4.9"
|
||||
|
||||
KERNEL_DIR="$(basename "${deviceinfo_kernel_source}")"
|
||||
KERNEL_DIR="${KERNEL_DIR%.*}"
|
||||
[ -d "$KERNEL_DIR" ] || git clone "$deviceinfo_kernel_source" -b $deviceinfo_kernel_source_branch --depth 1
|
||||
|
||||
[ -f halium-boot-ramdisk.img ] || curl --location --output halium-boot-ramdisk.img \
|
||||
"https://github.com/halium/initramfs-tools-halium/releases/download/continuous/initrd.img-touch-${RAMDISK_ARCH}"
|
||||
|
||||
if [ -n "$deviceinfo_kernel_apply_overlay" ] && $deviceinfo_kernel_apply_overlay; then
|
||||
[ -d libufdt ] || git clone https://android.googlesource.com/platform/system/libufdt -b pie-gsi --depth 1
|
||||
[ -d dtc ] || git clone https://android.googlesource.com/platform/external/dtc -b pie-gsi --depth 1
|
||||
fi
|
||||
ls .
|
||||
cd "$HERE"
|
||||
|
||||
if [ -n "$deviceinfo_kernel_apply_overlay" ] && $deviceinfo_kernel_apply_overlay; then
|
||||
"$SCRIPT/build-ufdt-apply-overlay.sh" "${TMPDOWN}"
|
||||
fi
|
||||
|
||||
if [ -n "$deviceinfo_kernel_clang_compile" ] && $deviceinfo_kernel_clang_compile; then
|
||||
CC=clang \
|
||||
CLANG_TRIPLE=${deviceinfo_arch}-linux-gnu- \
|
||||
PATH="$CLANG_PATH/bin:$GCC_PATH/bin:$GCC_ARM32_PATH/bin:${PATH}" \
|
||||
"$SCRIPT/build-kernel.sh" "${TMPDOWN}" "${TMP}/system"
|
||||
else
|
||||
PATH="$GCC_PATH/bin:$GCC_ARM32_PATH/bin:${PATH}" \
|
||||
"$SCRIPT/build-kernel.sh" "${TMPDOWN}" "${TMP}/system"
|
||||
fi
|
||||
|
||||
"$SCRIPT/make-bootimage.sh" "${TMPDOWN}/KERNEL_OBJ" "${TMPDOWN}/halium-boot-ramdisk.img" "${TMP}/partitions/boot.img"
|
||||
|
||||
cp -av overlay/* "${TMP}/"
|
||||
"$SCRIPT/build-tarball-mainline.sh" "${deviceinfo_codename}" "${OUT}" "${TMP}"
|
||||
|
||||
if [ -z "$BUILD_DIR" ]; then
|
||||
rm -r "${TMP}"
|
||||
rm -r "${TMPDOWN}"
|
||||
fi
|
||||
|
||||
echo "done"
|
||||
[ -d build ] || git clone https://gitlab.com/ubports/community-ports/halium-generic-adaptation-build-tools build
|
||||
./build/build.sh "$@"
|
||||
|
||||
@@ -1,42 +0,0 @@
|
||||
#!/bin/bash
|
||||
set -ex
|
||||
|
||||
TMPDOWN=$1
|
||||
INSTALL_MOD_PATH=$2
|
||||
HERE=$(pwd)
|
||||
source "${HERE}/deviceinfo"
|
||||
|
||||
KERNEL_DIR="${TMPDOWN}/$(basename "${deviceinfo_kernel_source}")"
|
||||
KERNEL_DIR="${KERNEL_DIR%.*}"
|
||||
OUT="${TMPDOWN}/KERNEL_OBJ"
|
||||
|
||||
mkdir -p "$OUT"
|
||||
|
||||
case "$deviceinfo_arch" in
|
||||
aarch64*) ARCH="arm64" ;;
|
||||
arm*) ARCH="arm" ;;
|
||||
x86_64) ARCH="x86_64" ;;
|
||||
x86) ARCH="x86" ;;
|
||||
esac
|
||||
|
||||
export ARCH
|
||||
export CROSS_COMPILE=$TMPDOWN/aarch64-linux-android-4.9/bin/aarch64-linux-android-
|
||||
export CROSS_COMPILE_ARM32=$TMPDOWN/arm-linux-androideabi-4.9/bin/arm-linux-androideabi-
|
||||
MAKEOPTS=""
|
||||
if [ -n "$CC" ]; then
|
||||
MAKEOPTS="CC=$CC"
|
||||
fi
|
||||
|
||||
cd "$KERNEL_DIR"
|
||||
make O="$OUT" $deviceinfo_kernel_defconfig
|
||||
make O="$OUT" $MAKEOPTS -j$(nproc --all)
|
||||
make O="$OUT" $MAKEOPTS INSTALL_MOD_STRIP=1 INSTALL_MOD_PATH="$INSTALL_MOD_PATH" modules_install
|
||||
ls "$OUT/arch/$ARCH/boot/"*Image*
|
||||
|
||||
if [ -n "$deviceinfo_kernel_apply_overlay" ] && $deviceinfo_kernel_apply_overlay; then
|
||||
${TMPDOWN}/ufdt_apply_overlay "$OUT/arch/arm64/boot/dts/qcom/${deviceinfo_kernel_appended_dtb}.dtb" \
|
||||
"$OUT/arch/arm64/boot/dts/qcom/${deviceinfo_kernel_dtb_overlay}.dtbo" \
|
||||
"$OUT/arch/arm64/boot/dts/qcom/${deviceinfo_kernel_dtb_overlay}-merged.dtb"
|
||||
cat "$OUT/arch/$ARCH/boot/Image.gz" \
|
||||
"$OUT/arch/arm64/boot/dts/qcom/${deviceinfo_kernel_dtb_overlay}-merged.dtb" > "$OUT/arch/$ARCH/boot/Image.gz-dtb"
|
||||
fi
|
||||
@@ -1,18 +0,0 @@
|
||||
set -ex
|
||||
|
||||
device=$1
|
||||
output=$(realpath $2)
|
||||
dir=$(realpath $3)
|
||||
|
||||
echo "Working on device: $device"
|
||||
if [ ! -f "$dir/partitions/boot.img" ]; then
|
||||
echo "boot.img does not exist!"
|
||||
exit 1; fi
|
||||
|
||||
if [ ! -f "$dir/partitions/recovery.img" ]; then
|
||||
echo "recovery.img does not exist!"
|
||||
#exit 1
|
||||
fi
|
||||
|
||||
tar -cJf "$output/device_"$device".tar.xz" -C $dir partitions/ system/
|
||||
echo "$(date +%Y%m%d)-$RANDOM" > "$output/device_"$device".tar.build"
|
||||
@@ -1,22 +0,0 @@
|
||||
#!/bin/bash
|
||||
set -ex
|
||||
|
||||
SOURCES=$1
|
||||
|
||||
cd "$SOURCES"
|
||||
cat > Makefile <<'EOF'
|
||||
CFLAGS = -Ilibufdt/include -Ilibufdt/sysdeps/include -Idtc/libfdt
|
||||
OBJS_APPLY = libufdt/tests/src/util.o libufdt/tests/src/ufdt_overlay_test_app.o
|
||||
OBJS_UFDT = libufdt/ufdt_convert.o libufdt/ufdt_node_pool.o libufdt/ufdt_prop_dict.o libufdt/ufdt_node.o libufdt/ufdt_overlay.o libufdt/sysdeps/libufdt_sysdeps_posix.o
|
||||
OBJS_FDT = dtc/libfdt/fdt_addresses.o dtc/libfdt/fdt_overlay.o dtc/libfdt/fdt_strerror.o dtc/libfdt/fdt.o dtc/libfdt/fdt_ro.o dtc/libfdt/fdt_sw.o dtc/libfdt/fdt_empty_tree.o dtc/libfdt/fdt_rw.o dtc/libfdt/fdt_wip.o
|
||||
|
||||
all: ufdt_apply_overlay
|
||||
|
||||
ufdt_apply_overlay: $(OBJS_APPLY) $(OBJS_UFDT) $(OBJS_FDT)
|
||||
$(CC) -o $@ $(LDFLAGS) $(OBJS_APPLY) $(OBJS_UFDT) $(OBJS_FDT)
|
||||
|
||||
clean:
|
||||
$(RM) ufdt_apply_overlay $(OBJS_APPLY) $(LDFLAGS) $(OBJS_UFDT) $(OBJS_FDT)
|
||||
EOF
|
||||
|
||||
make ufdt_apply_overlay
|
||||
@@ -1,46 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Fetches and prepares latest ota update from system server
|
||||
|
||||
URL='https://system-image.ubports.com'
|
||||
|
||||
CHANNEL="$1"
|
||||
DEVICE="$2"
|
||||
OUTPUT="$3"
|
||||
|
||||
mkdir -p "$OUTPUT" || true
|
||||
|
||||
download_file_and_asc() {
|
||||
wget "$1" -P "$2"
|
||||
wget "$1.asc" -P "$2"
|
||||
}
|
||||
|
||||
# Gets the latest image from the system-image server
|
||||
latest_image=$(wget -qO- "${URL}/${CHANNEL}/${DEVICE}/index.json" | jq '.images | map(select(.type == "full")) | sort_by(.version) | .[-1]')
|
||||
|
||||
# Gets a list of files to download
|
||||
files=$(echo "${latest_image}" | jq --raw-output '.files[].path')
|
||||
|
||||
# Downloads master and signing keyrings
|
||||
download_file_and_asc "${URL}/gpg/image-signing.tar.xz" "$OUTPUT"
|
||||
download_file_and_asc "${URL}/gpg/image-master.tar.xz" "$OUTPUT"
|
||||
|
||||
# Start to generate ubuntu_command file
|
||||
echo '# Generated by ubports rootfs-builder-debos' > "$OUTPUT/ubuntu_command"
|
||||
|
||||
cat << EOF >> "$OUTPUT/ubuntu_command"
|
||||
format system
|
||||
load_keyring image-master.tar.xz image-master.tar.xz.asc
|
||||
load_keyring image-signing.tar.xz image-signing.tar.xz.asc
|
||||
mount system
|
||||
EOF
|
||||
|
||||
# Download and fill ubuntu_command
|
||||
for file_path in ${files}; do
|
||||
file=$(basename ${file_path})
|
||||
download_file_and_asc "${URL}/${file_path}" "$OUTPUT"
|
||||
echo "update $file $file.asc" >> "$OUTPUT/ubuntu_command"
|
||||
done
|
||||
|
||||
# End ubuntu_command
|
||||
echo 'unmount system' >> "$OUTPUT/ubuntu_command"
|
||||
@@ -1,48 +0,0 @@
|
||||
#!/bin/bash
|
||||
set -ex
|
||||
|
||||
KERNEL_OBJ=$(realpath $1)
|
||||
RAMDISK=$(realpath $2)
|
||||
OUT=$(realpath $3)
|
||||
|
||||
HERE=$(pwd)
|
||||
source "${HERE}/deviceinfo"
|
||||
|
||||
case "$deviceinfo_arch" in
|
||||
aarch64*) ARCH="arm64" ;;
|
||||
arm*) ARCH="arm" ;;
|
||||
x86_64) ARCH="x86_64" ;;
|
||||
x86) ARCH="x86" ;;
|
||||
esac
|
||||
|
||||
if [ -d "$HERE/ramdisk-overlay" ]; then
|
||||
cp "$RAMDISK" "${RAMDISK}-merged"
|
||||
RAMDISK="${RAMDISK}-merged"
|
||||
cd "$HERE/ramdisk-overlay"
|
||||
find . | cpio -o -H newc | gzip >> "$RAMDISK"
|
||||
fi
|
||||
|
||||
if [ -d "$HERE/recovery/overlay" ] && [ -e "$HERE/recovery/ramdisk-recovery.img" ]; then
|
||||
mkdir -p "$HERE/ramdisk-recovery"
|
||||
cd "$HERE/ramdisk-recovery"
|
||||
|
||||
gzip -dc "$HERE/recovery/ramdisk-recovery.img" | cpio -i
|
||||
cp -r "$HERE/recovery/overlay"/* "$HERE/ramdisk-recovery"
|
||||
|
||||
# Set values in prop.default based on deviceinfo
|
||||
sed -i 's/^\(ro\.product\.\(vendor\.\)\?brand=\).*$/\1'"$deviceinfo_manufacturer"'/' prop.default
|
||||
sed -i 's/^\(ro\.product\.\(vendor\.\)\?manufacturer=\).*$/\1'"$deviceinfo_manufacturer"'/' prop.default
|
||||
sed -i 's/^\(ro\.product\.vendor\.name=\).*$/\1'"$deviceinfo_manufacturer"'/' prop.default
|
||||
|
||||
sed -i 's/^\(ro\.product\.\(vendor\.\)\?device=\).*$/\1'"$deviceinfo_codename"'/' prop.default
|
||||
sed -i 's/^\(ro\.product\.name=\).*$/\1'"$deviceinfo_codename"'/' prop.default
|
||||
sed -i 's/^\(ro\.build\.product=\).*$/\1'"$deviceinfo_codename"'/' prop.default
|
||||
|
||||
sed -i 's/^\(ro\.product\.\(vendor\.\)\?model=\).*$/\1'"$deviceinfo_name"'/' prop.default
|
||||
|
||||
find . | cpio -o -H newc | gzip > "$HERE/recovery/ramdisk-recovery-overlayed.img"
|
||||
fi
|
||||
|
||||
mkbootimg --kernel "$KERNEL_OBJ/arch/$ARCH/boot/Image.gz-dtb" --ramdisk "$RAMDISK" --base $deviceinfo_flash_offset_base --kernel_offset $deviceinfo_flash_offset_kernel --ramdisk_offset $deviceinfo_flash_offset_ramdisk --second_offset $deviceinfo_flash_offset_second --tags_offset $deviceinfo_flash_offset_tags --pagesize $deviceinfo_flash_pagesize --os_version $deviceinfo_os_version --os_patch_level $deviceinfo_os_patch_level --cmdline "$deviceinfo_kernel_cmdline" -o "$OUT"
|
||||
|
||||
mkbootimg --kernel "$KERNEL_OBJ/arch/$ARCH/boot/Image.gz-dtb" --ramdisk "$HERE/recovery/ramdisk-recovery-overlayed.img" --base $deviceinfo_flash_offset_base --kernel_offset $deviceinfo_flash_offset_kernel --ramdisk_offset $deviceinfo_flash_offset_ramdisk --second_offset $deviceinfo_flash_offset_second --tags_offset $deviceinfo_flash_offset_tags --pagesize $deviceinfo_flash_pagesize --os_version $deviceinfo_os_version --os_patch_level $deviceinfo_os_patch_level --cmdline "$deviceinfo_kernel_cmdline" -o "$(dirname $OUT)/recovery.img"
|
||||
@@ -1,87 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Fetches android9 rootfs and generic system image to prepare flashable image from CI-built device tarball
|
||||
URL='https://system-image.ubports.com'
|
||||
ROOTFS_URL='https://ci.ubports.com/job/xenial-hybris-android9-rootfs-arm64/lastSuccessfulBuild/artifact/ubuntu-touch-android9-arm64.tar.gz'
|
||||
DEVICE_GENERIC_URL='https://ci.ubports.com/job/UBportsCommunityPortsJenkinsCI/job/ubports%252Fcommunity-ports%252Fjenkins-ci%252Fgeneric_arm64/job/main/lastSuccessfulBuild/artifact/halium_halium_arm64.tar.xz'
|
||||
OTA_CHANNEL='16.04/arm64/android9/devel'
|
||||
|
||||
DEVICE_TARBALL="$1"
|
||||
OUTPUT="$2"
|
||||
|
||||
mkdir -p "$OUTPUT" || true
|
||||
|
||||
download_file_and_asc() {
|
||||
wget "$1" -P "$2"
|
||||
wget "$1.asc" -P "$2"
|
||||
}
|
||||
|
||||
# Downloads master and signing keyrings
|
||||
download_file_and_asc "${URL}/gpg/image-signing.tar.xz" "$OUTPUT"
|
||||
download_file_and_asc "${URL}/gpg/image-master.tar.xz" "$OUTPUT"
|
||||
|
||||
# Start to generate ubuntu_command file
|
||||
echo '# Generated by ubports rootfs-builder-debos' > "$OUTPUT/ubuntu_command"
|
||||
|
||||
cat << EOF >> "$OUTPUT/ubuntu_command"
|
||||
format system
|
||||
load_keyring image-master.tar.xz image-master.tar.xz.asc
|
||||
load_keyring image-signing.tar.xz image-signing.tar.xz.asc
|
||||
mount system
|
||||
EOF
|
||||
|
||||
# Download and prepare rootfs
|
||||
file=$(basename "$ROOTFS_URL")
|
||||
wget "$ROOTFS_URL" -P "$OUTPUT"
|
||||
mkdir -p "$OUTPUT/rootfs/system"
|
||||
cd "$OUTPUT/rootfs"
|
||||
sudo tar xpzf "../$file" --numeric-owner -C system
|
||||
sudo XZ_OPT=-1 tar cJf "../rootfs.tar.xz" system
|
||||
cd -
|
||||
sudo rm -rf "./$OUTPUT/rootfs"
|
||||
|
||||
file="rootfs.tar.xz"
|
||||
touch "$OUTPUT/$file.asc"
|
||||
echo "update $file $file.asc" >> "$OUTPUT/ubuntu_command"
|
||||
|
||||
# Device-generic tarball (Halium GSI)
|
||||
file=$(basename "$DEVICE_GENERIC_URL")
|
||||
wget "$DEVICE_GENERIC_URL" -P "$OUTPUT"
|
||||
touch "$OUTPUT/$file.asc"
|
||||
echo "update $file $file.asc" >> "$OUTPUT/ubuntu_command"
|
||||
|
||||
# Device tarball
|
||||
file=$(basename "$DEVICE_TARBALL")
|
||||
cp "$DEVICE_TARBALL" "$OUTPUT"
|
||||
touch "$OUTPUT/$file.asc"
|
||||
echo "update $file $file.asc" >> "$OUTPUT/ubuntu_command"
|
||||
|
||||
device=${file%%.*} # remove extension from device tarball
|
||||
device=${device##*_} # remove part before _
|
||||
|
||||
# Version tarball
|
||||
mkdir "$OUTPUT/version"
|
||||
cd "$OUTPUT/version"
|
||||
mkdir -p system/etc/system-image
|
||||
cat << EOF >> system/etc/system-image/channel.ini
|
||||
[service]
|
||||
base: system-image.ubports.com
|
||||
http_port: 80
|
||||
https_port: 443
|
||||
channel: $OTA_CHANNEL
|
||||
device: $device
|
||||
EOF
|
||||
|
||||
mkdir -p system/etc/system-image/config.d
|
||||
ln -s ../client.ini system/etc/system-image/config.d/00_default.ini
|
||||
ln -s ../channel.ini system/etc/system-image/config.d/01_channel.ini
|
||||
tar cvJf "../version.tar.xz" system
|
||||
cd -
|
||||
rm -r "$OUTPUT/version"
|
||||
|
||||
file="version.tar.xz"
|
||||
touch "$OUTPUT/$file.asc"
|
||||
echo "update $file $file.asc" >> "$OUTPUT/ubuntu_command"
|
||||
|
||||
# End ubuntu_command
|
||||
echo 'unmount system' >> "$OUTPUT/ubuntu_command"
|
||||
@@ -1,304 +0,0 @@
|
||||
#!/bin/sh
|
||||
# Based on https://raw.githubusercontent.com/ubports/Jumpdrive/ubports-recovery/initramfs/system-image-upgrader
|
||||
# Modified and simplified to create flashable system.img from OTA files
|
||||
set -e
|
||||
|
||||
HERE=$(pwd)
|
||||
SRC="$(realpath $(dirname "$1" 2>/dev/null || echo 'src'))"
|
||||
OUT="$(realpath "$2" 2>/dev/null || echo 'out')"
|
||||
|
||||
logit() {
|
||||
echo "System image: $1"
|
||||
echo "System image: $1" >> /tmp/system-image/system-image-upgrader.log
|
||||
}
|
||||
|
||||
mkdir -p /tmp/system-image
|
||||
echo "-- System image log --" > /tmp/system-image/system-image-upgrader.log
|
||||
logit "Starting image Upgrade pre"
|
||||
if [ ! -e "$1" ]; then
|
||||
logit "Command file doesn't exist: $1"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
COMMAND_FILE=$(realpath "$1")
|
||||
|
||||
REMOVE_LIST="$COMMAND_FILE"
|
||||
|
||||
# Used as a security check to see if we would change the password
|
||||
DATA_FORMAT=0
|
||||
|
||||
TMP=$(mktemp -d -p /tmp/system-image)
|
||||
mkdir -p "$OUT"
|
||||
|
||||
# System Mountpoint
|
||||
SYSTEM_MOUNTPOINT="$TMP/system"
|
||||
mkdir -p "$SYSTEM_MOUNTPOINT"
|
||||
|
||||
logit "Starting image upgrader: $(date)"
|
||||
|
||||
TOTAL=$(cat $COMMAND_FILE | wc -l)
|
||||
|
||||
progress() {
|
||||
# Devide by 0 will make go boom!
|
||||
if [ "$1" == "0" ]; then
|
||||
# echo "0" > cmd_pipe
|
||||
@
|
||||
fi
|
||||
PRE=$(awk -vn="$1" -vt="$TOTAL" 'BEGIN{printf("%.0f\n",n/t*100)}')
|
||||
# echo "$PRE" > cmd_pipe
|
||||
}
|
||||
|
||||
# Functions
|
||||
check_filesystem() {
|
||||
return 0
|
||||
}
|
||||
|
||||
verify_signature() {
|
||||
return 0
|
||||
}
|
||||
|
||||
install_keyring() {
|
||||
# $1 => full path to tarball
|
||||
# $2 => full path to signature
|
||||
|
||||
# Some basic checks
|
||||
if [ ! -e "$1" ] || [ ! -e "$2" ]; then
|
||||
logit "Missing keyring files: $1 => $2"
|
||||
return 1
|
||||
fi
|
||||
|
||||
# Unpacking
|
||||
TMPDIR=$(mktemp -dt -p /tmp/system-image/ tmp.XXXXXXXXXX)
|
||||
cd $TMPDIR
|
||||
xzcat $1 | tar --numeric-owner -xf -
|
||||
if [ ! -e keyring.json ] || [ ! -e keyring.gpg ]; then
|
||||
rm -Rf $TMPDIR
|
||||
logit "Invalid keyring: $1"
|
||||
return 1
|
||||
fi
|
||||
|
||||
# Extract the expiry
|
||||
keyring_expiry=$(grep "^ \"expiry\": " keyring.json | cut -d: -f2 | sed -e "s/[ \",]//g")
|
||||
if [ -n "$keyring_expiry" ] && [ "$keyring_expiry" -lt "$(date +%s)" ]; then
|
||||
rm -Rf $TMPDIR
|
||||
logit "Keyring expired: $1"
|
||||
return 1
|
||||
fi
|
||||
|
||||
# Extract the keyring type
|
||||
keyring_type=$(grep "^ \"type\": " keyring.json | cut -d: -f2 | sed -e "s/[, \"]//g")
|
||||
if [ -z "$keyring_type" ]; then
|
||||
rm -Rf $TMPDIR
|
||||
logit "Missing keyring type: $1"
|
||||
return 1
|
||||
fi
|
||||
|
||||
if [ -e /tmp/system-image/$keyring_type ]; then
|
||||
rm -Rf $TMPDIR
|
||||
logit "Keyring already loaded: $1"
|
||||
return 1
|
||||
fi
|
||||
|
||||
signer="unknown"
|
||||
case "$keyring_type" in
|
||||
archive-master)
|
||||
signer=""
|
||||
;;
|
||||
|
||||
image-master)
|
||||
signer="archive-master"
|
||||
;;
|
||||
|
||||
image-signing|blacklist)
|
||||
signer="image-master"
|
||||
;;
|
||||
|
||||
device-signing)
|
||||
signer="image-signing"
|
||||
;;
|
||||
esac
|
||||
|
||||
if [ -n "$signer" ] && ! verify_signature $signer $2; then
|
||||
rm -Rf $TMPDIR
|
||||
logit "Invalid signature: $1"
|
||||
return 1
|
||||
fi
|
||||
|
||||
mkdir /tmp/system-image/$keyring_type
|
||||
# chmod 700 /tmp/system-image/$keyring_type
|
||||
mv $TMPDIR/keyring.gpg /tmp/system-image/$keyring_type/pubring.gpg
|
||||
# chmod 600 /tmp/system-image/$keyring_type/pubring.gpg
|
||||
# chown 0:0 /tmp/system-image/$keyring_type/pubring.gpg
|
||||
rm -Rf $TMPDIR
|
||||
return 0
|
||||
}
|
||||
|
||||
factory_wipe() {
|
||||
# only set this flag if coming from a data wipe
|
||||
if [ "$DATA_FORMAT" -eq 0 ]; then
|
||||
return 1
|
||||
fi
|
||||
|
||||
flag="/data/.factory_wipe"
|
||||
# if the param != "true" we just delete the flag
|
||||
case $1 in
|
||||
true)
|
||||
touch "$flag"
|
||||
;;
|
||||
|
||||
false)
|
||||
rm -f "$flag"
|
||||
;;
|
||||
|
||||
*)
|
||||
logit "Unkown parameter $1, disabling"
|
||||
rm -f "$flag"
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
# Initialize GPG
|
||||
rm -Rf /tmp/system-image
|
||||
mkdir -p /tmp/system-image
|
||||
if [ -e /etc/system-image/archive-master.tar.xz ]; then
|
||||
logit "Loading keyring: archive-master.tar.xz"
|
||||
install_keyring /etc/system-image/archive-master.tar.xz /etc/system-image/archive-master.tar.xz.asc
|
||||
fi
|
||||
|
||||
# Process the command file
|
||||
FULL_IMAGE=0
|
||||
logit "Processing the command file"
|
||||
|
||||
count=0
|
||||
while read line
|
||||
do
|
||||
set -- $line
|
||||
case "$1" in
|
||||
format)
|
||||
logit "Formating: $2"
|
||||
case "$2" in
|
||||
system)
|
||||
FULL_IMAGE=1
|
||||
rm -f "$OUT/rootfs.img"
|
||||
dd if=/dev/zero of="$OUT/rootfs.img" seek=750K bs=4096 count=0
|
||||
mkfs.ext4 -F "$OUT/rootfs.img"
|
||||
;;
|
||||
|
||||
*)
|
||||
logit "Unknown format target: $2"
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
|
||||
load_keyring)
|
||||
if [ ! -e "$SRC/$2" ] || [ ! -e "$SRC/$3" ]; then
|
||||
logit "Skipping missing file: $SRC/$2"
|
||||
continue
|
||||
fi
|
||||
REMOVE_LIST="$REMOVE_LIST $SRC/$2 $SRC/$3"
|
||||
|
||||
logit "Loading keyring: $2"
|
||||
install_keyring $SRC/$2 $SRC/$3
|
||||
;;
|
||||
|
||||
mount)
|
||||
case "$2" in
|
||||
system)
|
||||
mkdir -p "$SYSTEM_MOUNTPOINT"
|
||||
LOOPDEV=$(losetup -f)
|
||||
|
||||
if [ ! -e "$LOOPDEV" ]; then
|
||||
sudo mknod "$LOOPDEV" b 7 $(echo "$LOOPDEV" | grep -Eo '[0-9]+$')
|
||||
sudo losetup "$LOOPDEV" "$OUT/rootfs.img"
|
||||
sudo mount "$LOOPDEV" "$SYSTEM_MOUNTPOINT/"
|
||||
else
|
||||
sudo mount -o loop "$OUT/rootfs.img" "$SYSTEM_MOUNTPOINT/"
|
||||
fi
|
||||
;;
|
||||
|
||||
*)
|
||||
logit "Unknown mount target: $2"
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
|
||||
unmount)
|
||||
case "$2" in
|
||||
system)
|
||||
sudo umount "$SYSTEM_MOUNTPOINT"
|
||||
rmdir "$SYSTEM_MOUNTPOINT"
|
||||
# Create fastboot flashable image
|
||||
img2simg "$OUT/rootfs.img" "$OUT/system.img"
|
||||
;;
|
||||
|
||||
*)
|
||||
logit "Unknown mount target: $2"
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
|
||||
update)
|
||||
if [ ! -e "$SRC/$2" ] || [ ! -e "$SRC/$3" ]; then
|
||||
logit "Skipping missing file: $2"
|
||||
continue
|
||||
fi
|
||||
|
||||
REMOVE_LIST="$REMOVE_LIST $SRC/$3"
|
||||
|
||||
if ! verify_signature device-signing $SRC/$3 && \
|
||||
! verify_signature image-signing $SRC/$3; then
|
||||
logit "Invalid signature"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
logit "Applying update: $2"
|
||||
cd "$TMP"
|
||||
rm -Rf partitions
|
||||
|
||||
# Start by removing any file listed in "removed"
|
||||
if [ "$FULL_IMAGE" != "1" ]; then
|
||||
xzcat "$SRC/$2" | tar --numeric-owner -xf - removed >/dev/null 2>&1 || true
|
||||
if [ -e removed ]; then
|
||||
while read file; do
|
||||
rm -Rf $file
|
||||
done < removed
|
||||
fi
|
||||
rm -f removed
|
||||
fi
|
||||
|
||||
# Unpack everything else on top of the system partition
|
||||
sudo sh -c "xzcat \"$SRC/$2\" | tar --numeric-owner -xf -"
|
||||
rm -f removed
|
||||
|
||||
# Move things to data
|
||||
cp partitions/* "$OUT" || true
|
||||
sudo rm -Rf partitions || true
|
||||
|
||||
# Remove tarball to free up space, since device tarballs
|
||||
# extract partitions/blobs that might fill up cache,
|
||||
# this way we ensure we got space for the partitions/blobs
|
||||
# rm -f recovery/$2
|
||||
;;
|
||||
|
||||
*)
|
||||
logit "Unknown command: $1"
|
||||
;;
|
||||
esac
|
||||
|
||||
count=$((count+=1))
|
||||
progress $count
|
||||
done < $COMMAND_FILE
|
||||
|
||||
if [ -e "$LOOPDEV" ]; then
|
||||
sudo losetup -d "$LOOPDEV" || true
|
||||
fi
|
||||
|
||||
# Remove the update files
|
||||
#for file in $REMOVE_LIST; do
|
||||
# rm -f $file
|
||||
#done
|
||||
logit "Can be removed: $REMOVE_LIST"
|
||||
|
||||
sync
|
||||
|
||||
logit "Done upgrading: $(date)"
|
||||
@@ -2,8 +2,7 @@ deviceinfo_name="Mi 6"
|
||||
deviceinfo_manufacturer="Xiaomi"
|
||||
deviceinfo_codename="sagit"
|
||||
deviceinfo_arch="aarch64"
|
||||
deviceinfo_os_version="9.0.0"
|
||||
deviceinfo_os_patch_level="2018-12"
|
||||
deviceinfo_halium_version="9"
|
||||
deviceinfo_kernel_source="https://gitlab.com/ubports/community-ports/android9/xiaomi-mi-6/android_kernel_xiaomi_msm8998.git"
|
||||
deviceinfo_kernel_source_branch="halium-9.0"
|
||||
deviceinfo_kernel_defconfig="sagit_defconfig"
|
||||
@@ -11,7 +10,11 @@ deviceinfo_kernel_cmdline="androidboot.console=ttyMSM0 androidboot.hardware=qcom
|
||||
deviceinfo_kernel_clang_compile="false"
|
||||
deviceinfo_kernel_apply_overlay="false"
|
||||
deviceinfo_generate_bootimg="true"
|
||||
deviceinfo_bootimg_header_version="1"
|
||||
deviceinfo_bootimg_os_version="9"
|
||||
deviceinfo_bootimg_os_patch_level="2018-12"
|
||||
deviceinfo_bootimg_qcdt="false"
|
||||
deviceinfo_system_partition_size="5120M"
|
||||
deviceinfo_flash_offset_base="0x00000000"
|
||||
deviceinfo_flash_offset_kernel="0x00008000"
|
||||
deviceinfo_flash_offset_ramdisk="0x01000000"
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
IDVENDOR=18D1
|
||||
IDPRODUCT_MTP=F003
|
||||
IDPRODUCT_MTP_ADB=9011
|
||||
IDPRODUCT_RNDIS=F00E
|
||||
IDPRODUCT_RNDIS_ADB=9024
|
||||
MANUFACTURER=Xiaomi
|
||||
PRODUCT=Xiaomi6
|
||||
USB_MODED_ARGS=
|
||||
27
overlay/system/etc/deviceinfo/devices/halium.yaml
Normal file
27
overlay/system/etc/deviceinfo/devices/halium.yaml
Normal file
@@ -0,0 +1,27 @@
|
||||
sagit:
|
||||
Names:
|
||||
- mi6
|
||||
- MI6
|
||||
- Xiaomi 6
|
||||
|
||||
PrettyName: Xiaomi 6
|
||||
DeviceType: phone
|
||||
GridUnit: 24
|
||||
SupportedOrientations:
|
||||
- Portrait
|
||||
- Landscape
|
||||
- InvertedLandscape
|
||||
MirAndroidPlatformServerBackpressure:
|
||||
- false
|
||||
MirAndroidPlatformServerPartialUpdates:
|
||||
- true
|
||||
MirAndroidPlatformServerEglSync:
|
||||
- false
|
||||
MirAndroidPlatformClientEglFlush:
|
||||
- "!/usr/bin/unity8,!/usr/bin/lomiri,all"
|
||||
|
||||
FlashlightSysfsPath: "/sys/class/leds/led:torch_0/brightness"
|
||||
FlashlightSwitchPath: "/sys/class/leds/led:switch_0/brightness"
|
||||
DoubleTapToWake: "/sys/devices/platform/goodix_ts.0/gesture/double_en|1|0"
|
||||
OfonoPlugin: binder
|
||||
OfonoImplementsIms: true
|
||||
2
overlay/system/etc/gbinder.conf
Normal file
2
overlay/system/etc/gbinder.conf
Normal file
@@ -0,0 +1,2 @@
|
||||
[General]
|
||||
ApiLevel = 28
|
||||
@@ -1,15 +0,0 @@
|
||||
description "Timekeeper is a utility to keep/restore RTC offset for Qualcomm devices"
|
||||
|
||||
start on android
|
||||
stop on runlevel [016]
|
||||
|
||||
pre-start script
|
||||
sleep 5
|
||||
/usr/bin/timekeeper restore || true
|
||||
echo "pre" >> /var/log/upstart/timekeeper.log
|
||||
end script
|
||||
|
||||
post-stop script
|
||||
/usr/bin/timekeeper store || true
|
||||
echo "post" >> /var/log/upstart/timekeeper.log
|
||||
end script
|
||||
14
overlay/system/etc/ofono/binder.d/qti.conf
Normal file
14
overlay/system/etc/ofono/binder.d/qti.conf
Normal file
@@ -0,0 +1,14 @@
|
||||
# This device do have 2 slots, but the other is eSIM only and we currently do not have
|
||||
# a way to install or modify those
|
||||
[Settings]
|
||||
ExpectSlots = slot1
|
||||
extPlugin = qti
|
||||
radioInterface = 1.1
|
||||
|
||||
[slot1]
|
||||
path = /ril_0
|
||||
slot = 0
|
||||
|
||||
[slot2]
|
||||
path = /ril_1
|
||||
slot = 1
|
||||
@@ -1,2 +0,0 @@
|
||||
[ModemManager]
|
||||
AutoSelectDataSim=always
|
||||
@@ -1,14 +0,0 @@
|
||||
# This is a sample file for the phonesim configuration
|
||||
#
|
||||
# It should be installed in your oFono system directory,
|
||||
# e.g. /etc/ofono/phonesim.conf
|
||||
#
|
||||
# Each group is parsed as a modem device
|
||||
#
|
||||
# Each group shall at least define the address and port
|
||||
# Address = <valid IPv4 address format>
|
||||
# Port = <valid TCP port>
|
||||
|
||||
#[phonesim]
|
||||
#Address=127.0.0.1
|
||||
#Port=12345
|
||||
@@ -17,4 +17,4 @@ name=slot1
|
||||
|
||||
[ril_1]
|
||||
transport=binder:name=slot2
|
||||
name=slot2
|
||||
name=slot2
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
GRID_UNIT_PX=21
|
||||
QTWEBKIT_DPR=2.0
|
||||
FORM_FACTOR=handset
|
||||
46
overlay/system/etc/umtprd/umtprd.conf
Normal file
46
overlay/system/etc/umtprd/umtprd.conf
Normal file
@@ -0,0 +1,46 @@
|
||||
#
|
||||
# uMTP Responder config file
|
||||
#
|
||||
|
||||
# UBports: Don't show hidden files
|
||||
show_hidden_files 0
|
||||
|
||||
# UBports: Use phablet user as default for all storage file operations
|
||||
default_uid 32011
|
||||
default_gid 32011
|
||||
|
||||
# Add home folder as default "internal storage" entry
|
||||
storage "/home/phablet" "Internal Storage" "rw,locked"
|
||||
|
||||
# Set the USB strings visible to host systems
|
||||
manufacturer "Volla"
|
||||
product "Volla Phone X23"
|
||||
# FIXME: set to something proper!
|
||||
serial "UT2004"
|
||||
|
||||
# Set the MTP firmware version
|
||||
firmware_version "Rev A"
|
||||
|
||||
# Set the USB interface string. Should be always "MTP"
|
||||
interface "MTP"
|
||||
|
||||
# Set the USB Vendor ID, Product ID and class
|
||||
# FIXME: set to something proper!
|
||||
usb_vendor_id 0x1D6B # Linux Foundation
|
||||
usb_product_id 0x0100 # PTP Gadget
|
||||
usb_class 0x6 # Image
|
||||
usb_subclass 0x1 # Still Imaging device
|
||||
usb_protocol 0x1 #
|
||||
|
||||
# Device version
|
||||
usb_dev_version 0x3008
|
||||
|
||||
# Generic FunctionFS Mode
|
||||
usb_functionfs_mode 0x1
|
||||
|
||||
usb_dev_path "/dev/usb-ffs/mtp/ep0"
|
||||
usb_epin_path "/dev/usb-ffs/mtp/ep1"
|
||||
usb_epout_path "/dev/usb-ffs/mtp/ep2"
|
||||
usb_epint_path "/dev/usb-ffs/mtp/ep3"
|
||||
|
||||
usb_max_packet_size 0x200
|
||||
3822
overlay/system/usr/share/halium-overlay/system/etc/apns-conf.xml
Normal file
3822
overlay/system/usr/share/halium-overlay/system/etc/apns-conf.xml
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,19 @@
|
||||
# Copyright (C) 2020 - Dreemurrs Embedded Labs
|
||||
#
|
||||
# These services are disabled due to them being unnecessary critical process
|
||||
# and crash loop.
|
||||
|
||||
service lmkd lmkd_HYBRIS_DISABLED
|
||||
disabled
|
||||
oneshot
|
||||
override
|
||||
|
||||
service vendor.audio-hal-2-0 android.hardware.audio@2.0-service_HYBRIS_DISABLED
|
||||
disabled
|
||||
oneshot
|
||||
override
|
||||
|
||||
service time_daemon time_daemon_HYBRIS_DISABLED
|
||||
disabled
|
||||
oneshot
|
||||
override
|
||||
393
overlay/system/usr/share/halium-overlay/vendor/etc/init/hw/init.qcom.rc
vendored
Normal file
393
overlay/system/usr/share/halium-overlay/vendor/etc/init/hw/init.qcom.rc
vendored
Normal file
@@ -0,0 +1,393 @@
|
||||
# Copyright (c) 2009-2012, 2014-2017, The Linux Foundation. All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are met:
|
||||
# * Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# * Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
# * Neither the name of The Linux Foundation nor
|
||||
# the names of its contributors may be used to endorse or promote
|
||||
# products derived from this software without specific prior written
|
||||
# permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
# IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
# NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
|
||||
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
||||
# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
|
||||
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
|
||||
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
||||
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
import /vendor/etc/init/hw/init.qcom.usb.rc
|
||||
import /vendor/etc/init/hw/init.target.rc
|
||||
import /vendor/etc/init/hw/init.target.performance.rc
|
||||
import /vendor/etc/init/init.parts.rc
|
||||
import /vendor/etc/init/hw/init.sagit.rc
|
||||
|
||||
import /init.spectrum.rc
|
||||
|
||||
on early-init
|
||||
mount debugfs debugfs /sys/kernel/debug
|
||||
chmod 0755 /sys/kernel/debug
|
||||
|
||||
on post-fs
|
||||
chmod 0755 /sys/kernel/debug/tracing
|
||||
|
||||
chmod 0664 /sys/devices/virtual/graphics/fb0/idle_time
|
||||
chown system graphics /sys/devices/virtual/graphics/fb0/idle_time
|
||||
write /sys/devices/virtual/graphics/fb0/idle_time 100
|
||||
|
||||
on post-fs-data
|
||||
mkdir /data/vendor/misc 01771 system system
|
||||
|
||||
# Create directory used by display clients
|
||||
mkdir /data/vendor/display 0770 system graphics
|
||||
|
||||
# Change lm related dirs
|
||||
mkdir /data/vendor/lm 0700 root root
|
||||
|
||||
# Create directory used by media clients
|
||||
mkdir /data/vendor/media 0770 mediacodec media
|
||||
|
||||
# Create directory for TZ Apps
|
||||
mkdir /data/misc/qsee 0770 system system
|
||||
|
||||
# Create directory for apps access via QTEEConnector
|
||||
mkdir /data/vendor/qtee 0770 system system
|
||||
|
||||
# Create folder for mm-qcamera-daemon
|
||||
mkdir /data/misc/camera 0770 camera camera
|
||||
setprop persist.camera.stats.test 5
|
||||
|
||||
# Create directories for tombstones
|
||||
mkdir /data/tombstones/modem 0771 system system
|
||||
mkdir /data/tombstones/lpass 0771 system system
|
||||
mkdir /data/tombstones/wcnss 0771 system system
|
||||
mkdir /data/tombstones/dsps 0771 system system
|
||||
|
||||
# Create directory for tftp
|
||||
mkdir /data/vendor/tombstones 0771 system system
|
||||
|
||||
mkdir /data/vendor/ramdump 0771 root system
|
||||
mkdir /data/vendor/bluetooth 0770 bluetooth bluetooth
|
||||
mkdir /data/vendor/ramdump/bluetooth 0770 bluetooth bluetooth
|
||||
|
||||
# Create the directories used by the Wireless subsystem
|
||||
mkdir /data/vendor/wifi 0770 wifi wifi
|
||||
mkdir /data/vendor/wifi/sockets 0770 wifi wifi
|
||||
mkdir /data/vendor/wifi/hostapd 0770 wifi wifi
|
||||
mkdir /data/vendor/wifi/hostapd/ctrl 0770 wifi wifi
|
||||
mkdir /data/vendor/wifi/wpa_supplicant 0770 wifi wifi
|
||||
mkdir /data/vendor/wifi/wpa 0770 wifi wifi
|
||||
mkdir /data/vendor/wifi/wpa/sockets 0770 wifi wifi
|
||||
|
||||
# Create netmgr log dir
|
||||
mkdir /data/vendor/netmgr 0770 radio radio
|
||||
|
||||
# Create ipacm log dir
|
||||
mkdir /data/vendor/ipa 0770 radio radio
|
||||
|
||||
#Create QTI dir for logs
|
||||
mkdir /data/vendor/dataqti 0770 radio radio
|
||||
|
||||
# Create the directories used by CnE subsystem
|
||||
mkdir /data/vendor/connectivity 0771 radio radio
|
||||
|
||||
# Create directory used by audio subsystem
|
||||
mkdir /data/vendor/misc/audio 0770 audio audio
|
||||
mkdir /data/vendor/misc/audio/acdbdata 0770 media audio
|
||||
mkdir /data/vendor/misc/audio/acdbdata/delta 0770 media audio
|
||||
|
||||
# Create directory for radio
|
||||
mkdir /data/vendor/radio 0770 system radio
|
||||
|
||||
# Create directories for Location services
|
||||
mkdir /data/vendor/location 0770 gps gps
|
||||
mkdir /data/vendor/location/mq 0770 gps gps
|
||||
mkdir /data/vendor/location/xtwifi 0770 gps gps
|
||||
mkdir /dev/socket/location 0770 gps gps
|
||||
mkdir /dev/socket/location/mq 0770 gps gps
|
||||
mkdir /dev/socket/location/xtra 0770 gps gps
|
||||
|
||||
# SSC/SLPI sensors
|
||||
mkdir /mnt/vendor/persist/sensors 0775 system root
|
||||
write /mnt/vendor/persist/sensors/sensors_settings 1
|
||||
chown system root /mnt/vendor/persist/sensors/sensors_settings
|
||||
chmod 0664 /mnt/vendor/persist/sensors/sensors_settings
|
||||
chown system system /mnt/vendor/persist/PRSensorData.txt
|
||||
chmod 0600 /mnt/vendor/persist/PRSensorData.txt
|
||||
|
||||
setprop vold.post_fs_data_done 1
|
||||
|
||||
# Create perfd related dirs
|
||||
mkdir /data/system/perfd 0770 root system
|
||||
chmod 2770 /data/system/perfd
|
||||
|
||||
# Create /data/vendor/time folder for time-services
|
||||
mkdir /data/vendor/time/ 0700 system system
|
||||
|
||||
# Mark the copy complete flag to not completed
|
||||
write /data/vendor/radio/copy_complete 0
|
||||
chown radio radio /data/vendor/radio/copy_complete
|
||||
chmod 0660 /data/vendor/radio/copy_complete
|
||||
|
||||
# Setup permission for powerHAL
|
||||
chown system system /dev/stune/top-app/schedtune.boost
|
||||
chown system system /dev/cpu_dma_latency
|
||||
chown system system /sys/class/kgsl/kgsl-3d0/devfreq/min_freq
|
||||
chown system system /sys/class/kgsl/kgsl-3d0/devfreq/max_freq
|
||||
chown system system /sys/class/devfreq/soc:qcom,gpubw/min_freq
|
||||
chown system system /sys/devices/soc/soc:qcom,cpubw/devfreq/soc:qcom,cpubw/min_freq
|
||||
|
||||
on early-boot
|
||||
chown system graphics /sys/class/graphics/fb0/idle_time
|
||||
chown system graphics /sys/class/graphics/fb0/dyn_pu
|
||||
chown system graphics /sys/class/graphics/fb0/dynamic_fps
|
||||
chown system graphics /sys/class/graphics/fb0/modes
|
||||
chown system graphics /sys/class/graphics/fb0/mode
|
||||
chown system graphics /sys/class/graphics/fb0/msm_cmd_autorefresh_en
|
||||
chmod 0664 /sys/class/graphics/fb0/idle_time
|
||||
chmod 0664 /sys/class/graphics/fb0/dyn_pu
|
||||
chmod 0664 /sys/class/graphics/fb0/dynamic_fps
|
||||
chmod 0664 /sys/class/graphics/fb0/modes
|
||||
chmod 0664 /sys/class/graphics/fb0/mode
|
||||
chmod 0664 /sys/class/graphics/fb0/msm_cmd_autorefresh_en
|
||||
|
||||
chown system graphics /sys/class/graphics/fb0/msm_fb_persist_mode
|
||||
chown system graphics /sys/class/graphics/fb0/lineptr_value
|
||||
chmod 0664 /sys/class/graphics/fb0/msm_fb_persist_mode
|
||||
chmod 0664 /sys/class/graphics/fb0/lineptr_value
|
||||
|
||||
chown system graphics /sys/class/graphics/fb1/msm_fb_persist_mode
|
||||
chown system graphics /sys/class/graphics/fb1/lineptr_value
|
||||
chmod 0664 /sys/class/graphics/fb1/msm_fb_persist_mode
|
||||
chmod 0664 /sys/class/graphics/fb1/lineptr_value
|
||||
|
||||
# SSR setup
|
||||
write /sys/bus/msm_subsys/devices/subsys0/restart_level "related"
|
||||
write /sys/bus/msm_subsys/devices/subsys1/restart_level "related"
|
||||
write /sys/bus/msm_subsys/devices/subsys2/restart_level "related"
|
||||
write /sys/bus/msm_subsys/devices/subsys3/restart_level "related"
|
||||
write /sys/bus/msm_subsys/devices/subsys4/restart_level "related"
|
||||
write /sys/bus/msm_subsys/devices/subsys5/restart_level "related"
|
||||
write /sys/bus/msm_subsys/devices/subsys6/restart_level "related"
|
||||
|
||||
on boot
|
||||
chown bluetooth net_bt /sys/class/rfkill/rfkill0/device/extldo
|
||||
chown bluetooth net_bt /sys/class/rfkill/rfkill0/state
|
||||
chown bluetooth net_bt /sys/class/rfkill/rfkill0/type
|
||||
chmod 0660 /sys/class/rfkill/rfkill0/device/extldo
|
||||
chmod 0660 /sys/class/rfkill/rfkill0/state
|
||||
|
||||
chown system system /sys/module/msm_core/parameters/polling_interval
|
||||
chown system system /sys/module/msm_core/parameters/disabled
|
||||
chown system system /sys/kernel/debug/msm_core/enable
|
||||
chown system system /sys/kernel/debug/msm_core/ptable
|
||||
|
||||
# Create QMUX deamon socket area
|
||||
mkdir /dev/socket/qmux_radio 2770 radio radio
|
||||
mkdir /dev/socket/qmux_audio 2770 media audio
|
||||
mkdir /dev/socket/qmux_bluetooth 2770 bluetooth bluetooth
|
||||
mkdir /dev/socket/qmux_gps 2770 gps gps
|
||||
|
||||
# Create NETMGR daemon socket area
|
||||
mkdir /dev/socket/netmgr 0750 radio radio
|
||||
|
||||
# KeyDisabler permissions
|
||||
chown system system /sys/devices/soc/soc:fingerprint_fpc/enable_key_events
|
||||
chown system system /sys/devices/soc/soc:fingerprint_goodix/enable_key_events
|
||||
chmod 0660 /sys/devices/soc/soc:fingerprint_fpc/enable_key_events
|
||||
chmod 0660 /sys/devices/soc/soc:fingerprint_goodix/enable_key_events
|
||||
|
||||
chown system system /proc/touchpanel/capacitive_keys_enable
|
||||
chown system system /proc/touchpanel/reversed_keys_enable
|
||||
chown system system /proc/touchpanel/wake_gesture
|
||||
chmod 0660 /proc/touchpanel/capacitive_keys_enable
|
||||
chmod 0660 /proc/touchpanel/reversed_keys_enable
|
||||
chmod 0660 /proc/touchpanel/wake_gesture
|
||||
|
||||
# sweep2sleep permissions
|
||||
chown system system /sys/sweep2sleep/vib_strength
|
||||
chown system system /sys/sweep2sleep/sweep2sleep
|
||||
|
||||
# USB Fastcharge
|
||||
chown system system /sys/kernel/fast_charge/force_fast_charge
|
||||
chmod 0660 /sys/kernel/fast_charge/force_fast_charge
|
||||
|
||||
# KCAL permissions
|
||||
chown system system /sys/devices/platform/kcal_ctrl.0/kcal
|
||||
chown system system /sys/devices/platform/kcal_ctrl.0/kcal_enable
|
||||
chown system system /sys/devices/platform/kcal_ctrl.0/kcal_cont
|
||||
chown system system /sys/devices/platform/kcal_ctrl.0/kcal_sat
|
||||
chown system system /sys/devices/platform/kcal_ctrl.0/kcal_hue
|
||||
chown system system /sys/devices/platform/kcal_ctrl.0/kcal_min
|
||||
chown system system /sys/devices/platform/kcal_ctrl.0/kcal_val
|
||||
chmod 0660 /sys/devices/platform/kcal_ctrl.0/kcal
|
||||
chmod 0660 /sys/devices/platform/kcal_ctrl.0/kcal_enable
|
||||
chmod 0660 /sys/devices/platform/kcal_ctrl.0/kcal_cont
|
||||
chmod 0660 /sys/devices/platform/kcal_ctrl.0/kcal_sat
|
||||
chmod 0660 /sys/devices/platform/kcal_ctrl.0/kcal_hue
|
||||
chmod 0660 /sys/devices/platform/kcal_ctrl.0/kcal_min
|
||||
chmod 0660 /sys/devices/platform/kcal_ctrl.0/kcal_val
|
||||
|
||||
# DT2W
|
||||
chown system system /dev/input/event1
|
||||
chmod 0666 /dev/input/event1
|
||||
|
||||
# Assign TCP buffer thresholds to be ceiling value of technology maximums
|
||||
# Increased technology maximums should be reflected here.
|
||||
write /proc/sys/net/core/rmem_max 8388608
|
||||
write /proc/sys/net/core/wmem_max 8388608
|
||||
|
||||
# To prevent out of order acknowledgements from making
|
||||
# connection tracking to treat them as not belonging to
|
||||
# the connection they belong to.
|
||||
# Otherwise, a weird issue happens in which some long
|
||||
# connections on high-throughput links get dropped when
|
||||
# an ack packet comes out of order
|
||||
write /proc/sys/net/netfilter/nf_conntrack_tcp_be_liberal 1
|
||||
|
||||
# Wifi firmware reload path
|
||||
chown wifi wifi /sys/module/wlan/parameters/fwpath
|
||||
|
||||
on property:sys.boot_completed=1
|
||||
# Used by sound trigger HAL
|
||||
chown media audio /sys/kernel/wdsp0/boot
|
||||
chown media audio /sys/kernel/wcd_cpe0/fw_name
|
||||
|
||||
service vendor.cnd /vendor/bin/cnd
|
||||
class main
|
||||
user system
|
||||
group system wifi inet radio wakelock net_admin
|
||||
writepid /dev/cpuset/system-background/tasks
|
||||
|
||||
service vendor.dpmQmiMgr /vendor/bin/dpmQmiMgr
|
||||
class main
|
||||
user system
|
||||
group system
|
||||
|
||||
service vendor.irsc_util /vendor/bin/irsc_util "/vendor/etc/sec_config"
|
||||
class core
|
||||
user root
|
||||
oneshot
|
||||
writepid /dev/cpuset/system-background/tasks
|
||||
|
||||
service vendor.rmt_storage /vendor/bin/rmt_storage
|
||||
class core
|
||||
user root
|
||||
shutdown critical
|
||||
ioprio rt 0
|
||||
|
||||
service vendor.tftp_server /vendor/bin/tftp_server
|
||||
class core
|
||||
user root
|
||||
group root system
|
||||
|
||||
on property:sys.post_boot.parsed=1
|
||||
# Setup permission for powerHAL
|
||||
chown system system /sys/devices/soc/soc:qcom,cpubw/devfreq/soc:qcom,cpubw/bw_hwmon/hyst_trigger_count
|
||||
chown system system /sys/devices/soc/soc:qcom,cpubw/devfreq/soc:qcom,cpubw/bw_hwmon/hist_memory
|
||||
chown system system /sys/devices/soc/soc:qcom,cpubw/devfreq/soc:qcom,cpubw/bw_hwmon/hyst_length
|
||||
|
||||
service vendor.atfwd /vendor/bin/ATFWD-daemon
|
||||
class late_start
|
||||
user system
|
||||
group system radio
|
||||
writepid /dev/cpuset/system-background/tasks
|
||||
|
||||
service vendor.netmgrd /vendor/bin/netmgrd
|
||||
class main
|
||||
writepid /dev/cpuset/system-background/tasks
|
||||
|
||||
service vendor.ipacm /vendor/bin/ipacm
|
||||
class main
|
||||
user radio
|
||||
group radio inet
|
||||
writepid /dev/cpuset/system-background/tasks
|
||||
|
||||
service vendor.dataqti /vendor/bin/qti
|
||||
class main
|
||||
user radio
|
||||
group radio oem_2901 diag usb net_admin
|
||||
writepid /dev/cpuset/system-background/tasks
|
||||
|
||||
service vendor.sensors /vendor/bin/sensors.qti
|
||||
class main
|
||||
user root
|
||||
group root
|
||||
writepid /dev/cpuset/system-background/tasks
|
||||
|
||||
service wpa_supplicant /vendor/bin/hw/wpa_supplicant \
|
||||
-O/data/vendor/wifi/wpa/sockets -puse_p2p_group_interface=1 \
|
||||
-g@android:wpa_wlan0
|
||||
interface android.hardware.wifi.supplicant@1.0::ISupplicant default
|
||||
interface android.hardware.wifi.supplicant@1.1::ISupplicant default
|
||||
class main
|
||||
socket wpa_wlan0 dgram 660 wifi wifi
|
||||
disabled
|
||||
oneshot
|
||||
writepid /dev/cpuset/system-background/tasks
|
||||
|
||||
service vendor.cnss-daemon /vendor/bin/cnss-daemon -n -l
|
||||
class late_start
|
||||
user system
|
||||
group system inet net_admin wifi
|
||||
capabilities NET_ADMIN
|
||||
writepid /dev/cpuset/system-background/tasks
|
||||
|
||||
on property:sys.shutdown.requested=*
|
||||
stop vendor.cnss-daemon
|
||||
|
||||
service vendor.loc_launcher /vendor/bin/loc_launcher
|
||||
class late_start
|
||||
user gps
|
||||
group gps
|
||||
writepid /dev/cpuset/system-background/tasks
|
||||
|
||||
service vendor.qcom-sh /vendor/bin/init.qcom.sh
|
||||
class late_start
|
||||
user root
|
||||
oneshot
|
||||
|
||||
service vendor.qcom-post-boot /vendor/bin/init.qcom.post_boot.sh
|
||||
class late_start
|
||||
user root
|
||||
disabled
|
||||
oneshot
|
||||
|
||||
service vendor.panel-info /vendor/bin/init.panel_info.sh
|
||||
class core
|
||||
user root
|
||||
oneshot
|
||||
|
||||
service vendor.ril-daemon2 /vendor/bin/hw/rild -c 2
|
||||
class main
|
||||
socket rild2 stream 660 root radio
|
||||
socket rild-debug2 stream 660 radio system
|
||||
user radio
|
||||
group radio cache inet misc audio sdcard_r sdcard_rw diag log
|
||||
capabilities BLOCK_SUSPEND NET_ADMIN NET_RAW
|
||||
|
||||
service charger /charger
|
||||
class charger
|
||||
group system graphics
|
||||
seclabel u:r:healthd:s0
|
||||
|
||||
service vendor.msm_irqbalance /vendor/bin/msm_irqbalance -f /vendor/etc/msm_irqbalance.conf
|
||||
class core
|
||||
user root
|
||||
group root
|
||||
|
||||
service vendor.time_daemon /vendor/bin/time_daemon
|
||||
disabled
|
||||
class main
|
||||
user root
|
||||
group root
|
||||
writepid /dev/cpuset/system-background/tasks
|
||||
0
overlay/system/usr/share/halium-overlay/vendor/lib/.halium-overlay-dir
vendored
Normal file
0
overlay/system/usr/share/halium-overlay/vendor/lib/.halium-overlay-dir
vendored
Normal file
BIN
overlay/system/usr/share/halium-overlay/vendor/lib/com.qualcomm.qti.wifidisplayhal@1.0.so
vendored
Normal file
BIN
overlay/system/usr/share/halium-overlay/vendor/lib/com.qualcomm.qti.wifidisplayhal@1.0.so
vendored
Normal file
Binary file not shown.
0
overlay/system/usr/share/halium-overlay/vendor/lib64/.halium-overlay-dir
vendored
Normal file
0
overlay/system/usr/share/halium-overlay/vendor/lib64/.halium-overlay-dir
vendored
Normal file
BIN
overlay/system/usr/share/halium-overlay/vendor/lib64/com.qualcomm.qti.imscmservice@2.0.so
vendored
Normal file
BIN
overlay/system/usr/share/halium-overlay/vendor/lib64/com.qualcomm.qti.imscmservice@2.0.so
vendored
Normal file
Binary file not shown.
BIN
overlay/system/usr/share/halium-overlay/vendor/lib64/com.qualcomm.qti.imscmservice@2.1.so
vendored
Normal file
BIN
overlay/system/usr/share/halium-overlay/vendor/lib64/com.qualcomm.qti.imscmservice@2.1.so
vendored
Normal file
Binary file not shown.
BIN
overlay/system/usr/share/halium-overlay/vendor/lib64/com.qualcomm.qti.uceservice@2.0.so
vendored
Normal file
BIN
overlay/system/usr/share/halium-overlay/vendor/lib64/com.qualcomm.qti.uceservice@2.0.so
vendored
Normal file
Binary file not shown.
Reference in New Issue
Block a user