Change a bunch of names from "appsupport" to "aliendalvik"
parent
9c0ac546cf
commit
e4cadd5342
|
@ -20,7 +20,7 @@ Aliendalvik is a complex piece of software and requires lots of setup to run. Th
|
||||||
- Build and install patched mobile-mutter and libwayland, see patches/
|
- Build and install patched mobile-mutter and libwayland, see patches/
|
||||||
- Get the vanilla (not GApps) android system.img and vendor.img from Waydroid
|
- Get the vanilla (not GApps) android system.img and vendor.img from Waydroid
|
||||||
|
|
||||||
3. Copy all the aliendalvik config, binaries and libraries to the target device, see files.txt
|
3. Copy all the aliendalvik config, binaries and libraries to the target device, see files.txt again
|
||||||
|
|
||||||
4. Create necessary users, groups, and configure a few more things on the device, see setup-environment.txt
|
4. Create necessary users, groups, and configure a few more things on the device, see setup-environment.txt
|
||||||
|
|
||||||
|
|
|
@ -30,7 +30,7 @@ if [ "${active_wayland_user}" == "" ]; then
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
data_dir="/home/${active_wayland_user}/.local/share/appsupport/data/"
|
data_dir="/home/${active_wayland_user}/.local/share/aliendalvik/data/"
|
||||||
|
|
||||||
rm -f ${data_dir}/alien_boot_completed
|
rm -f ${data_dir}/alien_boot_completed
|
||||||
|
|
||||||
|
@ -43,9 +43,9 @@ rm -f ${data_dir}/alien_boot_completed
|
||||||
echo "alien bootup finished, running post startup"
|
echo "alien bootup finished, running post startup"
|
||||||
|
|
||||||
# use the commands from alien-post-startup.sh script here
|
# use the commands from alien-post-startup.sh script here
|
||||||
lxc-attach --name=aliendalvik --lxcpath=/tmp/appsupport -- /system/bin/sh -c ""
|
lxc-attach --name=aliendalvik --lxcpath=/tmp/aliendalvik -- /system/bin/sh -c ""
|
||||||
|
|
||||||
lxc-attach --name=aliendalvik --lxcpath=/tmp/appsupport -- /system/bin/sh -c "source /etc/mkshrc;
|
lxc-attach --name=aliendalvik --lxcpath=/tmp/aliendalvik -- /system/bin/sh -c "source /etc/mkshrc;
|
||||||
# enable gesture navigation
|
# enable gesture navigation
|
||||||
cmd overlay disable com.android.internal.systemui.navbar.gestural
|
cmd overlay disable com.android.internal.systemui.navbar.gestural
|
||||||
cmd overlay enable com.android.internal.systemui.navbar.gestural"
|
cmd overlay enable com.android.internal.systemui.navbar.gestural"
|
||||||
|
@ -54,7 +54,7 @@ cmd overlay enable com.android.internal.systemui.navbar.gestural"
|
||||||
fi
|
fi
|
||||||
) &
|
) &
|
||||||
|
|
||||||
lxc-start --rcfile=/tmp/appsupport/aliendalvik/config --lxcpath=/tmp/appsupport -n aliendalvik -F
|
lxc-start --rcfile=/tmp/aliendalvik/config/config --lxcpath=/tmp/aliendalvik -n aliendalvik -F
|
||||||
|
|
||||||
if [ "$(cat ${data_dir}/alien_boot_completed)" = "2" ]; then
|
if [ "$(cat ${data_dir}/alien_boot_completed)" = "2" ]; then
|
||||||
echo "alien crashed"
|
echo "alien crashed"
|
||||||
|
|
|
@ -43,20 +43,20 @@ while true; do
|
||||||
break
|
break
|
||||||
done
|
done
|
||||||
|
|
||||||
chown ${active_wayland_user}:appsupport-wayland /run/user/${active_wayland_uid}/wayland-0
|
chown ${active_wayland_user}:aliendalvik-wayland /run/user/${active_wayland_uid}/wayland-0
|
||||||
chmod 775 /run/user/${active_wayland_uid}/wayland-0
|
chmod 775 /run/user/${active_wayland_uid}/wayland-0
|
||||||
|
|
||||||
rm -f /tmp/appsupport/aliendalvik/*
|
rm -f /tmp/aliendalvik/config/*
|
||||||
mkdir -p /tmp/appsupport/aliendalvik/
|
mkdir -p /tmp/aliendalvik/config/
|
||||||
cp -r /opt/alien/config/* /tmp/appsupport/aliendalvik/
|
cp -r /opt/alien/lxc-config/* /tmp/aliendalvik/config/
|
||||||
|
|
||||||
sed -i "s/__UID__/${active_wayland_uid}/g" /tmp/appsupport/aliendalvik/10-bsp_config
|
sed -i "s/__UID__/${active_wayland_uid}/g" /tmp/aliendalvik/config/10-bsp_config
|
||||||
sed -i "s/__UID__/${active_wayland_uid}/g" /tmp/appsupport/aliendalvik/20-privilege_config
|
sed -i "s/__UID__/${active_wayland_uid}/g" /tmp/aliendalvik/config/20-privilege_config
|
||||||
|
|
||||||
mkdir -p /home/${active_wayland_user}/.local/share/appsupport/data/
|
mkdir -p /home/${active_wayland_user}/.local/share/aliendalvik/data/
|
||||||
chown ${active_wayland_user}:${active_wayland_user} /home/${active_wayland_user}/.local/share/appsupport/
|
chown ${active_wayland_user}:${active_wayland_user} /home/${active_wayland_user}/.local/share/aliendalvik/
|
||||||
|
|
||||||
data_dir="/home/${active_wayland_user}/.local/share/appsupport/data/"
|
data_dir="/home/${active_wayland_user}/.local/share/aliendalvik/data/"
|
||||||
chown appsupport-root:appsupport-root ${data_dir}
|
chown aliendalvik-root:aliendalvik-root ${data_dir}
|
||||||
|
|
||||||
sed -i "s|__DATA_DIR__|${data_dir}|g" /tmp/appsupport/aliendalvik/10-bsp_config
|
sed -i "s|__DATA_DIR__|${data_dir}|g" /tmp/aliendalvik/config/10-bsp_config
|
||||||
|
|
|
@ -39,7 +39,7 @@ if [ "$1" == "start" ]; then
|
||||||
#
|
#
|
||||||
# systemd should ensure that we're always started and stopped in sync with
|
# systemd should ensure that we're always started and stopped in sync with
|
||||||
# aliendalvik.service (because of BindsTo= dependency)
|
# aliendalvik.service (because of BindsTo= dependency)
|
||||||
while [ "$(lxc-attach --name=aliendalvik --lxcpath=/tmp/appsupport -- /system/bin/getprop hwservicemanager.ready)" != "true" ]; do
|
while [ "$(lxc-attach --name=aliendalvik --lxcpath=/tmp/aliendalvik -- /system/bin/getprop hwservicemanager.ready)" != "true" ]; do
|
||||||
echo "User services startup waiting for hwservicemanager in container"
|
echo "User services startup waiting for hwservicemanager in container"
|
||||||
sleep 1
|
sleep 1
|
||||||
done
|
done
|
||||||
|
|
|
@ -12,7 +12,7 @@ Restart=never
|
||||||
RestartSec=3
|
RestartSec=3
|
||||||
RestartPreventExitStatus=32
|
RestartPreventExitStatus=32
|
||||||
ExecStart=/usr/bin/aliendalvik
|
ExecStart=/usr/bin/aliendalvik
|
||||||
ExecStop=/usr/bin/lxc-attach --name=aliendalvik --lxcpath=/tmp/appsupport -- /system/bin/reboot -p
|
ExecStop=/usr/bin/lxc-attach --name=aliendalvik --lxcpath=/tmp/aliendalvik -- /system/bin/reboot -p
|
||||||
|
|
||||||
[Install]
|
[Install]
|
||||||
WantedBy=graphical.target
|
WantedBy=graphical.target
|
||||||
|
|
|
@ -19,7 +19,10 @@
|
||||||
set "PackageBlacklistFiles=/etc/apkd/app-blacklist"
|
set "PackageBlacklistFiles=/etc/apkd/app-blacklist"
|
||||||
set "NotifBlacklistFiles=/etc/apkd/notif-blacklist"
|
set "NotifBlacklistFiles=/etc/apkd/notif-blacklist"
|
||||||
|
|
||||||
- edit LXC configuration in /tmp/appsupport/aliendalvik/10-bsp_config
|
- edit LXC configuration in /opt/alien/lxc-config/config
|
||||||
|
replace the paths with /tmp/aliendalvik/config/
|
||||||
|
|
||||||
|
- edit LXC configuration in /opt/alien/lxc-config/10-bsp_config
|
||||||
replace "/dev/puddlejumper" with "/dev/binder"
|
replace "/dev/puddlejumper" with "/dev/binder"
|
||||||
replace "/dev/hwpuddlejumper" with "/dev/hwbinder"
|
replace "/dev/hwpuddlejumper" with "/dev/hwbinder"
|
||||||
replace "/dev/vndpuddlejumper" with "/dev/vndbinder"
|
replace "/dev/vndpuddlejumper" with "/dev/vndbinder"
|
||||||
|
@ -30,7 +33,7 @@
|
||||||
comment out /odm/lib, /odm/lib64, /system/etc/apns-conf.xml, /dev/alien_video32, /dev/alien_video33 and /dev/video mounts
|
comment out /odm/lib, /odm/lib64, /system/etc/apns-conf.xml, /dev/alien_video32, /dev/alien_video33 and /dev/video mounts
|
||||||
comment out /home/defaultuser, /home/defaultuser/android_storage and /run/media/defaultuser mounts
|
comment out /home/defaultuser, /home/defaultuser/android_storage and /run/media/defaultuser mounts
|
||||||
|
|
||||||
- edit LXC configuration in /tmp/appsupport/aliendalvik/20-privilege_config
|
- edit LXC configuration in /opt/alien/lxc-config/20-privilege_config
|
||||||
# add a line to start properly on apparmor devices
|
# add a line to start properly on apparmor devices
|
||||||
lxc.apparmor.profile = unconfined
|
lxc.apparmor.profile = unconfined
|
||||||
|
|
||||||
|
@ -40,10 +43,10 @@
|
||||||
# replace "lxc.idmap = g 100000 100000 1" line with
|
# replace "lxc.idmap = g 100000 100000 1" line with
|
||||||
lxc.idmap = g 100000 __UID__ 1
|
lxc.idmap = g 100000 __UID__ 1
|
||||||
|
|
||||||
- edit LXC configuration in /tmp/appsupport/aliendalvik/30-net_config
|
- edit LXC configuration in /opt/alien/lxc-config/30-net_config
|
||||||
comment out tmpfs mount to "sys/fs/selinux"
|
comment out tmpfs mount to "sys/fs/selinux"
|
||||||
|
|
||||||
- edit android props in /tmp/appsupport/aliendalvik/generated_props
|
- edit android props in /opt/alien/lxc-config/generated_props
|
||||||
comment out these props: ro.vendor.extension_library, ro.hardware.vulkan, ro.board.platform
|
comment out these props: ro.vendor.extension_library, ro.hardware.vulkan, ro.board.platform
|
||||||
update these props "ro.alien.no_camera=1", "ro.alien.no_soundtrigger=1", "ro.com.android.mobiledata=false"
|
update these props "ro.alien.no_camera=1", "ro.alien.no_soundtrigger=1", "ro.com.android.mobiledata=false"
|
||||||
when you're on a pinephone pro, set "ro.opengles.version=196609"
|
when you're on a pinephone pro, set "ro.opengles.version=196609"
|
||||||
|
|
|
@ -96,6 +96,7 @@ aliendalvik build props + system and vendor image:
|
||||||
|
|
||||||
|
|
||||||
runtime generated LXC config:
|
runtime generated LXC config:
|
||||||
|
-> copy these files into /opt/alien/lxc-config/ on the new device
|
||||||
|
|
||||||
/tmp/appsupport/aliendalvik/10-bsp_config
|
/tmp/appsupport/aliendalvik/10-bsp_config
|
||||||
/tmp/appsupport/aliendalvik/20-privilege_config
|
/tmp/appsupport/aliendalvik/20-privilege_config
|
||||||
|
|
16
running.txt
16
running.txt
|
@ -29,7 +29,7 @@
|
||||||
chmod 777 /dev/dri/card0
|
chmod 777 /dev/dri/card0
|
||||||
|
|
||||||
- chmod wayland socket
|
- chmod wayland socket
|
||||||
chown YOUR_USER:appsupport-wayland /run/user/YOUR_UID/wayland-0
|
chown YOUR_USER:aliendalvik-wayland /run/user/YOUR_UID/wayland-0
|
||||||
chmod 775 /run/user/YOUR_UID/wayland-0
|
chmod 775 /run/user/YOUR_UID/wayland-0
|
||||||
|
|
||||||
- setup the waydroid vendor blob with another overlayfs (as root)
|
- setup the waydroid vendor blob with another overlayfs (as root)
|
||||||
|
@ -51,16 +51,20 @@
|
||||||
- optional: copy overlay for gesture navigation from waydroid into alien (as root)
|
- optional: copy overlay for gesture navigation from waydroid into alien (as root)
|
||||||
cp -r /tmp/waydroid-system/system/product/overlay /opt/alien/rootfs/product/
|
cp -r /tmp/waydroid-system/system/product/overlay /opt/alien/rootfs/product/
|
||||||
|
|
||||||
|
- copy lxc-config into /tmp/aliendalvik/config
|
||||||
|
mkdir -p /tmp/aliendalvik/config/
|
||||||
|
cp /opt/alien/lxc-config/* /tmp/aliendalvik/config/
|
||||||
|
|
||||||
- set data dir in LXC config
|
- set data dir in LXC config
|
||||||
nano /tmp/appsupport/aliendalvik/10-bsp_config
|
nano /tmp/aliendalvik/config/10-bsp_config
|
||||||
# set __DATA_DIR__ to /opt/alien/data
|
# set __DATA_DIR__ to /opt/alien/data
|
||||||
|
|
||||||
- set UID in LXC config
|
- set UID in LXC config
|
||||||
nano /tmp/appsupport/aliendalvik/10-bsp_config
|
nano /tmp/aliendalvik/config/10-bsp_config
|
||||||
# set __UID__ to your UID in this line
|
# set __UID__ to your UID in this line
|
||||||
lxc.mount.entry = /run/user/__UID__/wayland-0 run/display/wayland-0 none bind,nodev,nosuid,create=file 0 0
|
lxc.mount.entry = /run/user/__UID__/wayland-0 run/display/wayland-0 none bind,nodev,nosuid,create=file 0 0
|
||||||
|
|
||||||
nano /tmp/appsupport/aliendalvik/20-privilege_config
|
nano /tmp/aliendalvik/config/20-privilege_config
|
||||||
# set __UID__ to your UID (this maps your UID to UID 100000 inside the container)
|
# set __UID__ to your UID (this maps your UID to UID 100000 inside the container)
|
||||||
lxc.idmap = u 100000 __UID__ 1
|
lxc.idmap = u 100000 __UID__ 1
|
||||||
lxc.idmap = g 100000 __UID__ 1
|
lxc.idmap = g 100000 __UID__ 1
|
||||||
|
@ -69,7 +73,7 @@
|
||||||
/usr/lib/lxc/lxc-net start
|
/usr/lib/lxc/lxc-net start
|
||||||
|
|
||||||
- now check if lxc wants to startup
|
- now check if lxc wants to startup
|
||||||
/usr/bin/lxc-start --rcfile=/tmp/appsupport/aliendalvik/config --lxcpath=/tmp/appsupport/aliendalvik -n aliendalvik -F
|
/usr/bin/lxc-start --rcfile=/tmp/aliendalvik/config/config --lxcpath=/tmp/aliendalvik -n aliendalvik -F
|
||||||
# shouldn't error out immediately, but should crash after like 30 seconds
|
# shouldn't error out immediately, but should crash after like 30 seconds
|
||||||
# there should be stuff in /opt/alien/data now, and logs in /opt/alien/data/logcats/log
|
# there should be stuff in /opt/alien/data now, and logs in /opt/alien/data/logcats/log
|
||||||
# if you got to this point, you're very close :)
|
# if you got to this point, you're very close :)
|
||||||
|
@ -102,7 +106,7 @@
|
||||||
|
|
||||||
- optional: use gesture navigation in android to have swipe-back gesture
|
- optional: use gesture navigation in android to have swipe-back gesture
|
||||||
# go into container and disable -> enable the overlay
|
# go into container and disable -> enable the overlay
|
||||||
lxc-attach --name=aliendalvik --lxcpath=/tmp/appsupport -- /system/bin/sh
|
lxc-attach --name=aliendalvik --lxcpath=/tmp/aliendalvik -- /system/bin/sh
|
||||||
cmd overlay disable com.android.internal.systemui.navbar.gestural
|
cmd overlay disable com.android.internal.systemui.navbar.gestural
|
||||||
cmd overlay enable com.android.internal.systemui.navbar.gestural
|
cmd overlay enable com.android.internal.systemui.navbar.gestural
|
||||||
|
|
||||||
|
|
|
@ -1,32 +1,34 @@
|
||||||
- enable systemd-resolved to actually answer queries on port 53 so that android can ask dns queries
|
- enable systemd-resolved to actually answer queries on port 53 so that android can ask dns queries
|
||||||
# add this line to /etc/systemd/resolved.conf
|
# add this line to /etc/systemd/resolved.conf
|
||||||
DNSStubListenerExtra=127.0.0.1
|
DNSStubListenerExtra=127.0.0.1^
|
||||||
# then restart systemd-resolved
|
# then restart systemd-resolved
|
||||||
sudo systemctl restart systemd-resolved
|
sudo systemctl restart systemd-resolved
|
||||||
|
|
||||||
- setup users/groups needed for aliendalvik
|
- setup users/groups needed for aliendalvik
|
||||||
# create user+group that gets permissions for wayland-socket
|
# create user+group that gets permissions for wayland-socket
|
||||||
useradd -u 501000 -U appsupport-wayland
|
useradd -u 501000 -U aliendalvik-wayland
|
||||||
groupmod -g 501000 appsupport-wayland
|
groupmod -g 501000 aliendalvik-wayland
|
||||||
|
|
||||||
# create appsupport-root user with UID and GID 500000
|
# create aliendalvik-root user with UID and GID 500000
|
||||||
useradd -u 500000 -U appsupport-root
|
useradd -u 500000 -U aliendalvik-root
|
||||||
groupmod -g 500000 appsupport-root
|
groupmod -g 500000 aliendalvik-root
|
||||||
|
|
||||||
# own data directory
|
# own data directory
|
||||||
mkdir -p /opt/alien/data/
|
mkdir -p /opt/alien/data/
|
||||||
chown -R appsupport-root:appsupport-root /opt/alien/data/
|
chown -R aliendalvik-root:aliendalvik-root /opt/alien/data/
|
||||||
|
|
||||||
# set subuids (no clue how correct this actually is, but works)
|
# set subuids (no clue how correct this actually is, but works)
|
||||||
# might have to create those files
|
# might have to create those files
|
||||||
touch /etc/subuid
|
touch /etc/subuid
|
||||||
touch /etc/subgid
|
touch /etc/subgid
|
||||||
usermod --add-subuids 100000-100000 --add-subgids 100000-100000 root
|
usermod --add-subuids 100000-100000 --add-subgids 100000-100000 root
|
||||||
usermod --add-subuids 100000-100000 --add-subgids 100000-100000 appsupport-root
|
usermod --add-subuids 100000-100000 --add-subgids 100000-100000 aliendalvik-root
|
||||||
usermod --add-subuids 500000-599999 --add-subgids 500000-599999 root
|
usermod --add-subuids 500000-599999 --add-subgids 500000-599999 root
|
||||||
usermod --add-subuids 500000-599999 --add-subgids 500000-599999 appsupport-root
|
usermod --add-subuids 500000-599999 --add-subgids 500000-599999 aliendalvik-root
|
||||||
usermod --add-subuids 600001-700000 --add-subgids 600001-700000 root
|
usermod --add-subuids 600001-700000 --add-subgids 600001-700000 root
|
||||||
usermod --add-subuids 600001-700000 --add-subgids 600001-700000 appsupport-root
|
usermod --add-subuids 600001-700000 --add-subgids 600001-700000 aliendalvik-root
|
||||||
|
|
||||||
|
usermod --add-subuids YOUR_UID-YOUR_UID --add-subgids YOUR_UID-YOUR_UID root
|
||||||
|
|
||||||
- symlink from /usr/lib to /usr/lib64 (alienaudioservice hardcodes some paths to lib64 :/)
|
- symlink from /usr/lib to /usr/lib64 (alienaudioservice hardcodes some paths to lib64 :/)
|
||||||
ln -s /usr/lib /usr/lib64
|
ln -s /usr/lib /usr/lib64
|
||||||
|
|
Loading…
Reference in New Issue