diff --git a/AndroidProducts.mk b/AndroidProducts.mk
deleted file mode 100644
index 164431e..0000000
--- a/AndroidProducts.mk
+++ /dev/null
@@ -1,26 +0,0 @@
-#
-# Copyright (C) 2014 The Android Open-Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-# The following products should be used to generate a minimal system image
-# to be run under upstream QEMU (with a few Android-related patches). Note
-# that this is different from running them under the Android emulator.
-
-PRODUCT_MAKEFILES := \
-    $(LOCAL_DIR)/qemu_arm.mk \
-    $(LOCAL_DIR)/qemu_x86.mk \
-    $(LOCAL_DIR)/qemu_x86_64.mk \
-    $(LOCAL_DIR)/qemu_arm64.mk \
-    $(LOCAL_DIR)/ranchu_arm64.mk \
diff --git a/METADATA b/METADATA
deleted file mode 100644
index d97975c..0000000
--- a/METADATA
+++ /dev/null
@@ -1,3 +0,0 @@
-third_party {
-  license_type: NOTICE
-}
diff --git a/advancedFeatures.ini b/advancedFeatures.ini
deleted file mode 100644
index 29c1cf7..0000000
--- a/advancedFeatures.ini
+++ /dev/null
@@ -1,6 +0,0 @@
-GrallocSync = on
-LogcatPipe = on
-GLAsyncSwap = on
-GLESDynamicVersion = on
-GLDMA = on
-SystemAsRoot = on
diff --git a/fstab.ranchu b/fstab.ranchu
deleted file mode 100644
index 3eed0be..0000000
--- a/fstab.ranchu
+++ /dev/null
@@ -1,6 +0,0 @@
-# Android fstab file.
-#<src>                                                  <mnt_point>         <type>    <mnt_flags and options>                              <fs_mgr_flags>
-# The filesystem that contains the filesystem checker binary (typically /system) cannot
-# specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK
-/dev/block/vdc                                          /data               ext4      noatime,nosuid,nodev,nomblk_io_submit,errors=panic   wait,check
-/devices/*/block/vde                                    auto                auto      defaults                                             voldmanaged=sdcard:auto,encryptable=userdata
diff --git a/init.ranchu.rc b/init.ranchu.rc
deleted file mode 100644
index 60cd45e..0000000
--- a/init.ranchu.rc
+++ /dev/null
@@ -1,117 +0,0 @@
-on fs
-    mount_all /fstab.ranchu
-
-on early-init
-    mount debugfs debugfs /sys/kernel/debug mode=755
-
-on init
-
-    symlink /dev/goldfish_pipe /dev/android_pipe
-    symlink /dev/goldfish_pipe /dev/qemu_pipe
-
-on post-fs-data
-    setprop vold.post_fs_data_done 1
-
-
-on boot
-    chown root system /sys/power/wake_lock
-    chown root system /sys/power/wake_unlock
-    setprop ro.radio.use-ppp no
-    setprop ro.build.product generic
-    setprop ro.product.device generic
-    setprop ro.hardware.audio.primary goldfish
-    setprop ro.setupwizard.mode EMULATOR
-
-# fake some battery state
-    setprop status.battery.state Slow
-    setprop status.battery.level 5
-    setprop status.battery.level_raw  50
-    setprop status.battery.level_scale 9
-
-# set up the GPU caching
-    setprop ro.hwui.texture_cache_size 72
-    setprop ro.hwui.layer_cache_size 48
-    setprop ro.hwui.r_buffer_cache_size 8
-    setprop ro.hwui.path_cache_size 32
-    setprop ro.hwui.gradient_cache_size 1
-    setprop ro.hwui.drop_shadow_cache_size 6
-    setprop ro.hwui.texture_cache_flushrate 0.4
-    setprop ro.hwui.text_small_cache_width 1024
-    setprop ro.hwui.text_small_cache_height 1024
-    setprop ro.hwui.text_large_cache_width 2048
-    setprop ro.hwui.text_large_cache_height 1024
-
-# disable some daemons the emulator doesn't want
-    stop dund
-    stop akmd
-
-# start essential services
-# These were written for the classic emulator, but are applicable to ranchu
-    start goldfish-logcat
-#    start goldfish-setup
-
-
-# enable Google-specific location features,
-# like NetworkLocationProvider and LocationCollector
-    setprop ro.com.google.locationfeatures 1
-
-#emulator is not much useful before boot complete
-#start it later
-on property:sys.boot_completed=1
-    setprop sys.usb.config adb
-    start adbd
-    start goldfish-logcat
-
-on property:qemu.adbd=start
-    setprop sys.usb.config adb
-    start adbd
-    start goldfish-logcat
-
-service ranchu-setup /vendor/bin/init.ranchu-core.sh
-    class core
-    user root
-    group root
-    oneshot
-
-service ranchu-net /vendor/bin/init.ranchu-net.sh
-    class late_start
-    user root
-    group root wakelock
-    oneshot
-
-# The qemu-props program is used to set various system
-# properties on boot. It must be run early during the boot
-# process to avoid race conditions with other daemons that
-# might read them (e.g. surface flinger), so define it in
-# class 'core'
-#
-service qemu-props /vendor/bin/qemu-props
-    class core
-    user root
-    group root
-    oneshot
-
-on property:qemu.logcat=start
-    start goldfish-logcat
-
-# -Q is a special logcat option that forces the
-# program to check wether it runs on the emulator
-# if it does, it redirects its output to the device
-# named by the androidboot.console kernel option
-# if not, is simply exits immediately
-# logd user added to prevent logcat from logging content.
-# log group added to support access to read logs socket.
-service goldfish-logcat /system/bin/logcat -Q
-    user logd
-    group log
-    oneshot
-
-service fingerprintd /system/bin/fingerprintd
-    class late_start
-    user system
-
-service bugreport /system/bin/dumpstate -d -p
-    class main
-    disabled
-    oneshot
-    keycodes 114 115 116
diff --git a/qemu_arm.mk b/qemu_arm.mk
deleted file mode 100644
index 3e84249..0000000
--- a/qemu_arm.mk
+++ /dev/null
@@ -1,25 +0,0 @@
-#
-# Copyright 2014 The Android Open-Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-PRODUCT_COPY_FILES += \
-    prebuilts/qemu-kernel/arm/3.18/kernel-qemu2:kernel-ranchu
-
-$(call inherit-product, $(LOCAL_PATH)/qemu_base.mk)
-
-# Overrides
-PRODUCT_BRAND := generic
-PRODUCT_NAME := qemu_arm
-PRODUCT_DEVICE = generic
-PRODUCT_MODEL := Minimal Android for QEMU/Arm
diff --git a/qemu_arm64.mk b/qemu_arm64.mk
deleted file mode 100644
index d19a02b..0000000
--- a/qemu_arm64.mk
+++ /dev/null
@@ -1,28 +0,0 @@
-#
-# Copyright 2014 The Android Open-Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-PRODUCT_COPY_FILES += \
-    prebuilts/qemu-kernel/arm64/3.18/kernel-qemu2:kernel-ranchu
-
-$(call inherit-product, $(LOCAL_PATH)/qemu_base.mk)
-
-# Overrides
-PRODUCT_BRAND := generic_arm64
-PRODUCT_NAME := qemu_arm64
-PRODUCT_DEVICE = generic_arm64
-PRODUCT_MODEL := Minimal Android for QEMU/ARM64
-
-TARGET_SUPPORTS_32_BIT_APPS := true
-TARGET_SUPPORTS_64_BIT_APPS := true
diff --git a/qemu_base.mk b/qemu_base.mk
deleted file mode 100644
index 5657336..0000000
--- a/qemu_base.mk
+++ /dev/null
@@ -1,133 +0,0 @@
-#
-# Copyright (C) 2014 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# This file contains the definitions needed for a _really_ minimal system
-# image to be run under emulation under upstream QEMU (www.qemu.org), once
-# it supports a few Android virtual devices. Note that this is _not_ the
-# same as running under the Android emulator.
-
-# This should only contain what's necessary to boot the system, support
-# ADB, and allow running command-line executable compiled against the
-# following NDK libraries: libc, libm, libstdc++, libdl, liblog
-
-# Host modules
-PRODUCT_HOST_PACKAGES += \
-    adb \
-    e2fsck \
-    icu_tzdata.dat_host_tzdata_apex \
-    mke2fs \
-    toybox \
-    tzdata_host \
-    tzdata_host_tzdata_apex \
-    tzlookup.xml_host_tzdata_apex \
-    tz_version_host \
-    tz_version_host_tzdata_apex \
-
-# Device modules
-PRODUCT_PACKAGES += \
-    adbd.com.android.adbd \
-    bootanimation \
-    debuggerd \
-    debuggerd64 \
-    dumpstate \
-    dumpsys \
-    e2fsck \
-    gzip \
-    healthd \
-    init \
-    init.environ.rc \
-    libbinder \
-    libc \
-    libctest \
-    libcutils \
-    libdl \
-    libhardware \
-    libhardware_legacy \
-    liblog \
-    libm \
-    libstdc++ \
-    libsysutils \
-    libutils \
-    linker \
-    linker64 \
-    logcat \
-    logd \
-    logwrapper \
-    mkshrc \
-    qemu-props \
-    reboot \
-    service \
-    servicemanager \
-    hwservicemanager \
-    vndservice \
-    vndservicemanager \
-    sh \
-    toolbox \
-    toybox \
-    vold
-
-# SELinux packages are added as dependencies of the selinux_policy
-# phony package.
-PRODUCT_PACKAGES += \
-    selinux_policy \
-
-# SELinux packages
-#PRODUCT_PACKAGES += \
-#    sepolicy \
-#    file_contexts \
-#    seapp_contexts \
-#    property_contexts \
-#    mac_permissions.xml \
-
-PRODUCT_COPY_FILES += \
-    system/core/rootdir/init.usb.rc:system/etc/init/hw/init.usb.rc \
-    system/core/rootdir/init.usb.configfs.rc:system/etc/init/hw/init.usb.configfs.rc \
-    system/core/rootdir/etc/hosts:system/etc/hosts \
-
-PRODUCT_FULL_TREBLE_OVERRIDE := true
-
-PRODUCT_COPY_FILES += \
-    device/generic/qemu/fstab.ranchu:root/fstab.ranchu \
-    device/generic/qemu/init.ranchu.rc:root/init.ranchu.rc \
-    device/generic/qemu/ueventd.ranchu.rc:root/ueventd.ranchu.rc \
-
-PRODUCT_COPY_FILES += \
-    device/generic/goldfish/data/etc/config.ini:config.ini \
-    device/generic/qemu/advancedFeatures.ini:advancedFeatures.ini \
-
-ifeq ($(ART_APEX_JARS),)
-$(error ART_APEX_JARS is empty; cannot initialize PRODUCT_BOOT_JARS variable)
-endif
-
-# The order matters
-PRODUCT_BOOT_JARS := \
-    $(ART_APEX_JARS) \
-
-PRODUCT_UPDATABLE_BOOT_JARS := \
-    com.android.conscrypt:conscrypt \
-
-# The set of packages we want to force 'speed' compilation on.
-PRODUCT_DEXPREOPT_SPEED_APPS := \
-
-PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \
-    ro.zygote=zygote32
-PRODUCT_COPY_FILES += \
-    system/core/rootdir/init.zygote32.rc:system/etc/init/hw/init.zygote32.rc
-
-PRODUCT_PROPERTY_OVERRIDES += \
-    ro.carrier=unknown
-
-$(call inherit-product, $(SRC_TARGET_DIR)/product/runtime_libart.mk)
-
diff --git a/qemu_x86.mk b/qemu_x86.mk
deleted file mode 100644
index a1c9e45..0000000
--- a/qemu_x86.mk
+++ /dev/null
@@ -1,25 +0,0 @@
-#
-# Copyright 2014 The Android Open-Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-PRODUCT_COPY_FILES += \
-    prebuilts/qemu-kernel/x86/3.18/kernel-qemu2:kernel-ranchu
-
-$(call inherit-product, $(LOCAL_PATH)/qemu_base.mk)
-
-# Overrides
-PRODUCT_BRAND := generic_x86
-PRODUCT_NAME := qemu_x86
-PRODUCT_DEVICE = generic_x86
-PRODUCT_MODEL := Minimal Android for QEMU/x86
diff --git a/qemu_x86_64.mk b/qemu_x86_64.mk
deleted file mode 100644
index 9461bb1..0000000
--- a/qemu_x86_64.mk
+++ /dev/null
@@ -1,28 +0,0 @@
-#
-# Copyright 2014 The Android Open-Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-PRODUCT_COPY_FILES += \
-    prebuilts/qemu-kernel/x86_64/3.18/kernel-qemu2:kernel-ranchu
-
-$(call inherit-product, $(LOCAL_PATH)/qemu_base.mk)
-
-# Overrides
-PRODUCT_BRAND := generic_x86_64
-PRODUCT_NAME := qemu_x86_64
-PRODUCT_DEVICE = generic_x86_64
-PRODUCT_MODEL := Minimal Android for QEMU/x86_64
-
-TARGET_SUPPORTS_32_BIT_APPS := true
-TARGET_SUPPORTS_64_BIT_APPS := true
diff --git a/ranchu_arm64.mk b/ranchu_arm64.mk
deleted file mode 100644
index a50a1af..0000000
--- a/ranchu_arm64.mk
+++ /dev/null
@@ -1,31 +0,0 @@
-#
-# Copyright (C) 2014 The Android Open-Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-$(call inherit-product, $(SRC_TARGET_DIR)/product/core_64_bit.mk)
-$(call inherit-product, $(SRC_TARGET_DIR)/product/aosp_base_telephony.mk)
-$(call inherit-product, $(SRC_TARGET_DIR)/board/generic_arm64/device.mk)
-
-PRODUCT_NAME := ranchu_arm64
-# Use the same BoardConfig as generic_arm64.
-PRODUCT_DEVICE := generic_arm64
-PRODUCT_BRAND := Android
-PRODUCT_MODEL := AOSP on qemu arm64 emulator
-
-
-PRODUCT_COPY_FILES += $(call add-to-product-copy-files-if-exists,\
-			$(LOCAL_PATH)/init.ranchu.rc:root/init.ranchu.rc \
-			$(LOCAL_PATH)/fstab.ranchu:root/fstab.ranchu \
-			$(LOCAL_PATH)/ueventd.ranchu.rc:root/ueventd.ranchu.rc)
diff --git a/ueventd.ranchu.rc b/ueventd.ranchu.rc
deleted file mode 100644
index 50d6c53..0000000
--- a/ueventd.ranchu.rc
+++ /dev/null
@@ -1,6 +0,0 @@
-# These settings are specific to running under the Android emulator
-/dev/qemu_trace           0666   system     system
-/dev/goldfish_pipe        0666   system     system
-/dev/ttyS*                0666   system     system
-/proc                     0666   system     system
-/dev/goldfish_sync        0666   system     system
