Add Gemini PDA specific changes and hacks

This commit is contained in:
NeKit 2018-02-24 00:33:31 +03:00
parent 8c2c8ce88f
commit ce88c7d5a7
7 changed files with 110 additions and 4 deletions

View file

@ -0,0 +1,26 @@
SUBSYSTEM=="graphics", SYMLINK+="$env{SUBSYSTEM}/%k"
SUBSYSTEM=="block", SYMLINK+="$env{SUBSYSTEM}/%k"
SUBSYSTEM=="oncrpc", SYMLINK+="$env{SUBSYSTEM}/%k"
SUBSYSTEM=="adsp", SYMLINK+="$env{SUBSYSTEM}/%k"
SUBSYSTEM=="mtd", SYMLINK+="$env{SUBSYSTEM}/%k"
SUBSYSTEM=="block", SYMLINK+="$env{SUBSYSTEM}/%k"
SUBSYSTEM=="misc", KERNEL=="log_events", SYMLINK+="alog/events"
SUBSYSTEM=="misc", KERNEL=="log_radio", SYMLINK+="alog/radio"
SUBSYSTEM=="misc", KERNEL=="log_system", SYMLINK+="alog/system"
SUBSYSTEM=="misc", KERNEL=="log_main", SYMLINK+="alog/main"
ENV{ID_PART_ENTRY_SCHEME}=="gpt", ENV{ID_PART_ENTRY_NAME}=="?*", IMPORT{program}="/bin/sh /lib/udev/platform-device $env{DEVPATH}", SYMLINK+="block/platform/$env{ANDROID_BLOCK_DEVICE}/by-name/$env{ID_PART_ENTRY_NAME}"
ENV{ID_PART_ENTRY_SCHEME}=="gpt", ENV{ID_PART_ENTRY_NAME}=="?*", IMPORT{program}="/bin/sh /lib/udev/platform-device $env{DEVPATH}", SYMLINK+="block/bootdevice/by-name/$env{ID_PART_ENTRY_NAME}"
# Temporary hacks
KERNEL=="ashmem", MODE="0666"
KERNEL=="binder", MODE="0666"
KERNEL=="fb0", MODE="0666"
KERNEL=="ion", MODE="0666"
KERNEL=="mtk_disp_mgr", MODE="0666"
KERNEL=="pmsg0", MODE="0666"
KERNEL=="mali0", MODE="0666"
KERNEL=="swsync", MODE="0666"
KERNEL=="mmcblk0", ENV{UDISKS_SYSTEM}="1"

View file

@ -0,0 +1,13 @@
[Unit]
Description=droid-hal-init
Wants=lxc@android.service
After=lxc@android.service
After=local-fs.target systemd-udev-settle.service
Before=graphical.target display-manager.service lightdm.service
[Service]
Type=oneshot
ExecStart=/usr/bin/droid-hal-init
[Install]
WantedBy=multi-user.target

8
usr/bin/droid-hal-init Executable file
View file

@ -0,0 +1,8 @@
#!/bin/sh
# Wait for Android LXC container to start
sleep 10
mount /dev/disk/by-partlabel/nvcfg /nvcfg
mount /dev/disk/by-partlabel/nvdata /nvdata
echo 1 > /dev/wmtWifi

View file

@ -15,6 +15,8 @@ cat ${fstab} | while read line; do
([ -z "$1" ] || [ -z "$2" ] || [ -z "$3" ] || [ -z "$4" ]) && continue ([ -z "$1" ] || [ -z "$2" ] || [ -z "$3" ] || [ -z "$4" ]) && continue
([ "$3" = "emmc" ] || [ "$3" = "swap" ] || [ "$3" = "mtd" ]) && continue ([ "$3" = "emmc" ] || [ "$3" = "swap" ] || [ "$3" = "mtd" ]) && continue
([ "$2" = "/system" ] || [ "$2" = "/data" ]) && continue ([ "$2" = "/system" ] || [ "$2" = "/data" ]) && continue
# For Gemini PDA
([ "$2" = "/nvcfg" ] || [ "$2" = "/nvdata" ]) && continue
label=$(echo $1 | awk -F/ '{print $NF}') label=$(echo $1 | awk -F/ '{print $NF}')
[ -z "$label" ] && continue [ -z "$label" ] && continue

