First failing attempt at merging together all the various upstreams for this component into something that might do the right things, even the simplest part 'android-rootfs.mount' fails to mount.
This commit is contained in:
parent
2223cf6c2b
commit
45e11800e6
33 changed files with 422 additions and 184 deletions
6
debian/changelog
vendored
6
debian/changelog
vendored
|
|
@ -1,3 +1,9 @@
|
||||||
|
lxc-android (0.2+gemian) buster; urgency=medium
|
||||||
|
|
||||||
|
* Updated for cosmo
|
||||||
|
|
||||||
|
-- Adam Boardman <adamboardman@gmail.com> Wed, 30 Dec 2020 19:15:00 +0000
|
||||||
|
|
||||||
lxc-android (0.1+gemian1) stretch; urgency=medium
|
lxc-android (0.1+gemian1) stretch; urgency=medium
|
||||||
|
|
||||||
* Branched for gemian
|
* Branched for gemian
|
||||||
|
|
|
||||||
2
debian/control
vendored
2
debian/control
vendored
|
|
@ -8,7 +8,7 @@ Homepage: https://github.com/gemian/lxc-android
|
||||||
|
|
||||||
Package: lxc-android
|
Package: lxc-android
|
||||||
Architecture: all
|
Architecture: all
|
||||||
Depends: ${shlibs:Depends}, ${misc:Depends}
|
Depends: ${shlibs:Depends}, ${misc:Depends}, lxc
|
||||||
Description: lxc configuration for starting android
|
Description: lxc configuration for starting android
|
||||||
.
|
.
|
||||||
This package provides the configuration for starting android in lxc
|
This package provides the configuration for starting android in lxc
|
||||||
|
|
|
||||||
1
debian/lxc-android.install
vendored
1
debian/lxc-android.install
vendored
|
|
@ -1,4 +1,3 @@
|
||||||
etc/*
|
|
||||||
usr/*
|
usr/*
|
||||||
var/*
|
var/*
|
||||||
lib/*
|
lib/*
|
||||||
|
|
|
||||||
13
debian/lxc-android.service
vendored
Normal file
13
debian/lxc-android.service
vendored
Normal file
|
|
@ -0,0 +1,13 @@
|
||||||
|
[Unit]
|
||||||
|
Description=LXC Android Config and Container Initialization
|
||||||
|
After=android-rootfs.mount
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=forking
|
||||||
|
ExecStartPre=/usr/lib/lxc-android/copy-udev-unflipped
|
||||||
|
ExecStart=/usr/bin/lxc-start -n android -d -- /init
|
||||||
|
ExecStartPost=/usr/lib/lxc-android/lxc-android-ready
|
||||||
|
ExecStop=/usr/bin/lxc-stop -n android -k
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
||||||
2
debian/rules
vendored
2
debian/rules
vendored
|
|
@ -1,4 +1,4 @@
|
||||||
#!/usr/bin/make -f
|
#!/usr/bin/make -f
|
||||||
|
|
||||||
%:
|
%:
|
||||||
dh $@
|
dh $@ --with systemd
|
||||||
|
|
|
||||||
|
|
@ -1,4 +0,0 @@
|
||||||
[Service]
|
|
||||||
TimeoutStopSec=5s
|
|
||||||
ExecStop=
|
|
||||||
ExecStop=/usr/bin/lxc-stop -k -n android
|
|
||||||
|
|
@ -1,5 +0,0 @@
|
||||||
[Unit]
|
|
||||||
RequiresMountsFor=/system
|
|
||||||
|
|
||||||
[Service]
|
|
||||||
ExecStartPre=-/usr/lib/lxc-android/copy-udev-rules
|
|
||||||
|
|
@ -1,15 +0,0 @@
|
||||||
[Unit]
|
|
||||||
Description=adbd
|
|
||||||
Wants=local-fs.target
|
|
||||||
After=local-fs.target lxc@android.service systemd-udevd.service
|
|
||||||
|
|
||||||
[Service]
|
|
||||||
Type=simple
|
|
||||||
Restart=on-failure
|
|
||||||
SuccessExitStatus=0 127
|
|
||||||
ExecStartPre=/usr/lib/android-tools-adbd/pre-start
|
|
||||||
ExecStart=/usr/bin/adbd
|
|
||||||
ExecStopPost=/usr/bin/unlink /dev/socket/adbd
|
|
||||||
|
|
||||||
[Install]
|
|
||||||
WantedBy=multi-user.target
|
|
||||||
|
|
@ -1,11 +0,0 @@
|
||||||
[Unit]
|
|
||||||
Description=mount android parts
|
|
||||||
After=system.mount systemd-udev-settle.service
|
|
||||||
Wants=systemd-udev-settle.service
|
|
||||||
|
|
||||||
[Service]
|
|
||||||
Type=oneshot
|
|
||||||
ExecStart=/usr/lib/lxc-android/mount-android
|
|
||||||
|
|
||||||
[Install]
|
|
||||||
RequiredBy=local-fs.target
|
|
||||||
16
lib/systemd/system/android-rootfs.mount
Normal file
16
lib/systemd/system/android-rootfs.mount
Normal file
|
|
@ -0,0 +1,16 @@
|
||||||
|
[Unit]
|
||||||
|
Description=Mount android-rootfs.img
|
||||||
|
Before=lxc-android.service
|
||||||
|
|
||||||
|
[Mount]
|
||||||
|
What=/var/lib/lxc/android/android-rootfs.img
|
||||||
|
Where=/var/lib/lxc/android/rootfs
|
||||||
|
Type=ext2
|
||||||
|
Options=ro,noatime
|
||||||
|
|
||||||
|
# Default is 90 which makes mount period too long in case of
|
||||||
|
# errors so drop it down a notch.
|
||||||
|
TimeoutSec=10
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=local-fs.target
|
||||||
|
|
@ -1,13 +0,0 @@
|
||||||
[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
|
|
||||||
|
|
@ -1,10 +0,0 @@
|
||||||
[Unit]
|
|
||||||
Description=mount system.img
|
|
||||||
|
|
||||||
[Mount]
|
|
||||||
What=/data/system.img
|
|
||||||
Where=/system
|
|
||||||
Options=ro
|
|
||||||
|
|
||||||
[Install]
|
|
||||||
RequiredBy=local-fs.target
|
|
||||||
|
|
@ -12,7 +12,7 @@ ACTION=="add", KERNEL=="binder", MODE="0666"
|
||||||
SUBSYSTEM=="graphics", KERNEL=="*", SYMLINK+="graphics/%k"
|
SUBSYSTEM=="graphics", KERNEL=="*", SYMLINK+="graphics/%k"
|
||||||
|
|
||||||
# input devices
|
# input devices
|
||||||
ACTION=="add", KERNEL=="event[0-9]*", GROUP="android_input", MODE="0660"
|
ACTION=="add", KERNEL=="event[0-9]*", GROUP="aid_input", MODE="0660"
|
||||||
|
|
||||||
# misc devices
|
# misc devices
|
||||||
ACTION=="add", KERNEL=="alarm", OWNER="system", GROUP="users", MODE="0660"
|
ACTION=="add", KERNEL=="alarm", OWNER="system", GROUP="users", MODE="0660"
|
||||||
|
|
@ -22,5 +22,3 @@ ACTION=="add", KERNEL=="mtp_usb", OWNER="root", GROUP="plugdev", MODE="0660"
|
||||||
# memory
|
# memory
|
||||||
ACTION=="add", KERNEL=="ashmem", OWNER="system", GROUP="system", MODE="0666"
|
ACTION=="add", KERNEL=="ashmem", OWNER="system", GROUP="system", MODE="0666"
|
||||||
|
|
||||||
# rfkill
|
|
||||||
ACTION=="add", KERNEL=="rfkill", GROUP="android_input", MODE="0660"
|
|
||||||
|
|
|
||||||
2
lib/udev/rules.d/85-android.rules
Normal file
2
lib/udev/rules.d/85-android.rules
Normal file
|
|
@ -0,0 +1,2 @@
|
||||||
|
# rfkill
|
||||||
|
ACTION=="add", KERNEL=="rfkill", GROUP="aid_input", MODE="0660"
|
||||||
|
|
@ -1,8 +0,0 @@
|
||||||
#!/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
|
|
||||||
24
usr/bin/ssh-keygen.sh
Normal file
24
usr/bin/ssh-keygen.sh
Normal file
|
|
@ -0,0 +1,24 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# Sometimes /etc/ssh isn't writable when the ssh job starts. Also, for some
|
||||||
|
# reason we can't rely on the 'mounted /etc/ssh' event, it doesn't always fire.
|
||||||
|
# This script works around both of those problems.
|
||||||
|
wait_for_writable() {
|
||||||
|
while [ ! $WRITABLE ]; do
|
||||||
|
touch /etc/ssh/testfile && {
|
||||||
|
rm /etc/ssh/testfile
|
||||||
|
WRITABLE=true
|
||||||
|
break
|
||||||
|
}
|
||||||
|
sleep 1
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
if [ ! -e /etc/ssh/ssh_host_rsa_key ]; then
|
||||||
|
wait_for_writable
|
||||||
|
ssh-keygen -f /etc/ssh/ssh_host_rsa_key -N '' -t rsa
|
||||||
|
fi
|
||||||
|
if [ ! -e /etc/ssh/ssh_host_dsa_key ]; then
|
||||||
|
wait_for_writable
|
||||||
|
ssh-keygen -f /etc/ssh/ssh_host_dsa_key -N '' -t dsa
|
||||||
|
fi
|
||||||
|
|
@ -1,18 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
|
|
||||||
if [ -d /sys/class/android_usb ]; then
|
|
||||||
if [ -d /sys/class/android_usb/android0/f_ffs ] && [ -n "$(cat /sys/class/android_usb/android0/f_ffs/aliases)" ]; then
|
|
||||||
if ! $(mount|grep -q ^adb); then
|
|
||||||
# some devices use the functionfs (i.e. manta)
|
|
||||||
# we need to mount it to keep adb working
|
|
||||||
mkdir -p /dev/usb-ffs/adb
|
|
||||||
mount -t functionfs adb /dev/usb-ffs/adb || true
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo 0 >/sys/class/android_usb/android0/enable
|
|
||||||
echo -n 18d1 >/sys/class/android_usb/android0/idVendor
|
|
||||||
echo -n D002 >/sys/class/android_usb/android0/idProduct
|
|
||||||
echo -n adb >/sys/class/android_usb/android0/functions
|
|
||||||
echo 1 >/sys/class/android_usb/android0/enable
|
|
||||||
148
usr/lib/lxc-android/70-Cosmo_Communicator.rules
Normal file
148
usr/lib/lxc-android/70-Cosmo_Communicator.rules
Normal file
|
|
@ -0,0 +1,148 @@
|
||||||
|
ACTION=="add", KERNEL=="block/mmcblk0", OWNER="root", GROUP="system", MODE="0660"
|
||||||
|
ACTION=="add", KERNEL=="block/mmcblk0boot0", OWNER="root", GROUP="system", MODE="0660"
|
||||||
|
ACTION=="add", KERNEL=="block/mmcblk0boot1", OWNER="root", GROUP="system", MODE="0660"
|
||||||
|
ACTION=="add", KERNEL=="misc-sd", OWNER="root", GROUP="system", MODE="0660"
|
||||||
|
ACTION=="add", KERNEL=="block/sda", OWNER="root", GROUP="system", MODE="0660"
|
||||||
|
ACTION=="add", KERNEL=="block/sdb", OWNER="root", GROUP="system", MODE="0660"
|
||||||
|
ACTION=="add", KERNEL=="block/sdc", OWNER="root", GROUP="system", MODE="0660"
|
||||||
|
ACTION=="add", KERNEL=="block/platform/bootdevice/by-name/misc2", OWNER="root", GROUP="system", MODE="0660"
|
||||||
|
ACTION=="add", KERNEL=="block/platform/bootdevice/by-name/boot", OWNER="root", GROUP="system", MODE="0640"
|
||||||
|
ACTION=="add", KERNEL=="block/platform/bootdevice/by-name/recovery", OWNER="root", GROUP="system", MODE="0640"
|
||||||
|
ACTION=="add", KERNEL=="block/platform/bootdevice/by-name/secro", OWNER="root", GROUP="system", MODE="0640"
|
||||||
|
ACTION=="add", KERNEL=="block/platform/bootdevice/by-name/seccfg", OWNER="root", GROUP="system", MODE="0660"
|
||||||
|
ACTION=="add", KERNEL=="block/platform/bootdevice/by-name/proinfo", OWNER="root", GROUP="system", MODE="0660"
|
||||||
|
ACTION=="add", KERNEL=="block/platform/bootdevice/by-name/nvram", OWNER="root", GROUP="system", MODE="0660"
|
||||||
|
ACTION=="add", KERNEL=="block/platform/bootdevice/by-name/para", OWNER="root", GROUP="system", MODE="0660"
|
||||||
|
ACTION=="add", KERNEL=="block/platform/bootdevice/by-name/logo", OWNER="root", GROUP="system", MODE="0660"
|
||||||
|
ACTION=="add", KERNEL=="block/platform/bootdevice/by-name/frp", OWNER="root", GROUP="system", MODE="0660"
|
||||||
|
ACTION=="add", KERNEL=="block/platform/bootdevice/by-name/md1img", OWNER="root", GROUP="system", MODE="0640"
|
||||||
|
ACTION=="add", KERNEL=="block/platform/bootdevice/by-name/md1img_a", OWNER="root", GROUP="system", MODE="0640"
|
||||||
|
ACTION=="add", KERNEL=="block/platform/bootdevice/by-name/md1img_b", OWNER="root", GROUP="system", MODE="0640"
|
||||||
|
ACTION=="add", KERNEL=="block/platform/bootdevice/by-name/md1dsp", OWNER="root", GROUP="system", MODE="0660"
|
||||||
|
ACTION=="add", KERNEL=="block/platform/bootdevice/by-name/boot_para", OWNER="root", GROUP="system", MODE="0640"
|
||||||
|
ACTION=="add", KERNEL=="otp", OWNER="system", GROUP="system", MODE="0660"
|
||||||
|
ACTION=="add", KERNEL=="block/platform/bootdevice/by-name/otp", OWNER="root", GROUP="system", MODE="0660"
|
||||||
|
ACTION=="add", KERNEL=="stpwmt", OWNER="system", GROUP="system", MODE="0660"
|
||||||
|
ACTION=="add", KERNEL=="wmtdetect", OWNER="system", GROUP="system", MODE="0660"
|
||||||
|
ACTION=="add", KERNEL=="stpbt", OWNER="bluetooth", GROUP="bluetooth", MODE="0660"
|
||||||
|
ACTION=="add", KERNEL=="stpgps", OWNER="gps", GROUP="gps", MODE="0660"
|
||||||
|
ACTION=="add", KERNEL=="gps", OWNER="gps", GROUP="system", MODE="0660"
|
||||||
|
ACTION=="add", KERNEL=="stpant", OWNER="system", GROUP="system", MODE="0660"
|
||||||
|
ACTION=="add", KERNEL=="wmtWifi", OWNER="wifi", GROUP="wifi", MODE="0660"
|
||||||
|
ACTION=="add", KERNEL=="fm", OWNER="media", GROUP="media", MODE="0660"
|
||||||
|
ACTION=="add", KERNEL=="msr3110", OWNER="root", GROUP="root", MODE="0666"
|
||||||
|
ACTION=="add", KERNEL=="mt6605", OWNER="nfc", GROUP="radio", MODE="0660"
|
||||||
|
ACTION=="add", KERNEL=="st21nfc", OWNER="nfc", GROUP="radio", MODE="0660"
|
||||||
|
ACTION=="add", KERNEL=="btif", OWNER="system", GROUP="system", MODE="0600"
|
||||||
|
ACTION=="add", KERNEL=="trusty-ipc-dev0", OWNER="system", GROUP="system", MODE="0660"
|
||||||
|
ACTION=="add", KERNEL=="block/mmcblk0rpmb", OWNER="root", GROUP="system", MODE="0660"
|
||||||
|
ACTION=="add", KERNEL=="mobicore", OWNER="system", GROUP="system", MODE="0600"
|
||||||
|
ACTION=="add", KERNEL=="mobicore-user", OWNER="system", GROUP="system", MODE="0666"
|
||||||
|
ACTION=="add", KERNEL=="t-base-tui", OWNER="system", GROUP="system", MODE="0666"
|
||||||
|
ACTION=="add", KERNEL=="bus/usb/*", OWNER="root", GROUP="usb", MODE="0660"
|
||||||
|
ACTION=="add", KERNEL=="ttyUSB0", OWNER="radio", GROUP="radio", MODE="0660"
|
||||||
|
ACTION=="add", KERNEL=="ttyUSB1", OWNER="radio", GROUP="radio", MODE="0660"
|
||||||
|
ACTION=="add", KERNEL=="ttyUSB2", OWNER="radio", GROUP="radio", MODE="0660"
|
||||||
|
ACTION=="add", KERNEL=="ttyUSB3", OWNER="radio", GROUP="radio", MODE="0660"
|
||||||
|
ACTION=="add", KERNEL=="ttyUSB4", OWNER="radio", GROUP="radio", MODE="0660"
|
||||||
|
ACTION=="add", KERNEL=="log/ksystem", OWNER="root", GROUP="log", MODE="0600"
|
||||||
|
ACTION=="add", KERNEL=="ccci*", OWNER="radio", GROUP="radio", MODE="0660"
|
||||||
|
ACTION=="add", KERNEL=="ttyC*", OWNER="radio", GROUP="radio", MODE="0660"
|
||||||
|
ACTION=="add", KERNEL=="eemcs*", OWNER="radio", GROUP="radio", MODE="0660"
|
||||||
|
ACTION=="add", KERNEL=="emd*", OWNER="radio", GROUP="radio", MODE="0660"
|
||||||
|
ACTION=="add", KERNEL=="ccci_pcm_rx", OWNER="audio", GROUP="audio", MODE="0660"
|
||||||
|
ACTION=="add", KERNEL=="ccci_pcm_tx", OWNER="audio", GROUP="audio", MODE="0660"
|
||||||
|
ACTION=="add", KERNEL=="ccci_aud", OWNER="audio", GROUP="audio", MODE="0660"
|
||||||
|
ACTION=="add", KERNEL=="ccci2_aud", OWNER="audio", GROUP="audio", MODE="0660"
|
||||||
|
ACTION=="add", KERNEL=="ccci3_aud", OWNER="audio", GROUP="audio", MODE="0660"
|
||||||
|
ACTION=="add", KERNEL=="ccci_raw_audio", OWNER="audio", GROUP="audio", MODE="0660"
|
||||||
|
ACTION=="add", KERNEL=="ccci3_raw_audio", OWNER="audio", GROUP="audio", MODE="0660"
|
||||||
|
ACTION=="add", KERNEL=="eemcs_aud", OWNER="audio", GROUP="audio", MODE="0660"
|
||||||
|
ACTION=="add", KERNEL=="irtx", OWNER="system", GROUP="system", MODE="0660"
|
||||||
|
ACTION=="add", KERNEL=="ir-learning", OWNER="system", GROUP="system", MODE="0660"
|
||||||
|
ACTION=="add", KERNEL=="pvrsrvkm", OWNER="root", GROUP="root", MODE="0666"
|
||||||
|
ACTION=="add", KERNEL=="pvr_sync", OWNER="root", GROUP="root", MODE="0666"
|
||||||
|
ACTION=="add", KERNEL=="mtgpio", OWNER="radio", GROUP="root", MODE="0600"
|
||||||
|
ACTION=="add", KERNEL=="ttySDIO*", OWNER="radio", GROUP="sdcard_rw", MODE="0660"
|
||||||
|
ACTION=="add", KERNEL=="ttyRB*", OWNER="radio", GROUP="radio", MODE="0660"
|
||||||
|
ACTION=="add", KERNEL=="mali", OWNER="system", GROUP="graphics", MODE="0666"
|
||||||
|
ACTION=="add", KERNEL=="ion", OWNER="system", GROUP="graphics", MODE="0666"
|
||||||
|
ACTION=="add", KERNEL=="touch", OWNER="root", GROUP="system", MODE="0660"
|
||||||
|
ACTION=="add", KERNEL=="hotknot", OWNER="root", GROUP="system", MODE="0660"
|
||||||
|
ACTION=="add", KERNEL=="RT_Monitor", OWNER="system", GROUP="system", MODE="0600"
|
||||||
|
ACTION=="add", KERNEL=="kick_powerkey", OWNER="system", GROUP="system", MODE="0600"
|
||||||
|
ACTION=="add", KERNEL=="ttyACM0", OWNER="radio", GROUP="radio", MODE="0660"
|
||||||
|
ACTION=="add", KERNEL=="tkcoredrv", OWNER="root", GROUP="root", MODE="0666"
|
||||||
|
ACTION=="add", KERNEL=="null", OWNER="root", GROUP="root", MODE="0666"
|
||||||
|
ACTION=="add", KERNEL=="zero", OWNER="root", GROUP="root", MODE="0666"
|
||||||
|
ACTION=="add", KERNEL=="full", OWNER="root", GROUP="root", MODE="0666"
|
||||||
|
ACTION=="add", KERNEL=="ptmx", OWNER="root", GROUP="root", MODE="0666"
|
||||||
|
ACTION=="add", KERNEL=="tty", OWNER="root", GROUP="root", MODE="0666"
|
||||||
|
ACTION=="add", KERNEL=="random", OWNER="root", GROUP="root", MODE="0666"
|
||||||
|
ACTION=="add", KERNEL=="urandom", OWNER="root", GROUP="root", MODE="0666"
|
||||||
|
ACTION=="add", KERNEL=="hw_random", OWNER="root", GROUP="system", MODE="0440"
|
||||||
|
ACTION=="add", KERNEL=="ashmem", OWNER="root", GROUP="root", MODE="0666"
|
||||||
|
ACTION=="add", KERNEL=="binder", OWNER="root", GROUP="root", MODE="0666"
|
||||||
|
ACTION=="add", KERNEL=="hwbinder", OWNER="root", GROUP="root", MODE="0666"
|
||||||
|
ACTION=="add", KERNEL=="vndbinder", OWNER="root", GROUP="root", MODE="0666"
|
||||||
|
ACTION=="add", KERNEL=="pmsg0", OWNER="root", GROUP="log", MODE="0222"
|
||||||
|
ACTION=="add", KERNEL=="msm_hw3dc", OWNER="root", GROUP="root", MODE="0666"
|
||||||
|
ACTION=="add", KERNEL=="kgsl", OWNER="root", GROUP="root", MODE="0666"
|
||||||
|
ACTION=="add", KERNEL=="dri/*", OWNER="root", GROUP="graphics", MODE="0666"
|
||||||
|
ACTION=="add", KERNEL=="diag", OWNER="radio", GROUP="radio", MODE="0660"
|
||||||
|
ACTION=="add", KERNEL=="diag_arm9", OWNER="radio", GROUP="radio", MODE="0660"
|
||||||
|
ACTION=="add", KERNEL=="ttyMSM0", OWNER="bluetooth", GROUP="bluetooth", MODE="0600"
|
||||||
|
ACTION=="add", KERNEL=="uhid", OWNER="uhid", GROUP="uhid", MODE="0660"
|
||||||
|
ACTION=="add", KERNEL=="uinput", OWNER="system", GROUP="bluetooth", MODE="0660"
|
||||||
|
ACTION=="add", KERNEL=="alarm", OWNER="system", GROUP="radio", MODE="0664"
|
||||||
|
ACTION=="add", KERNEL=="rtc0", OWNER="system", GROUP="system", MODE="0640"
|
||||||
|
ACTION=="add", KERNEL=="tty0", OWNER="root", GROUP="system", MODE="0660"
|
||||||
|
ACTION=="add", KERNEL=="graphics/*", OWNER="root", GROUP="graphics", MODE="0660"
|
||||||
|
ACTION=="add", KERNEL=="msm_hw3dm", OWNER="system", GROUP="graphics", MODE="0660"
|
||||||
|
ACTION=="add", KERNEL=="input/*", OWNER="root", GROUP="input", MODE="0660"
|
||||||
|
ACTION=="add", KERNEL=="v4l-touch*", OWNER="root", GROUP="input", MODE="0660"
|
||||||
|
ACTION=="add", KERNEL=="eac", OWNER="root", GROUP="audio", MODE="0660"
|
||||||
|
ACTION=="add", KERNEL=="cam", OWNER="root", GROUP="camera", MODE="0660"
|
||||||
|
ACTION=="add", KERNEL=="pmem", OWNER="system", GROUP="graphics", MODE="0660"
|
||||||
|
ACTION=="add", KERNEL=="pmem_adsp*", OWNER="system", GROUP="audio", MODE="0660"
|
||||||
|
ACTION=="add", KERNEL=="pmem_camera*", OWNER="system", GROUP="camera", MODE="0660"
|
||||||
|
ACTION=="add", KERNEL=="oncrpc/*", OWNER="root", GROUP="system", MODE="0660"
|
||||||
|
ACTION=="add", KERNEL=="adsp/*", OWNER="system", GROUP="audio", MODE="0660"
|
||||||
|
ACTION=="add", KERNEL=="snd/*", OWNER="system", GROUP="audio", MODE="0660"
|
||||||
|
ACTION=="add", KERNEL=="mt9t013", OWNER="system", GROUP="system", MODE="0660"
|
||||||
|
ACTION=="add", KERNEL=="msm_camera/*", OWNER="system", GROUP="system", MODE="0660"
|
||||||
|
ACTION=="add", KERNEL=="akm8976_daemon", OWNER="compass", GROUP="system", MODE="0640"
|
||||||
|
ACTION=="add", KERNEL=="akm8976_aot", OWNER="compass", GROUP="system", MODE="0640"
|
||||||
|
ACTION=="add", KERNEL=="akm8973_daemon", OWNER="compass", GROUP="system", MODE="0640"
|
||||||
|
ACTION=="add", KERNEL=="akm8973_aot", OWNER="compass", GROUP="system", MODE="0640"
|
||||||
|
ACTION=="add", KERNEL=="bma150", OWNER="compass", GROUP="system", MODE="0640"
|
||||||
|
ACTION=="add", KERNEL=="cm3602", OWNER="compass", GROUP="system", MODE="0640"
|
||||||
|
ACTION=="add", KERNEL=="akm8976_pffd", OWNER="compass", GROUP="system", MODE="0640"
|
||||||
|
ACTION=="add", KERNEL=="lightsensor", OWNER="system", GROUP="system", MODE="0640"
|
||||||
|
ACTION=="add", KERNEL=="msm_pcm_out*", OWNER="system", GROUP="audio", MODE="0660"
|
||||||
|
ACTION=="add", KERNEL=="msm_pcm_in*", OWNER="system", GROUP="audio", MODE="0660"
|
||||||
|
ACTION=="add", KERNEL=="msm_pcm_ctl*", OWNER="system", GROUP="audio", MODE="0660"
|
||||||
|
ACTION=="add", KERNEL=="msm_snd*", OWNER="system", GROUP="audio", MODE="0660"
|
||||||
|
ACTION=="add", KERNEL=="msm_mp3*", OWNER="system", GROUP="audio", MODE="0660"
|
||||||
|
ACTION=="add", KERNEL=="audience_a1026*", OWNER="system", GROUP="audio", MODE="0660"
|
||||||
|
ACTION=="add", KERNEL=="tpa2018d1*", OWNER="system", GROUP="audio", MODE="0660"
|
||||||
|
ACTION=="add", KERNEL=="msm_audpre", OWNER="system", GROUP="audio", MODE="0660"
|
||||||
|
ACTION=="add", KERNEL=="msm_audio_ctl", OWNER="system", GROUP="audio", MODE="0660"
|
||||||
|
ACTION=="add", KERNEL=="htc-acoustic", OWNER="system", GROUP="audio", MODE="0660"
|
||||||
|
ACTION=="add", KERNEL=="vdec", OWNER="system", GROUP="audio", MODE="0660"
|
||||||
|
ACTION=="add", KERNEL=="q6venc", OWNER="system", GROUP="audio", MODE="0660"
|
||||||
|
ACTION=="add", KERNEL=="snd/dsp", OWNER="system", GROUP="audio", MODE="0660"
|
||||||
|
ACTION=="add", KERNEL=="snd/dsp1", OWNER="system", GROUP="audio", MODE="0660"
|
||||||
|
ACTION=="add", KERNEL=="snd/mixer", OWNER="system", GROUP="audio", MODE="0660"
|
||||||
|
ACTION=="add", KERNEL=="smd0", OWNER="radio", GROUP="radio", MODE="0640"
|
||||||
|
ACTION=="add", KERNEL=="qmi", OWNER="radio", GROUP="radio", MODE="0640"
|
||||||
|
ACTION=="add", KERNEL=="qmi0", OWNER="radio", GROUP="radio", MODE="0640"
|
||||||
|
ACTION=="add", KERNEL=="qmi1", OWNER="radio", GROUP="radio", MODE="0640"
|
||||||
|
ACTION=="add", KERNEL=="qmi2", OWNER="radio", GROUP="radio", MODE="0640"
|
||||||
|
ACTION=="add", KERNEL=="bus/usb/*", OWNER="root", GROUP="usb", MODE="0660"
|
||||||
|
ACTION=="add", KERNEL=="mtp_usb", OWNER="root", GROUP="mtp", MODE="0660"
|
||||||
|
ACTION=="add", KERNEL=="usb_accessory", OWNER="root", GROUP="usb", MODE="0660"
|
||||||
|
ACTION=="add", KERNEL=="tun", OWNER="system", GROUP="vpn", MODE="0660"
|
||||||
|
ACTION=="add", KERNEL=="ts0710mux*", OWNER="radio", GROUP="radio", MODE="0640"
|
||||||
|
ACTION=="add", KERNEL=="ppp", OWNER="radio", GROUP="vpn", MODE="0660"
|
||||||
|
ACTION=="add", KERNEL=="dvb*", OWNER="root", GROUP="system", MODE="0660"
|
||||||
1
usr/lib/lxc-android/80-keyboard-Cosmo_Communicator.rules
Normal file
1
usr/lib/lxc-android/80-keyboard-Cosmo_Communicator.rules
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
SUBSYSTEM=="input", ATTRS{name}=="Integrated keyboard", ENV{XKBMODEL}="planetcosmo"
|
||||||
|
|
@ -1,6 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
|
|
||||||
# if device have /system partition have udev rules, use it
|
|
||||||
device=$(grep ^ro.product.device= /system/build.prop |sed -e 's/.*=//')
|
|
||||||
[ -e /lib/udev/rules.d/70-$device.rules ] || \
|
|
||||||
cp /usr/lib/lxc-android/70-$device.rules /lib/udev/rules.d/
|
|
||||||
16
usr/lib/lxc-android/copy-udev-unflipped
Executable file
16
usr/lib/lxc-android/copy-udev-unflipped
Executable file
|
|
@ -0,0 +1,16 @@
|
||||||
|
#!/bin/sh -e
|
||||||
|
|
||||||
|
# Read-only flipped model doesn't need all this
|
||||||
|
[ -d /android ] && exit 0
|
||||||
|
|
||||||
|
/usr/lib/lxc-android/update-fstab
|
||||||
|
grep -q " /data" /proc/mounts 2>/dev/null || mount /data
|
||||||
|
grep -q " /system" /proc/mounts 2>/dev/null || mount /system
|
||||||
|
grep -q " /vendor" /proc/mounts 2>/dev/null || mount /vendor
|
||||||
|
grep -q " /persist" /proc/mounts 2>/dev/null || mount /persist || true
|
||||||
|
[ -e /lib/modules ] || ln -s /system/lib/modules /lib/modules
|
||||||
|
device=$(grep ^ro.product.device= /system/build.prop |sed -e 's/.*=//')
|
||||||
|
[ -e /lib/udev/rules.d/70-$device.rules ] || \
|
||||||
|
cp /usr/lib/lxc-android/70-$device.rules /lib/udev/rules.d/
|
||||||
|
[ -e /lib/udev/rules.d/80-keyboard-$device.rules ] || \
|
||||||
|
cp /usr/lib/lxc-android/80-keyboard-$device.rules /lib/udev/rules.d/
|
||||||
20
usr/lib/lxc-android/lxc-android-ready
Executable file
20
usr/lib/lxc-android/lxc-android-ready
Executable file
|
|
@ -0,0 +1,20 @@
|
||||||
|
#!/bin/sh -e
|
||||||
|
|
||||||
|
lxc-wait -n android -s RUNNING -t 30
|
||||||
|
containerpid="$(lxc-info -n android -p -H)"
|
||||||
|
if [ -n "$containerpid" ]; then
|
||||||
|
while true; do
|
||||||
|
[ -f /proc/$containerpid/root/dev/.coldboot_done ] && break
|
||||||
|
sleep 0.1
|
||||||
|
done
|
||||||
|
|
||||||
|
# Allow custom properties before announcing that the boot is completed
|
||||||
|
if [ -f /custom/custom.prop ]; then
|
||||||
|
while [ ! -e /dev/socket/property_service ]; do sleep 0.1; done
|
||||||
|
grep "^custom\." /custom/custom.prop | sed 's/=/ /' | while read property value; do
|
||||||
|
setprop $property $value
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
@ -1,41 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
|
|
||||||
INITRD=/system/boot/android-ramdisk.img
|
|
||||||
rm -Rf /tmp/android/
|
|
||||||
mkdir -p /tmp/android/
|
|
||||||
cd /tmp/android/
|
|
||||||
cat $INITRD | gzip -d | cpio -i
|
|
||||||
|
|
||||||
fstab=/tmp/android/fstab*
|
|
||||||
|
|
||||||
cat ${fstab} | while read line; do
|
|
||||||
set -- $line
|
|
||||||
# Skip any unwanted entry
|
|
||||||
echo $1 | egrep -q "^#" && continue
|
|
||||||
([ -z "$1" ] || [ -z "$2" ] || [ -z "$3" ] || [ -z "$4" ]) && continue
|
|
||||||
([ "$3" = "emmc" ] || [ "$3" = "swap" ] || [ "$3" = "mtd" ]) && continue
|
|
||||||
([ "$2" = "/system" ] || [ "$2" = "/data" ]) && continue
|
|
||||||
# For Gemini PDA
|
|
||||||
([ "$2" = "/nvcfg" ] || [ "$2" = "/nvdata" ]) && continue
|
|
||||||
|
|
||||||
label=$(echo $1 | awk -F/ '{print $NF}')
|
|
||||||
[ -z "$label" ] && continue
|
|
||||||
|
|
||||||
# In case fstab provides /dev/mmcblk0p* lines
|
|
||||||
path="/dev/$label"
|
|
||||||
for dir in by-partlabel by-name by-label by-path by-uuid by-partuuid by-id; do
|
|
||||||
if [ -e "/dev/disk/$dir/$label" ]; then
|
|
||||||
path="/dev/disk/$dir/$label"
|
|
||||||
break
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
[ ! -e "$path" ] && continue
|
|
||||||
|
|
||||||
mkdir -p $2
|
|
||||||
mount $path $2 -t $3 -o $4
|
|
||||||
|
|
||||||
done
|
|
||||||
|
|
||||||
# check if vendor is mounted/created? otherwise link it to system
|
|
||||||
[ -e "/vendor" ] || ln -s /system/vendor /vendor
|
|
||||||
100
usr/lib/lxc-android/update-fstab
Executable file
100
usr/lib/lxc-android/update-fstab
Executable file
|
|
@ -0,0 +1,100 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
mountpoints="system data factory persist"
|
||||||
|
|
||||||
|
syslabels="FACTORYFS APP system SYSTEM"
|
||||||
|
datalabels="DATAFS UDA userdata USERDATA"
|
||||||
|
factorylabels="EFS efs"
|
||||||
|
persistlabels="persist"
|
||||||
|
|
||||||
|
mountopts="noatime,nodiratime,errors=remount-ro"
|
||||||
|
romountopts="ro,${mountopts}"
|
||||||
|
bindmountopts="ro,bind"
|
||||||
|
persistopts="rw,nosuid,nodev,relatime,nodelalloc,data=ordered"
|
||||||
|
|
||||||
|
if grep -q "^[a-z0-9/]*./system" /etc/fstab || \
|
||||||
|
grep -q "^[a-z0-9/]*./data" /etc/fstab; then
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
tmpfile=$(mktemp /tmp/fstab.XXX)
|
||||||
|
|
||||||
|
cleanup()
|
||||||
|
{
|
||||||
|
case $? in
|
||||||
|
0)
|
||||||
|
mv $tmpfile /etc/fstab
|
||||||
|
chmod 644 /etc/fstab
|
||||||
|
echo "success"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
rm -rf $tmpfile
|
||||||
|
echo "failed"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
trap cleanup EXIT INT QUIT ILL KILL SEGV TERM
|
||||||
|
|
||||||
|
# logging
|
||||||
|
log=/var/log/lxc-android-boot.log
|
||||||
|
exec 3>&1 4>&2 >$log 2>&1
|
||||||
|
|
||||||
|
# prepare working file
|
||||||
|
cp /etc/fstab $tmpfile
|
||||||
|
echo >>$tmpfile
|
||||||
|
|
||||||
|
|
||||||
|
for mount in $mountpoints; do
|
||||||
|
path=$diskpath
|
||||||
|
fs="ext4"
|
||||||
|
part=""
|
||||||
|
|
||||||
|
# make sure the mountpoint exists at all
|
||||||
|
[ -e "/$mount" ] || mkdir -p /$mount
|
||||||
|
|
||||||
|
# different options per mountpioint
|
||||||
|
case $mount in
|
||||||
|
system)
|
||||||
|
labels=$syslabels
|
||||||
|
options=$romountopts
|
||||||
|
;;
|
||||||
|
data)
|
||||||
|
labels=$datalabels
|
||||||
|
options=$mountopts
|
||||||
|
;;
|
||||||
|
factory)
|
||||||
|
labels=$factorylabels
|
||||||
|
options=$romountopts
|
||||||
|
;;
|
||||||
|
persist)
|
||||||
|
labels=$persistlabels
|
||||||
|
options=$persistopts
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
disk=""
|
||||||
|
for partname in $labels; do
|
||||||
|
diskpaths=$(find /dev -type l -name ${partname}|head -1)
|
||||||
|
for diskpath in $diskpaths; do
|
||||||
|
disk=$(readlink -f ${diskpath})
|
||||||
|
[ -b "$disk" ] && break
|
||||||
|
done
|
||||||
|
done
|
||||||
|
case $diskpath in
|
||||||
|
*EFS)
|
||||||
|
mount="efs"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
if [ -n "$disk" ]; then
|
||||||
|
echo "# added by lxc-android-boot for /$mount" >>$tmpfile
|
||||||
|
echo "$disk\t/$mount\t$fs\t$options\t0\t0" >>$tmpfile
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
if grep -q "^[a-z0-9/]*./system" $tmpfile; then
|
||||||
|
[ -e "/vendor" ] || mkdir -p /vendor
|
||||||
|
echo "# added by lxc-android-boot for /vendor" >>$tmpfile
|
||||||
|
echo "/system/vendor\t/vendor\tauto\t$bindmountopts\t0\t0" >>$tmpfile
|
||||||
|
fi
|
||||||
|
|
@ -1,17 +1,28 @@
|
||||||
lxc.rootfs = /var/lib/lxc/android/rootfs
|
lxc.rootfs.path = /var/lib/lxc/android/rootfs
|
||||||
lxc.utsname = armhf
|
|
||||||
|
|
||||||
lxc.network.type = none
|
#lxc.net.0.type = none
|
||||||
|
|
||||||
lxc.devttydir = lxc
|
#lxc.devttydir = lxc
|
||||||
lxc.tty = 4
|
#lxc.tty = 4
|
||||||
lxc.pts = 1024
|
#lxc.pts = 1024
|
||||||
lxc.arch = armhf
|
#lxc.arch = arm64
|
||||||
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
|
||||||
|
|
||||||
lxc.init_cmd = /init
|
#this might not be needed?
|
||||||
|
#lxc.init_cmd = /init
|
||||||
|
|
||||||
lxc.aa_profile = unconfined
|
lxc.apparmor.profile = unconfined
|
||||||
lxc.autodev = 0
|
lxc.autodev = 0
|
||||||
|
|
||||||
|
#lxc.mount.entry = tmpfs dev tmpfs nosuid 0 0
|
||||||
|
#lxc.mount.entry = /dev/__properties__ dev/__properties__ bind bind,create=dir 0 0
|
||||||
|
#lxc.mount.entry = /dev/socket dev/socket bind bind,create=dir 0 0
|
||||||
|
#lxc.mount.entry = proc proc proc nodev,noexec,nosuid 0 0
|
||||||
|
#lxc.mount.entry = sys sys sysfs nodev,noexec,nosuid 0 0
|
||||||
|
##lxc.mount.entry = tmp tmp tmpfs nodev,noexec,nosuid 0 0
|
||||||
|
#lxc.mount.entry = /android/data data bind bind 0 0
|
||||||
|
#lxc.mount.entry = /vendor vendor bind rbind 0 0
|
||||||
|
#lxc.mount.entry = /mnt mnt bind rbind 0 0
|
||||||
|
|
|
||||||
8
var/lib/lxc/android/pre-start.d/10-no-adbd
Executable file
8
var/lib/lxc/android/pre-start.d/10-no-adbd
Executable file
|
|
@ -0,0 +1,8 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# Make sure adbd is not started automatically
|
||||||
|
#sed -i 's/setprop persist.sys.usb.config adb$/setprop persist.sys.usb.config ""/
|
||||||
|
#' $LXC_ROOTFS_PATH/init.rc
|
||||||
|
|
||||||
|
# Disable adbd
|
||||||
|
rm $LXC_ROOTFS_PATH/sbin/adbd
|
||||||
|
|
@ -1,51 +1,58 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
mount_android_partitions() {
|
if [ -f "/android/system/boot/android-ramdisk.img" ]; then
|
||||||
fstab=$1
|
# Halium 7 or below where ramdisk is extracted to tmpfs
|
||||||
lxc_rootfs_path=$2
|
mount_android_partitions() {
|
||||||
cat ${fstab} | while read line; do
|
fstab=$1
|
||||||
set -- $line
|
lxc_rootfs_path=$2
|
||||||
# Skip any unwanted entry
|
cat ${fstab} | while read line; do
|
||||||
echo $1 | egrep -q "^#" && continue
|
set -- $line
|
||||||
([ -z "$1" ] || [ -z "$2" ] || [ -z "$3" ] || [ -z "$4" ]) && continue
|
# Skip any unwanted entry
|
||||||
([ "$3" = "emmc" ] || [ "$3" = "swap" ] || [ "$3" = "mtd" ]) && continue
|
echo $1 | egrep -q "^#" && continue
|
||||||
[ ! -d "$2" ] && continue
|
([ -z "$1" ] || [ -z "$2" ] || [ -z "$3" ] || [ -z "$4" ]) && continue
|
||||||
|
([ "$3" = "emmc" ] || [ "$3" = "swap" ] || [ "$3" = "mtd" ]) && continue
|
||||||
|
[ ! -d "$2" ] && continue
|
||||||
|
|
||||||
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
|
||||||
mount none -t tmpfs $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
|
||||||
|
|
||||||
mknod -m 666 $LXC_ROOTFS_PATH/dev/null c 1 3
|
mknod -m 666 $LXC_ROOTFS_PATH/dev/null c 1 3
|
||||||
|
|
||||||
# Create /dev/pts if missing
|
# Create /dev/pts if missing
|
||||||
mkdir -p $LXC_ROOTFS_PATH/dev/pts
|
mkdir -p $LXC_ROOTFS_PATH/dev/pts
|
||||||
|
|
||||||
# Pass /sockets through
|
# Pass /sockets through
|
||||||
mkdir -p /dev/socket $LXC_ROOTFS_PATH/socket
|
mkdir -p /dev/socket $LXC_ROOTFS_PATH/socket
|
||||||
mount -n -o bind,rw /dev/socket $LXC_ROOTFS_PATH/socket
|
mount -n -o bind,rw /dev/socket $LXC_ROOTFS_PATH/socket
|
||||||
|
|
||||||
rm $LXC_ROOTFS_PATH/sbin/adbd
|
rm $LXC_ROOTFS_PATH/sbin/adbd
|
||||||
|
|
||||||
rm -Rf $LXC_ROOTFS_PATH/vendor
|
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 $LXC_ROOTFS_PATH/nvdata $LXC_ROOTFS_PATH/nvcfg
|
||||||
umount /nvdata /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
|
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
|
echo 10 > /sys/class/firmware/timeout
|
||||||
|
else
|
||||||
|
# Halium 9
|
||||||
|
mkdir -p /dev/__properties__
|
||||||
|
mkdir -p /dev/socket
|
||||||
|
fi
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue