Commit Graph

345 Commits

Author SHA1 Message Date
oxmc 551ceefa4c Add ZRAM swap with configurable size (default 50%)
Adds four fstab.zram.{25p,50p,75p,none} variants copied to vendor/etc.
init.rpi4.rc activates swap at boot_complete using persist.vendor.zram.size.
Adds vm.min_free_kbytes/lowmem_reserve_ratio memory tuning on init.
SELinux: declares vendor_zram_config_prop for persist.vendor.zram.size.
2026-06-09 06:54:44 -07:00
oxmc 44d3ef81eb Fix: rename pawlet_ota_prop to vendor_pawlet_ota_prop for VTS compliance 2026-06-09 05:23:40 -07:00
oxmc 74e16c3c5f Fix: replace handheld_core_hardware.xml with targeted phone permissions 2026-06-09 04:47:12 -07:00
oxmc 127f5add8b Fix: SELinux neverallow violations; rename pawlet OTA property to vendor namespace
Remove vendor_default_prop and bluetooth_lea_prop get_prop rules — both violate
AOSP neverallow rules (vendor_default_prop is banned for all app domains;
bluetooth_lea_prop is a platform type not exported to the vendor policy interface).
Remove generic sysfs:file allow for init and system_server — both violate
neverallow rules in init.te and coredomain.te; proper labeled sysfs types are
needed when specific paths are identified from avc: denied logs.
Rename ro.pawlet.ota. -> ro.vendor.pawlet.ota. to satisfy VTS vendor property
namespace enforcement.
2026-06-09 04:40:49 -07:00
oxmc 3205a92436 Fix: SELinux priv_app/system_app prop access; enable TCP ADB on userdebug
- priv_app.te: get vendor_default_prop + bluetooth_lea_prop (Settings, priv apps)
- system_app.te: get vendor_default_prop
- device.mk: persist.adb.tcp.port=5555 for userdebug builds only
2026-06-08 08:51:53 -07:00
oxmc a8d608ab35 Fix: SELinux denials from Android 16 boot log
- hal_boot_control: allow kmsg_device write for slot operation logging
- init: allow sysfs file write (block queue tuning) and debugfs_bootreceiver_tracing
- service_contexts: label ffmpeg IComponentStore as hal_codec2_service
- property.te / property_contexts / vendor_init: add pawlet_ota_prop type
- system_server: get vendor_default_prop, read sysfs (HID keyboard layout)
- platform_app: get vendor_default_prop and bluetooth_lea_prop (SystemUI)
- untrusted_app_all: get vendor_default_prop (HWUI render thread)
- hal_camera: allow sysfs dir read for camera node enumeration
2026-06-08 06:02:08 -07:00
oxmc d08c2538a1 product: add LawnchairQuickStep to PRODUCT_PACKAGES
Now that the prebuilt defines a separate LawnchairQuickStep module,
include it alongside Lawnchair so Launcher3QuickStep (recents/overview)
is also replaced by the Lawnchair APK.
2026-06-08 01:09:07 -07:00
oxmc 2362560796 mkbootimg: use stamp file for rpiboot, uppercase FAT label
Targeting the rpiboot directory directly confuses ninja when inner files
change (Missing restat warning, outputs should be files error). Use a
stamp file (.stamp) so ninja correctly detects when the directory contents
are stale.