View file

@ -8,7 +8,6 @@ lxc.tty = 4
lxc.pts = 1024 lxc.pts = 1024
lxc.arch = armhf lxc.arch = armhf
lxc.cap.drop = mac_admin mac_override lxc.cap.drop = mac_admin mac_override
lxc.pivotdir = lxc_putold
lxc.hook.pre-start = /var/lib/lxc/android/pre-start.sh lxc.hook.pre-start = /var/lib/lxc/android/pre-start.sh

View file

@ -0,0 +1,52 @@
# 1 "vendor/mediatek/proprietary/hardware/fstab/mt6797/fstab.in"
# 1 "<built-in>"
# 1 "<command-line>"
# 1 "/usr/include/stdc-predef.h" 1 3 4
# 1 "<command-line>" 2
# 1 "vendor/mediatek/proprietary/hardware/fstab/mt6797/fstab.in"
# 26 "vendor/mediatek/proprietary/hardware/fstab/mt6797/fstab.in"
#/dev/block/platform/mtk-msdc.0/11230000.msdc0/by-name/system /system ext4 ro wait,verify
# 38 "vendor/mediatek/proprietary/hardware/fstab/mt6797/fstab.in"
#/dev/block/platform/mtk-msdc.0/11230000.msdc0/by-name/userdata /data ext4 noatime,nosuid,nodev,noauto_da_alloc,discard wait,check,resize,forceencrypt=/dev/block/platform/mtk-msdc.0/11230000.msdc0/by-name/metadata,
#/dev/block/platform/mtk-msdc.0/11230000.msdc0/by-name/cache /cache ext4 noatime,nosuid,nodev,noauto_da_alloc,discard wait,check
#/dev/block/platform/mtk-msdc.0/11230000.msdc0/by-name/protect1 /protect_f ext4 noatime,nosuid,nodev,noauto_da_alloc,commit=1,nodelalloc wait,check,formattable
#/dev/block/platform/mtk-msdc.0/11230000.msdc0/by-name/protect2 /protect_s ext4 noatime,nosuid,nodev,noauto_da_alloc,commit=1,nodelalloc wait,check,formattable
/dev/block/platform/mtk-msdc.0/11230000.msdc0/by-name/nvdata /nvdata ext4 noatime,nosuid,nodev,noauto_da_alloc,discard wait,check,formattable
/dev/block/platform/mtk-msdc.0/11230000.msdc0/by-name/nvcfg /nvcfg ext4 noatime,nosuid,nodev,noauto_da_alloc,commit=1,nodelalloc wait,check,formattable
# 54 "vendor/mediatek/proprietary/hardware/fstab/mt6797/fstab.in"
#/devices/mtk-msdc.0/11230000.msdc0* auto vfat defaults voldmanaged=sdcard0:auto
#/devices/mtk-msdc.0/11240000.msdc1* auto auto defaults voldmanaged=sdcard1:auto,encryptable=userdata
#/devices/soc/11270000.usb3_xhci* auto vfat defaults voldmanaged=usbotg:auto
/devices/platform/musbfsh* auto vfat defaults voldmanaged=usbotg:auto
/dev/block/platform/mtk-msdc.0/11230000.msdc0/by-name/frp /persistent emmc defaults defaults
/dev/block/platform/mtk-msdc.0/11230000.msdc0/by-name/nvram /nvram emmc defaults defaults
/dev/block/platform/mtk-msdc.0/11230000.msdc0/by-name/proinfo /proinfo emmc defaults defaults
/dev/block/platform/mtk-msdc.0/11230000.msdc0/by-name/lk /bootloader emmc defaults defaults
/dev/block/platform/mtk-msdc.0/11230000.msdc0/by-name/lk2 /bootloader2 emmc defaults defaults
/dev/block/platform/mtk-msdc.0/11230000.msdc0/by-name/para /misc emmc defaults defaults
/dev/block/platform/mtk-msdc.0/11230000.msdc0/by-name/boot /boot emmc defaults defaults
/dev/block/platform/mtk-msdc.0/11230000.msdc0/by-name/recovery /recovery emmc defaults defaults
/dev/block/platform/mtk-msdc.0/11230000.msdc0/by-name/logo /logo emmc defaults defaults
/dev/block/platform/mtk-msdc.0/11230000.msdc0/by-name/expdb /expdb emmc defaults defaults
/dev/block/platform/mtk-msdc.0/11230000.msdc0/by-name/seccfg /seccfg emmc defaults defaults
/dev/block/platform/mtk-msdc.0/11230000.msdc0/by-name/tee1 /tee1 emmc defaults defaults
/dev/block/platform/mtk-msdc.0/11230000.msdc0/by-name/tee2 /tee2 emmc defaults defaults
/dev/block/platform/mtk-msdc.0/11230000.msdc0/by-name/scp1 /scp1 emmc defaults defaults
/dev/block/platform/mtk-msdc.0/11230000.msdc0/by-name/scp2 /scp2 emmc defaults defaults
/dev/block/platform/mtk-msdc.0/11230000.msdc0/by-name/md1img /md1img emmc defaults defaults
/dev/block/platform/mtk-msdc.0/11230000.msdc0/by-name/md1dsp /md1dsp emmc defaults defaults
/dev/block/platform/mtk-msdc.0/11230000.msdc0/by-name/md1arm7 /md1arm7 emmc defaults defaults
/dev/block/platform/mtk-msdc.0/11230000.msdc0/by-name/md3img /md3img emmc defaults defaults

