├── Android.mk ├── AndroidProducts.mk ├── BoardConfig.mk ├── kernel ├── omni_sailfish.mk ├── recovery.fstab └── recovery └── root ├── init.recovery.sailfish.rc └── sbin ├── bootctrl.msm8996.so ├── librecovery_updater_msm.so ├── pulldecryptfiles.sh └── qseecomd /Android.mk: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 2012 The Android Open Source Project 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | 17 | # This contains the module build definitions for the hardware-specific 18 | # components for this device. 19 | # 20 | # As much as possible, those components should be built unconditionally, 21 | # with device-specific names to avoid collisions, to avoid device-specific 22 | # bitrot and build breakages. Building a component unconditionally does 23 | # *not* include it on all devices, so it is safe even with hardware-specific 24 | # components. 25 | 26 | ifneq ($(filter sailfish,$(TARGET_DEVICE)),) 27 | 28 | LOCAL_PATH := $(call my-dir) 29 | 30 | include $(call all-makefiles-under,$(LOCAL_PATH)) 31 | 32 | endif 33 | -------------------------------------------------------------------------------- /AndroidProducts.mk: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 2012 The Android Open Source Project 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | 17 | PRODUCT_MAKEFILES := \ 18 | $(LOCAL_DIR)/omni_sailfish.mk 19 | -------------------------------------------------------------------------------- /BoardConfig.mk: -------------------------------------------------------------------------------- 1 | # Bootloader 2 | TARGET_BOOTLOADER_BOARD_NAME := MSM8996 3 | TARGET_NO_BOOTLOADER := true 4 | 5 | # Platform 6 | TARGET_BOARD_PLATFORM := msm8996 7 | TARGET_BOARD_PLATFORM_GPU := qcom-adreno530 8 | 9 | # Architecture 10 | TARGET_ARCH := arm64 11 | TARGET_ARCH_VARIANT := armv8-a 12 | TARGET_CPU_ABI := arm64-v8a 13 | TARGET_CPU_ABI2 := 14 | TARGET_CPU_VARIANT := kryo 15 | 16 | TARGET_2ND_ARCH := arm 17 | TARGET_2ND_ARCH_VARIANT := armv7-a-neon 18 | TARGET_2ND_CPU_ABI := armeabi-v7a 19 | TARGET_2ND_CPU_ABI2 := armeabi 20 | TARGET_2ND_CPU_VARIANT := cortex-a53 21 | 22 | BOARD_KERNEL_CMDLINE := console=ttyHSL0,115200,n8 androidboot.console=ttyHSL0 androidboot.hardware=sailfish user_debug=31 ehci-hcd.park=3 lpm_levels.sleep_disabled=1 cma=32M@0-0xffffffff buildvariant=eng 23 | 24 | BOARD_KERNEL_BASE := 0x80000000 25 | BOARD_KERNEL_PAGESIZE := 4096 26 | BOARD_MKBOOTIMG_ARGS := --kernel_offset 0x00008000 --ramdisk_offset 0x01000000 --tags_offset 0x00000100 27 | 28 | # prebuilt kernel 29 | TARGET_PREBUILT_KERNEL := device/google/sailfish/kernel 30 | # else uncomment below to build from sauce 31 | # TARGET_KERNEL_SOURCE := kernel/google/sailfish 32 | # TARGET_KERNEL_CONFIG := sailfish_defconfig 33 | 34 | BOARD_BOOTIMAGE_PARTITION_SIZE := 41943040 35 | BOARD_RECOVERYIMAGE_PARTITION_SIZE := 41943040 36 | BOARD_SYSTEMIMAGE_PARTITION_SIZE := 1073741824 37 | BOARD_USERDATAIMAGE_PARTITION_SIZE := 2147483648 38 | BOARD_FLASH_BLOCK_SIZE := 131072 # (BOARD_KERNEL_PAGESIZE * 64) 39 | BOARD_VOLD_EMMC_SHARES_DEV_MAJOR := true 40 | 41 | TARGET_USERIMAGES_USE_EXT4 := true 42 | BOARD_HAS_NO_SELECT_BUTTON := true 43 | TARGET_RECOVERY_PIXEL_FORMAT := "RGBX_8888" 44 | 45 | TW_THEME := portrait_hdpi 46 | BOARD_SUPPRESS_SECURE_ERASE := true 47 | TW_INCLUDE_CRYPTO := true 48 | TARGET_RECOVERY_QCOM_RTC_FIX := true 49 | TW_INPUT_BLACKLIST := "hbtp_vm" 50 | TW_DEFAULT_BRIGHTNESS := "80" 51 | TW_INCLUDE_CRYPTO := true 52 | AB_OTA_UPDATER := true 53 | -------------------------------------------------------------------------------- /kernel: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamWin/android_device_google_sailfish/a9e9952206b88b6ffd52e75c652d5f8ea22a0b9f/kernel -------------------------------------------------------------------------------- /omni_sailfish.mk: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 2012 The Android Open Source Project 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | 17 | # Sample: This is where we'd set a backup provider if we had one 18 | # $(call inherit-product, device/sample/products/backup_overlay.mk) 19 | 20 | # Get the prebuilt list of APNs 21 | $(call inherit-product, vendor/omni/config/gsm.mk) 22 | 23 | # Inherit from the common Open Source product configuration 24 | $(call inherit-product, $(SRC_TARGET_DIR)/product/aosp_base_telephony.mk) 25 | 26 | # Inherit from our custom product configuration 27 | $(call inherit-product, vendor/omni/config/common.mk) 28 | 29 | PRODUCT_PACKAGES += \ 30 | charger_res_images \ 31 | charger 32 | 33 | PRODUCT_COPY_FILES += \ 34 | device/google/sailfish/kernel:kernel 35 | 36 | PRODUCT_NAME := omni_sailfish 37 | PRODUCT_DEVICE := sailfish 38 | PRODUCT_BRAND := Google 39 | PRODUCT_MODEL := Pixel 40 | PRODUCT_MANUFACTURER := Google 41 | 42 | # Kernel inline build 43 | #TARGET_KERNEL_CONFIG := sailfish_defconfig 44 | #TARGET_VARIANT_CONFIG := sailfish_defconfig 45 | #TARGET_SELINUX_CONFIG := sailfish_defconfig 46 | -------------------------------------------------------------------------------- /recovery.fstab: -------------------------------------------------------------------------------- 1 | /boot emmc /dev/block/bootdevice/by-name/boot 2 | /system ext4 /dev/block/bootdevice/by-name/system 3 | #/system ext4 /dev/block/platform/soc/624000.ufshc/by-name/system_a 4 | /system_image emmc /dev/block/bootdevice/by-name/system 5 | /vendor ext4 /dev/block/bootdevice/by-name/vendor flags=display="Vendor";backup=1 6 | /vendor_image emmc /dev/block/bootdevice/by-name/vendor 7 | /data ext4 /dev/block/bootdevice/by-name/userdata 8 | #/cache ext4 /dev/block/bootdevice/by-name/cache 9 | /misc emmc /dev/block/bootdevice/by-name/misc 10 | #/recovery emmc /dev/block/bootdevice/by-name/recovery flags=backup=1 11 | /efs1 emmc /dev/block/bootdevice/by-name/modemst1 flags=backup=1;display=EFS 12 | /efs2 emmc /dev/block/bootdevice/by-name/modemst2 flags=backup=1;subpartitionof=/efs1 13 | 14 | /usb-otg vfat /dev/block/sdg1 /dev/block/sdg flags=removable;storage;display=USB-OTG 15 | -------------------------------------------------------------------------------- /recovery/root/init.recovery.sailfish.rc: -------------------------------------------------------------------------------- 1 | # separate copy needed to use /sbin/linker64 instead of /system/bin/linker64 2 | service sbinqseecomd /sbin/qseecomd 3 | disabled 4 | user root 5 | group root 6 | seclabel u:r:recovery:s0 7 | 8 | service pulldecryptfiles /sbin/pulldecryptfiles.sh 9 | oneshot 10 | disabled 11 | user root 12 | group root 13 | seclabel u:r:recovery:s0 14 | 15 | on boot 16 | start pulldecryptfiles 17 | start sbinqseecomd 18 | 19 | on fs 20 | # needed to make qseecomd work in recovery 21 | symlink /dev/block/platform/soc.0/f9824900.sdhci /dev/block/bootdevice 22 | chmod 0660 /dev/qseecom 23 | chown system drmrpc /dev/qseecom 24 | chmod 0664 /dev/ion 25 | chown system system /dev/ion 26 | start pulldecryptfiles 27 | install_keyring 28 | 29 | #on property:ro.crypto.state=encrypted 30 | # start sbinqseecomd 31 | -------------------------------------------------------------------------------- /recovery/root/sbin/bootctrl.msm8996.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamWin/android_device_google_sailfish/a9e9952206b88b6ffd52e75c652d5f8ea22a0b9f/recovery/root/sbin/bootctrl.msm8996.so -------------------------------------------------------------------------------- /recovery/root/sbin/librecovery_updater_msm.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamWin/android_device_google_sailfish/a9e9952206b88b6ffd52e75c652d5f8ea22a0b9f/recovery/root/sbin/librecovery_updater_msm.so -------------------------------------------------------------------------------- /recovery/root/sbin/pulldecryptfiles.sh: -------------------------------------------------------------------------------- 1 | #!/sbin/sh 2 | 3 | # This pulls the files out of /vendor that are needed for decrypt 4 | # This allows us to decrypt the device in recovery and still be 5 | # able to unmount /vendor when we are done. 6 | 7 | umount /vendor 8 | rm /vendor 9 | mkdir -p /vendor 10 | mount -t ext4 -o ro /dev/block/bootdevice/by-name/vendor_a /vendor 11 | 12 | cp /vendor/lib64/libQSEEComAPI.so /sbin/libQSEEComAPI.so 13 | cp /vendor/lib64/hw/keystore.msm8996.so /sbin/keystore.msm8996.so 14 | cp /vendor/lib64/libdrmfs.so /sbin/libdrmfs.so 15 | cp /vendor/lib64/libdrmtime.so /sbin/libdrmtime.so 16 | cp /vendor/lib64/librpmb.so /sbin/librpmb.so 17 | cp /vendor/lib64/libssd.so /sbin/libssd.so 18 | cp /vendor/lib64/libdiag.so /sbin/libdiag.so 19 | cp /vendor/lib64/libkmcrypto.so /sbin/libkmcrypto.so 20 | cp /vendor/lib64/hw/gatekeeper.msm8996.so /sbin/gatekeeper.msm8996.so 21 | 22 | umount /vendor 23 | 24 | mkdir -p /vendor/lib64/hw 25 | cp /sbin/keystore.msm8996.so /vendor/lib64/hw/keystore.msm8996.so 26 | cp /sbin/gatekeeper.msm8996.so /vendor/lib64/hw/gatekeeper.msm8996.so 27 | cp /sbin/bootctrl.msm8996.so /vendor/lib64/hw/bootctrl.msm8996.so 28 | -------------------------------------------------------------------------------- /recovery/root/sbin/qseecomd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamWin/android_device_google_sailfish/a9e9952206b88b6ffd52e75c652d5f8ea22a0b9f/recovery/root/sbin/qseecomd --------------------------------------------------------------------------------