W dniu piątek, 30 listopada 2018 16:22:13 UTC+1 użytkownik alex.jo...@gmail.com 
napisał:
> I've successfully build android-x86 7.1-r2 with gapps in whonix-14-ws AppVM.
> 
> 1. Install packages in whonix-14-ws template:
> 
> sudo apt-get install openjdk-8-jdk git-core gnupg flex bison gperf 
> build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 
> lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z-dev libgl1-mesa-dev 
> libxml2-utils xsltproc unzip gettext python-pip libyaml-dev dosfstools 
> syslinux syslinux-utils xorriso mtools makebootfat lunzip
> 
> 2. Create builder AppVM based on whonix-14-ws in which you'll build 
> android-x86:
> You'll need 120GB for android-x86 sources and temp build files and 30GB for 
> swap.
> Extend private storage size to 160GB via GUI or in dom0:
> qvm-volume extend android-builder:private 160g
> 
> Add 30GB swap in builder VM:
> 
> sudo dd if=/dev/zero of=/rw/swapfile bs=1024 count=31457280
> sudo chown root:root /rw/swapfile
> sudo chmod 0600 /rw/swapfile
> sudo mkswap /rw/swapfile
> sudo swapon /rw/swapfile
> 
> In builder VM run:
> 
> sudo ln -s /sbin/mkdosfs /usr/local/bin/mkdosfs
> sudo pip install prettytable Mako pyaml dateutils --upgrade
> export _JAVA_OPTIONS="-Xmx8G"
> echo 'export _JAVA_OPTIONS="-Xmx8G"' >> ~/.profile
> echo "sudo swapon /rw/swapfile" >> /rw/config/rc.local
> 
> Download android-x86 sources:
> 
> mkdir android-x86
> cd android-x86
> curl https://storage.googleapis.com/git-repo-downloads/repo > repo
> chmod a+x repo
> sudo install repo /usr/local/bin
> rm repo
> git config --global user.name "Your Name"
> git config --global user.email "y...@example.com"
> repo init -u git://git.osdn.net/gitroot/android-x86/manifest -b 
> android-x86-7.1-r2
> 
> To add GAPPS to your build you need to add the build system, and the wanted 
> sources to your manifest.
> Edit .repo/manifests/default.xml and add the following towards the end:
> 
> <remote name="opengapps" fetch="https://github.com/opengapps/";  />
> <project path="vendor/opengapps/build" name="aosp_build" revision="master" 
> remote="opengapps" />
> <project path="vendor/opengapps/sources/all" name="all" clone-depth="1" 
> revision="master" remote="opengapps" />
> <project path="vendor/opengapps/sources/x86" name="x86" clone-depth="1" 
> revision="master" remote="opengapps" />
> <project path="vendor/opengapps/sources/x86_64" name="x86_64" clone-depth="1" 
> revision="master" remote="opengapps" />
> 
> Download sources:
> repo sync --no-tags --no-clone-bundle --force-sync -j$( nproc --all )
> 
> If you choose to add GAPPS, then edit file device/generic/common/device.mk 
> and add at the beginning:
> 
> #OpenGAPPS
> 
> GAPPS_VARIANT := pico
> 
> GAPPS_PRODUCT_PACKAGES += Chrome \
>     KeyboardGoogle \
>     LatinImeGoogle \
>     GoogleTTS \
>     YouTube \
>     PixelIcons \
>     PixelLauncher \
>     Wallpapers \
>     PixelLauncherIcons \
>     WebViewGoogle \
>     GoogleServicesFramework \
>     GoogleLoginService \
> 
> GAPPS_FORCE_BROWSER_OVERRIDES := true
> GAPPS_FORCE_PACKAGE_OVERRIDES := true
> 
> GAPPS_EXCLUDED_PACKAGES := FaceLock \
>     AndroidPlatformServices \
>     PrebuiltGmsCoreInstantApps \
> 
> And at the end add:
> 
> #OpenGAPPS
> $(call inherit-product, vendor/opengapps/build/opengapps-packages.mk)
> 
> Edit android-x86 sources for XEN compatibility:
> sed -i -e 's|/sys/block/\[shv\]d\[a-z\]|/sys/block/\[shv\]d\[a-z\] 
> /sys/block/xvd\[a-z\]|g' bootable/newinstaller/install/scripts/1-install
> sed -i -e 's|/sys/block/\[shv\]d\$h/\$1|/sys/block/\[shv\]d\$h/\$1 
> /sys/block/xvd\$h/\$1|g' bootable/newinstaller/install/scripts/1-install
> sed -i -e 's|hmnsv|hmnsvx|g' bootable/newinstaller/initrd/init
> 
> Edit android-x86 sources for Debian build environment:
> sed -i -e 's|genisoimage|xorriso -as mkisofs|g' 
> bootable/newinstaller/Android.mk
> 
> Configure build target:
> . build/envsetup.sh
> lunch android_x86_64-eng
> 
> Configure kernel:
> make -C kernel O=$OUT/obj/kernel ARCH=x86 menuconfig
> You need to edit these parameters:
> XEN=yes
> XEN_BLKDEV_BACKEND=yes
> XEN_BLKDEV_FRONTEND=yes
> XEN_NETDEV_BACKEND=no
> XEN_NETDEV_FRONTEND=no
> SECURITY_SELINUX_BOOTPARAM=yes
> SECURITY_SELINUX_BOOTPARAM_VALUE=1
> SECURITY_SELINUX_DISABLE=yes
> DEFAULT_SECURITY_SELINUX=yes
> 
> The kernel config will be in out/target/product/x86_64/obj/kernel/.config
> 
> Also, you can edit the config to set the device type from tablet to phone.
> Edit device/generic/common/device.mk and change PRODUCT_CHARACTERISTICS from 
> tablet to default:
> PRODUCT_CHARACTERISTICS := default
> 
> Start the build:
> m -j$( nproc --all ) iso_img
> 
> After you got the iso, create the android network VM. If you choose the 
> android VM's netvm as sys-whonix directly, the network won't work. You need 
> to have intermediate netvm between android VM and sys-whonix. Create new 
> AppVM sys-android based on fedora template with netvm sys-whonix and set 
> "provides network".
> 
> Create android VM in dom0:
> qvm-create --class StandaloneVM --label green --property virt_mode=hvm android
> qvm-prefs android kernel ''
> qvm-prefs android 'sys-android'
> qvm-prefs android memory '2048'
> qvm-prefs android maxmem '2048'
> qvm-volume extend android:root 20g
> 
> Start the android VM with iso:
> qvm-start android 
> --cdrom=android-builder:/home/user/android-x86/out/target/product/x86_64/android_x86_64.iso
> 
> Install android-x86 on xvda and reboot.
> 
> Start android VM without iso:
> qvm-start android
> When it'll start, kill the VM and wait for it to halt.
> Configure android VM to use the mouse in dom0:
> sudo mkdir -p /etc/qubes/templates/libvirt/xen/by-name/
> sudo cp /etc/libvirt/libxl/android.xml 
> /etc/qubes/templates/libvirt/xen/by-name/android.xml
> sudo sed -i -e 's/tablet/mouse/g' 
> /etc/qubes/templates/libvirt/xen/by-name/android.xml
> 
> Start android VM without iso and it should work fine:
> qvm-start android

Can't we just use a prebuilt image such as PrimeOS?

-- 
You received this message because you are subscribed to the Google Groups 
"qubes-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to qubes-users+unsubscr...@googlegroups.com.
To post to this group, send email to qubes-users@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/qubes-users/129dac9d-1567-4192-8004-7785d44058a5%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to