Also uppercase the FAT volume label BOOT to avoid mkfs.fat's lowercase
label compatibility warning.
2026-06-07 03:24:48 -07:00
oxmc eadb7525b0 fstab: make discard opt-in via BOARD_STORAGE_SUPPORTS_DISCARD
Add fstab.rpi4.discard (metadata with discard) alongside the default
fstab.rpi4 (no discard). device.mk selects between them based on
BOARD_STORAGE_SUPPORTS_DISCARD — set true for SD cards or SSDs that
actually support TRIM, leave unset for USB flash drives.
2026-06-07 02:53:43 -07:00
oxmc e9aca0ea1a fstab: remove discard from metadata partition
USB drives typically don't support TRIM. The USB DISK 3.0 in use explicitly
rejects it (EXT4-fs: mounting with discard option, but the device does not
support discard). Every ext4 journal commit on sda8 was attempting a TRIM,
adding latency that stalled jbd2/sda8-8 and caused Watchdog kills.
2026-06-07 02:16:12 -07:00
oxmc f0133e72b1 include slow_storage.mk to prevent Watchdog kills on boot 2026-06-06 23:34:24 -07:00
oxmc 8b2866a17f mkimg: update system (8GB) and vendor (2GB) partition sizes 2026-06-05 14:48:09 -07:00
oxmc aeccdad22b BoardConfig: system 8GB, vendor 2GB 2026-06-05 14:28:57 -07:00
oxmc 5fe76e4c2d wrimg: grow userdata to fill the device on flash
Writing the fixed-size disk image to a larger device leaves userdata at its
image size (128M) and strands the backup GPT header mid-disk. wipe_userdata now
relocates the backup GPT to the true end of the device (fixing the 'Alternate
GPT header not at the end of the disk' kernel warning) and recreates partition 9
spanning all remaining free space before formatting it.
2026-06-04 17:15:52 -07:00
oxmc 54fbb2a9da rpi4: disable AVB (no vbmeta partition in layout)
Our partition layout has no vbmeta partition, so Android Verified Boot must be
off — otherwise first-stage init fails verification and bootloops. Explicit
guard against an inherited config enabling it.
2026-06-04 17:02:59 -07:00
oxmc 8b9e189733 rpi4: set androidboot.boot_devices for by-name partition mounts
First-stage init only creates /dev/block/by-name/* symlinks for partitions
on a declared boot device. Our fstab mounts system/system_ext/vendor/metadata
by-name, so without boot_devices set these symlinks were never created and
first-stage mount failed, rebooting ~45s into boot (rainbow-splash loop).

Set boot_devices to the USB (scb/fd500000.pcie) and SD (emmc2bus/fe340000.mmc)
platform paths, matched exactly against the uevent path with /devices/platform/
stripped. Verified booting past first-stage mount from USB via serial console.
2026-06-04 16:57:45 -07:00
oxmc 799f24295b wrimg: stamp androidboot.slot_suffix in cmdline.txt after boot partition writes 2026-06-04 15:43:44 -07:00
oxmc ccaef80f22 sepolicy: add BootControl HAL policy and fix partition file_contexts 2026-06-04 10:03:30 -07:00
oxmc 9573f95971 wrimg: use PARTLABEL for device detection, fix system_ext bracket syntax 2026-06-04 07:23:44 -07:00
oxmc 42a953db99 Fix selinux perms 2026-06-03 22:17:33 -07:00
oxmc ade925a5d1 Fix package name 2026-06-03 01:43:57 -07:00
oxmc 649ec17187 Fix paths 2026-05-30 01:58:48 -07:00
oxmc 7146b57b90 Fix include path and disable recovery/twrp 2026-05-30 01:13:14 -07:00
oxmc ba08776aca Seperate into new repo 2026-05-26 06:37:23 -07:00
oxmc 05d2abb265 Update to upstream 2026-05-26 05:54:26 -07:00
oxmc 36e87623ea Common stuff 2026-03-20 06:17:27 -07:00
oxmc ea675a2b9f Fix partition layout 2026-03-05 00:40:38 -08:00
oxmc 58e19810d1 Update to same as upstream 2026-03-04 22:17:40 -08:00
oxmc d3064f9f9d wifi: start wpa_supplicant as user wifi (same as upstream) 2026-01-17 04:41:05 +00:00
oxmc 0cd3897c6a Upd 2025-12-21 23:21:27 -08:00
oxmc a648de1043 Update BoardConfig.mk 2025-12-02 10:37:52 -08:00
oxmc ee3762f0fe Move recovery before kernel info 2025-12-02 10:28:50 -08:00
oxmc 29a91cf576 Recovery support (Part 1) 2025-12-02 09:26:21 -08:00
oxmc 83afede4c7 Update mkimg.sh 2025-11-29 15:37:07 -08:00
oxmc c0d1170ebc Update mkimg.sh 2025-11-29 15:35:37 -08:00
oxmc 5c9811edfc Update mkimg.sh 2025-11-29 15:30:14 -08:00
oxmc fb79f9bcef vendor_block_device does not exist, change to system 2025-11-29 15:10:30 -08:00
oxmc 7374f09ad6 Sync with upstream 2025-11-28 23:17:16 -08:00
oxmc 7c4a027c2d Reset to upstream, add my changes 2025-11-17 23:21:36 -08:00
Konsta c4e5943489 overlay: enable desktop mode
* Also add required permission for freeform windows.
2025-11-17 13:37:51 +02:00
Konsta d3b908641d overlay: update qs tiles for AOSP16 QPR1 2025-11-17 13:37:32 +02:00
Konsta b3a5f4f3cc keylayout: update for AOSP16 QPR1
* Changes from frameworks/base/data/keyboards/Generic.kl.
2025-11-17 13:37:07 +02:00
Konsta bd50cc7af3 sepolicy: update for AOSP16 QPR1
* Gets blocked by neverallow rules.
2025-11-17 13:36:59 +02:00
Konsta 6bad1bb773 car: update for AOSP16 QPR1
* liblargeparcelablejni was added to
  packages/services/Car/car_product/build/car_system.mk in AOSP16 QPR1 [1].
* TODO: It seems packages/services/Car/car_product/build/car.mk hasn't been
  kept up-to-date in a while. Look into inheriting partition specific
  configuration instead.

[1]: https://android.googlesource.com/platform/packages/services/Car/+/28dd44d3a708e1c2f49a0529a6e87e3f5fe38fb6
2025-11-17 13:36:47 +02:00
Konsta 5e5a9602ab apex: disable compressed packages
* Decompressing APEX can take couple of minutes on the very first boot.
  For some reason this is significantly slower on AOSP16 than it was
  on AOSP15.
* This takes ~170 MB more space on the system partition which we can
  afford.
2025-11-17 13:36:24 +02:00
Konsta 37b8d116fe overlay: rename car package
* Targets com.android.car.updatable so this should be packagename.rpi.
2025-11-14 10:11:33 +02:00
Konsta a396f66529 overlay: rename bluetooth package
* Targets com.android.bluetooth so this should be packagename.rpi.
2025-11-14 10:11:24 +02:00
Konsta 9be5356185 virtualization: move hypervisor property from cmdline
* This would get parsed into ro.boot property by init's property service
  in any case.
2025-11-14 10:10:56 +02:00
Konsta a048ca6668 wifi: move country code property from cmdline
* This would get parsed into ro.boot property by init's property service
  in any case.
2025-11-14 10:10:28 +02:00
Konsta d892451740 sepolicy: graphics: address some denials
* Labeling vendor allocator libraries became necessary for some reason
  after moving minigbm gralloc to APEX.
* Address remaining drm_hwcomposer denials.
2025-11-10 17:26:35 +02:00