View file

@ -13,11 +13,11 @@ mount_android_partitions() {
mkdir -p ${lxc_rootfs_path}/$2 mkdir -p ${lxc_rootfs_path}/$2
mount -n -o bind,recurse $2 ${lxc_rootfs_path}/$2 mount -n -o bind,recurse $2 ${lxc_rootfs_path}/$2
done done
} }
INITRD=/system/boot/android-ramdisk.img INITRD=/system/boot/android-ramdisk.img
rm -Rf $LXC_ROOTFS_PATH mount none -t tmpfs $LXC_ROOTFS_PATH
mkdir -p $LXC_ROOTFS_PATH mkdir -p $LXC_ROOTFS_PATH
cd $LXC_ROOTFS_PATH cd $LXC_ROOTFS_PATH
cat $INITRD | gzip -d | cpio -i cat $INITRD | gzip -d | cpio -i
@ -37,9 +37,15 @@ rm -Rf $LXC_ROOTFS_PATH/vendor
# Mount the android partitions # Mount the android partitions
mount_android_partitions $LXC_ROOTFS_PATH/fstab* "$LXC_ROOTFS_PATH" mount_android_partitions $LXC_ROOTFS_PATH/fstab* "$LXC_ROOTFS_PATH"
umount $LXC_ROOTFS_PATH/nvdata $LXC_ROOTFS_PATH/nvcfg
umount /nvdata /nvcfg
sed -i '/on early-init/a \ mkdir /dev/socket\n\ mount none /socket /dev/socket bind' $LXC_ROOTFS_PATH/init.rc sed -i '/on early-init/a \ mkdir /dev/socket\n\ mount none /socket /dev/socket bind' $LXC_ROOTFS_PATH/init.rc
sed -i "/mount_all /d" $LXC_ROOTFS_PATH/init.*.rc #sed -i "/mount_all /d" $LXC_ROOTFS_PATH/init.*.rc
cp /var/lib/lxc/android/fstab.mt6797 $LXC_ROOTFS_PATH/fstab.mt6797
sed -i "/swapon_all /d" $LXC_ROOTFS_PATH/init.*.rc sed -i "/swapon_all /d" $LXC_ROOTFS_PATH/init.*.rc
sed -i "/on nonencrypted/d" $LXC_ROOTFS_PATH/init.rc sed -i "/on nonencrypted/d" $LXC_ROOTFS_PATH/init.rc
echo 10 > /sys/class/firmware/timeout