diff --git a/factory-images/generate-factory-images-package.sh b/factory-images/generate-factory-images-package.sh
new file mode 100755
index 0000000..0f0892b
--- /dev/null
+++ b/factory-images/generate-factory-images-package.sh
@@ -0,0 +1,29 @@
+#!/bin/sh
+
+# Copyright 2013 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.
+
+# start klp-dev
+# 741161 = KRS15
+# end klp-dev
+
+source ../../../common/clear-factory-images-variables.sh
+BUILD=741161
+DEVICE=hammerhead
+PRODUCT=hammerhead
+VERSION=krs15
+#SRCPREFIX=signed-
+BOOTLOADER=hhz10f
+RADIO=m8974a-0.0.19.0.05
+source ../../../common/generate-factory-images-common.sh
diff --git a/proprietary-blobs.txt b/proprietary-blobs.txt
new file mode 100644
index 0000000..b7a3676
--- /dev/null
+++ b/proprietary-blobs.txt
@@ -0,0 +1,177 @@
+# Copyright (C) 2011 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 is generated by device/common/generate-blob-lists.sh - DO NOT EDIT
+
+/system/app/shutdownlistener.apk
+/system/app/TimeService.apk
+/system/bin/bridgemgrd
+/system/bin/diag_klog
+/system/bin/diag_mdlog
+/system/bin/ds_fmc_appd
+/system/bin/irsc_util
+/system/bin/mm-qcamera-daemon
+/system/bin/mpdecision
+/system/bin/netmgrd
+/system/bin/nl_listener
+/system/bin/port-bridge
+/system/bin/qmuxd
+/system/bin/qseecomd
+/system/bin/radish
+/system/bin/rmt_storage
+/system/bin/sensors.qcom
+/system/bin/subsystem_ramdump
+/system/bin/thermal-engine
+/system/bin/time_daemon
+/system/bin/usbhub
+/system/bin/usbhub_init
+/system/etc/Bluetooth_cal.acdb
+/system/etc/DxHDCP.cfg
+/system/etc/firmware/cpp_firmware_v1_1_1.fw
+/system/etc/firmware/cpp_firmware_v1_1_6.fw
+/system/etc/firmware/cpp_firmware_v1_2_0.fw
+/system/etc/General_cal.acdb
+/system/etc/Global_cal.acdb
+/system/etc/Handset_cal.acdb
+/system/etc/Hdmi_cal.acdb
+/system/etc/Headset_cal.acdb
+/system/etc/Speaker_cal.acdb
+/system/lib/hw/gps.msm8974.so
+/system/lib/libadsprpc.so
+/system/lib/libchromatix_imx179_common.so
+/system/lib/libchromatix_imx179_default_video.so
+/system/lib/libchromatix_imx179_preview.so
+/system/lib/libchromatix_imx179_snapshot.so
+/system/lib/libchromatix_mt9m114b_common.so
+/system/lib/libchromatix_mt9m114b_default_video.so
+/system/lib/libchromatix_mt9m114b_preview.so
+/system/lib/libchromatix_mt9m114b_snapshot.so
+/system/lib/libdrmdiag.so
+/system/lib/libdrmfs.so
+/system/lib/libdrmtime.so
+/system/lib/libgeofence.so
+/system/lib/libgps.utils.so
+/system/lib/libI420colorconvert.so
+/system/lib/libloc_adapter.so
+/system/lib/libloc_api_v02.so
+/system/lib/libloc_eng.so
+/system/lib/libmm-abl.so
+/system/lib/libmm-color-convertor.so
+/system/lib/libmmcamera_hdr_lib.so
+/system/lib/libmmcamera_image_stab.so
+/system/lib/libmmcamera_imx179.so
+/system/lib/libmmcamera_mt9m114b.so
+/system/lib/libmmcamera_wavelet_lib.so
+/system/lib/libmmQSM.so
+/system/lib/libQSEEComAPI.so
+/system/lib/libril-qc-qmi-1.so
+/system/lib/libstagefright_hdcp.so
+/system/lib/libxml.so
+/system/vendor/bin/vss_init
+/system/vendor/firmware/a330_pfp.fw
+/system/vendor/firmware/a330_pm4.fw
+/system/vendor/firmware/bcm2079x-b5_firmware.ncd
+/system/vendor/firmware/bcm2079x-b5_pre_firmware.ncd
+/system/vendor/firmware/bcm4335a0.hcd
+/system/vendor/firmware/bcm4335c0.hcd
+/system/vendor/firmware/bu24205_LGIT_VER_2_CAL.bin
+/system/vendor/firmware/bu24205_LGIT_VER_2_DATA1.bin
+/system/vendor/firmware/bu24205_LGIT_VER_2_DATA2.bin
+/system/vendor/firmware/bu24205_LGIT_VER_2_DATA3.bin
+/system/vendor/firmware/bu24205_LGIT_VER_3_CAL.bin
+/system/vendor/firmware/bu24205_LGIT_VER_3_DATA1.bin
+/system/vendor/firmware/bu24205_LGIT_VER_3_DATA2.bin
+/system/vendor/firmware/bu24205_LGIT_VER_3_DATA3.bin
+/system/vendor/firmware/discretix/dxhdcp2.b00
+/system/vendor/firmware/discretix/dxhdcp2.b01
+/system/vendor/firmware/discretix/dxhdcp2.b02
+/system/vendor/firmware/discretix/dxhdcp2.b03
+/system/vendor/firmware/discretix/dxhdcp2.mdt
+/system/vendor/firmware/keymaster/keymaster.b00
+/system/vendor/firmware/keymaster/keymaster.b01
+/system/vendor/firmware/keymaster/keymaster.b02
+/system/vendor/firmware/keymaster/keymaster.b03
+/system/vendor/firmware/keymaster/keymaster.mdt
+/system/vendor/firmware/venus.b00
+/system/vendor/firmware/venus.b01
+/system/vendor/firmware/venus.b02
+/system/vendor/firmware/venus.b03
+/system/vendor/firmware/venus.b04
+/system/vendor/firmware/venus.mdt
+/system/vendor/lib/egl/eglsubAndroid.so
+/system/vendor/lib/egl/libEGL_adreno.so
+/system/vendor/lib/egl/libGLESv1_CM_adreno.so
+/system/vendor/lib/egl/libGLESv2_adreno.so
+/system/vendor/lib/hw/sensors.msm8974.so
+/system/vendor/lib/libacdbloader.so
+/system/vendor/lib/libacdbrtac.so
+/system/vendor/lib/libadiertac.so
+/system/vendor/lib/libadreno_utils.so
+/system/vendor/lib/libAKM8963.so
+/system/vendor/lib/libaudcal.so
+/system/vendor/lib/libC2D2.so
+/system/vendor/lib/libc2d2_a3xx.so
+/system/vendor/lib/libCommandSvc.so
+/system/vendor/lib/libconfigdb.so
+/system/vendor/lib/libdiag.so
+/system/vendor/lib/libdrmdecrypt.so
+/system/vendor/lib/libdsi_netctrl.so
+/system/vendor/lib/libdsutils.so
+/system/vendor/lib/libDxHdcp.so
+/system/vendor/lib/libFuzzmmstillomxenc.so
+/system/vendor/lib/libgsl.so
+/system/vendor/lib/libidl.so
+/system/vendor/lib/libjpegdhw.so
+/system/vendor/lib/libjpegehw.so
+/system/vendor/lib/libllvm-a3xx.so
+/system/vendor/lib/libmmcamera2_c2d_module.so
+/system/vendor/lib/libmmcamera2_cpp_module.so
+/system/vendor/lib/libmmcamera2_iface_modules.so
+/system/vendor/lib/libmmcamera2_imglib_modules.so
+/system/vendor/lib/libmmcamera2_isp_modules.so
+/system/vendor/lib/libmmcamera2_pproc_modules.so
+/system/vendor/lib/libmmcamera2_sensor_modules.so
+/system/vendor/lib/libmmcamera2_stats_algorithm.so
+/system/vendor/lib/libmmcamera2_stats_modules.so
+/system/vendor/lib/libmmcamera2_vpe_module.so
+/system/vendor/lib/libmmcamera2_wnr_module.so
+/system/vendor/lib/libmmcamera_faceproc.so
+/system/vendor/lib/libmmcamera_imglib.so
+/system/vendor/lib/libmmcamera_imx179_eeprom.so
+/system/vendor/lib/libmmipl.so
+/system/vendor/lib/libmmjpeg.so
+/system/vendor/lib/libmmqjpeg_codec.so
+/system/vendor/lib/libnetmgr.so
+/system/vendor/lib/liboemcamera.so
+/system/vendor/lib/libqcci_legacy.so
+/system/vendor/lib/libqdi.so
+/system/vendor/lib/libqdp.so
+/system/vendor/lib/libqmi.so
+/system/vendor/lib/libqmiservices.so
+/system/vendor/lib/libqmi_cci.so
+/system/vendor/lib/libqmi_client_qmux.so
+/system/vendor/lib/libqmi_common_so.so
+/system/vendor/lib/libqmi_csi.so
+/system/vendor/lib/libqmi_encdec.so
+/system/vendor/lib/libqomx_jpegenc.so
+/system/vendor/lib/libril-qcril-hook-oem.so
+/system/vendor/lib/libsc-a3xx.so
+/system/vendor/lib/libsensor1.so
+/system/vendor/lib/libsensor_reg.so
+/system/vendor/lib/libsensor_user_cal.so
+/system/vendor/lib/libTimeService.so
+/system/vendor/lib/libtime_genoff.so
+/system/vendor/lib/libvss_common_core.so
+/system/vendor/lib/libvss_common_idl.so
+/system/vendor/lib/libvss_common_iface.so
diff --git a/self-extractors/Android.mk b/self-extractors/Android.mk
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/self-extractors/Android.mk
diff --git a/self-extractors/PART1 b/self-extractors/PART1
new file mode 100644
index 0000000..935267e
--- /dev/null
+++ b/self-extractors/PART1
@@ -0,0 +1,12 @@
+#
+# Usage is subject to the enclosed license agreement
+
+echo
+echo The license for this software will now be displayed.
+echo You must agree to this license before using this software.
+echo
+echo -n Press Enter to view the license
+read dummy
+echo
+
+more << __EOF__
diff --git a/self-extractors/PART2 b/self-extractors/PART2
new file mode 100644
index 0000000..30e8d43
--- /dev/null
+++ b/self-extractors/PART2
@@ -0,0 +1,22 @@
+__EOF__
+
+if test $? != 0
+then
+  echo ERROR: Couldn\'t display license file 1>&2
+  exit 1
+fi
+
+echo
+
+echo -n Type \"I ACCEPT\" if you agree to the terms of the license:\ 
+read typed
+
+if test "$typed" != I\ ACCEPT
+then
+  echo
+  echo You didn\'t accept the license. Extraction aborted.
+  exit 2
+fi
+
+echo
+
diff --git a/self-extractors/PART3 b/self-extractors/PART3
new file mode 100644
index 0000000..6847be5
--- /dev/null
+++ b/self-extractors/PART3
@@ -0,0 +1,12 @@
+
+if test $? != 0
+then
+  echo
+  echo ERROR: Couldn\'t extract files. 1>&2
+  exit 3
+else
+  echo
+  echo Files extracted successfully.
+fi
+exit 0
+
diff --git a/self-extractors/PROLOGUE b/self-extractors/PROLOGUE
new file mode 100644
index 0000000..c856ef1
--- /dev/null
+++ b/self-extractors/PROLOGUE
@@ -0,0 +1,2 @@
+#!/bin/bash
+#
diff --git a/self-extractors/broadcom/COPYRIGHT b/self-extractors/broadcom/COPYRIGHT
new file mode 100644
index 0000000..bf44774
--- /dev/null
+++ b/self-extractors/broadcom/COPYRIGHT
@@ -0,0 +1 @@
+# (C) Broadcom Corporation
diff --git a/self-extractors/broadcom/LICENSE b/self-extractors/broadcom/LICENSE
new file mode 100644
index 0000000..f633ddc
--- /dev/null
+++ b/self-extractors/broadcom/LICENSE
@@ -0,0 +1,225 @@
+THIS DEVELOPER SOFTWARE LICENSE AGREEMENT (THE "AGREEMENT") IS A LEGALLY
+BINDING AGREEMENT BETWEEN BROADCOM CORPORATION ("LICENSOR") AND
+YOU OR THE LEGAL ENTITY YOU REPRESENT ("You" or its possessive, "Your"). BY
+TYPING "I ACCEPT" WHERE INDICATED YOU ACKNOWLEDGE THAT YOU HAVE READ THIS
+AGREEMENT, UNDERSTAND IT AND AGREE TO BE BOUND BY ITS TERMS AND CONDITIONS.
+IF YOU DO NOT AGREE TO THESE TERMS YOU MUST DISCONTINUE THE INSTALLATION
+PROCESS AND YOU SHALL NOT USE THE SOFTWARE OR RETAIN ANY COPIES OF THE
+SOFTWARE OR DOCUMENTATION. ANY USE OR POSSESSION OF THE SOFTWARE BY YOU IS
+SUBJECT TO THE TERMS AND CONDITIONS SET FORTH IN THIS AGREEMENT. IF THE
+SOFTWARE IS INSTALLED ON A COMPUTER OWNED BY A CORPORATION OR OTHER LEGAL
+ENTITY, THEN YOU REPRESENT AND WARRANT THAT YOU HAVE THE AUTHORITY TO BIND
+SUCH ENTITY TO THE TERMS AND CONDITIONS OF THIS AGREEMENT.
+
+   1.  Special Definitions
+
+      a.  The term "Android" means the open source mobile platform, software
+          stack, operating system, middleware, application programming
+          interfaces and mobile applications under the trade-name "Android"
+          distributed at Android.com.
+
+      b.  The term "Android Applications" means a software application or
+          open-source contribution developed by You, designed to operate with
+          Android that does not contain or incorporate any of the Software.
+
+      c.  The term "Authorized Android Enabled Device" means only the device
+          identified on the site from which You downloaded the Software.
+          The term "Software" means the Licensor's proprietary software and
+          libraries in object code form, designed for use on the Authorized
+          Android Enabled Device.
+
+      d.  The term "Authorized Android Enabled Device Software" means a
+          packaged build for Authorized Android Enabled Devices, consisting
+          of files suitable for installation on an Authorized Android Enabled
+          Device using a mechanism such as fastboot mode or recovery mode.
+
+   2.  License Grant
+
+      a.  Subject to the terms of this Agreement, Licensor hereby grants to
+          You, free of charge, a non-exclusive, non-sublicensable,
+          non-transferable, limited license, during the term of
+          this Agreement, to download, install and use the Software
+          internally in machine-readable (i.e., object code) form and the
+          Documentation for non-commercial use on an Authorized Android
+          Enabled Device and non-commercial redistribution of the Authorized
+          Android Enabled Device Software (the "Limited Purpose"). You may
+          grant your end users the right to use the Software for
+          the Limited Purpose.
+          The license to the Software granted to You hereunder is solely for
+          the Limited Purpose set forth in this section, and the Software
+          shall not be used for any other purpose.
+
+   3.  Restrictions
+
+      a.  Retention of Rights. The entire right, title and interest in the
+          Software shall remain with Licensor and, unless specified in
+          writing hereunder, no rights are granted to any of the Software.
+          Except for the right to use the Software for the Limited Purpose,
+          the delivery of the Software to You does not convey to You any
+          intellectual property rights in the Software, including, but not
+          limited to any rights under any patent, trademark, copyright, or
+          trade secret. Neither the delivery of the Software to You nor any
+          terms set forth herein shall be construed to grant to You, either
+          expressly, by implication or by way of estoppel, any license under
+          any patents or other intellectual property rights covering or
+          relating to any other product or invention or any combination of
+          the Software with any other product. Any rights not expressly
+          granted to You herein are reserved by Licensor.
+
+      b.  No Commercialization or Distribution of the Software and
+          Documentation. Except as expressly provided in Section 2 of this
+          Agreement, You shall have no right to (i) copy, disclose,
+          distribute, publically perform, publically display, transfer,
+          alter, modify, translate, disassemble, decompile, reverse engineer,
+          or adapt the Software and Documentation, or any portion thereof, or
+          create any derivative works based thereon; (ii) rent, lease,
+          assign, sublicense, resell, disclose or otherwise transfer the
+          Software and Documentation in whole or in part to any third party
+          (iii) use the Software and Documentation except for the Limited
+          Purpose, (iv) remove or alter any of the copyright or proprietary
+          notices contained in any of the Software and Documentation. For the
+          purposes of clarity, nothing in this Agreement prohibits You from
+          making and distributing Android Applications under commercial or
+          non-commercial terms, provided that You shall not contain,
+          incorporate, and/or compile the Software or any of its derivative
+          works, in whole or in part, into Your Android Applications and/or
+          any software/devices created by You or by third parties acting on
+          Your behalf. You and any such third party shall comply with all of
+          the terms and conditions of this Agreement.
+
+      c.  No Reverse Engineering. Except for any portions of the Software
+          provided to You in source code format and except for any third
+          party code distributed with the Software that is licensed under
+          contrary terms, You will not reverse engineer, disassemble,
+          decompile, or translate the Software, or otherwise attempt to
+          derive the source code version of the Software, except if and to
+          the extent expressly permitted under any applicable law.
+
+      d.  Third Party Software. You agree that Android may contain third
+          party software. You agree that you may not distribute such third
+          party software for any purpose without appropriate licenses from
+          the applicable third party or parties.
+
+      e.  No Transfer or Assignment. You shall not assign any of its rights
+          or obligations under this Agreement. Any attempted assignment in
+          contravention of this Section shall be void.
+
+   4.  Indemnity
+
+      a.  You agree to indemnify and hold harmless Licensor and
+          its officers, directors, customers, employees and successors and
+          assigns (each an "Indemnified Party") against any and all claims,
+          demands, causes of action, losses, liabilities, damages, costs and
+          expenses, incurred by the Indemnified Party (including but not
+          limited to costs of defense, investigation and reasonable
+          attorney's fees) arising out of, resulting from or related to
+          (i) any software, products, documentation, content, materials or
+          derivative works created or developed by You using the Software
+          which causes an infringement of any patent, copyright, trademark,
+          trade secret, or other property, publicity or privacy rights of any
+          third parties arising in any jurisdiction anywhere in the world,
+          (ii) the download, distribution, installation, storage, execution,
+          use or transfer of such software, products, documentation, content,
+          materials or derivative works by any person or entity, and/or
+          (iii) any breach of this Agreement by You. If requested by an
+          Indemnified Party, You agree to defend such Indemnified Party in
+          connection with any third party claims, demands, or causes of
+          action resulting from, arising out of or in connection with any of
+          the foregoing.
+
+   5.  Limitation of Liability
+
+      a.  TO THE MAXIMUM EXTENT PERMITTED UNDER APPLICABLE LAWS, UNDER NO
+          CIRCUMSTANCES, INCLUDING WITHOUT LIMITATION NEGLIGENCE, SHALL
+          LICENSOR, ITS AFFILIATES AND/OR ITS DIRECTORS, OFFICERS,
+          EMPLOYEES OR AGENTS BE LIABLE FOR ANY INDIRECT, INCIDENTAL,
+          SPECIAL, PUNITIVE OR CONSEQUENTIAL DAMAGES (INCLUDING BUT NOT
+          LIMITED TO DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS
+          INTERRUPTION, LOSS OF BUSINESS INFORMATION AND THE LIKE) ARISING
+          OUT OF OR IN CONNECTION WITH THE SOFTWARE OR ANY DOWNLOAD,
+          INSTALLATION OR USE OF, OR INABILITY TO USE, THE SOFTWARE, EVEN IF
+          LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+          DAMAGES. SOME JURISDICTIONS DO NOT ALLOW THE LIMITATION OR
+          EXCLUSION OF LIABILITY FOR INCIDENTAL OR CONSEQUENTIAL DAMAGES SO
+          THE ABOVE LIMITATION OR EXCLUSION MAY NOT APPLY OR MAY BE LIMITED.
+          IN NO EVENT SHALL LICENSOR'S TOTAL AGGREGATE LIABILITY
+          TO YOU FOR ANY AND ALL DAMAGES, LOSSES, CLAIMS AND CAUSES OF
+          ACTIONS (WHETHER IN CONTRACT, TORT, INCLUDING NEGLIGENCE,
+          INDEMNIFICATION OR OTHERWISE) EXCEED ONE HUNDRED U.S. DOLLARS
+          (US$100). THE LIMITATIONS SET FORTH IN THIS PARAGRAPH SHALL BE
+          DEEMED TO APPLY TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW.
+          THE PARTIES HAVE FULLY CONSIDERED THE FOREGOING ALLOCATION OF RISK
+          AND FIND IT REASONABLE, AND THAT THE FOREGOING LIMITATIONS IN THIS
+          PARAGRAPH ARE AN ESSENTIAL BASIS OF THE BARGAIN BETWEEN THE
+          PARTIES.
+
+   6.  No Warranty
+
+      a.  LICENSOR MAKES NO WARRANTIES, EXPRESS OR IMPLIED, WITH
+          RESPECT TO THE SOFTWARE AND DOCUMENTATION PROVIDED UNDER THIS
+          AGREEMENT, INCLUDING BUT NOT LIMITED TO ANY WARRANTY OF
+          MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE OR AGAINST
+          INFRINGEMENT, OR ANY EXPRESS OR IMPLIED WARRANTY ARISING OUT OF
+          TRADE USAGE OR OUT OF A COURSE OF DEALING OR COURSE OF PERFORMANCE.
+          NOTHING CONTAINED IN THIS AGREEMENT SHALL BE CONSTRUED AS A
+          WARRANTY OR REPRESENTATION BY LICENSOR (I) AS TO THE VALIDITY OR
+          SCOPE OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT
+          AND (II) THAT ANY MANUFACTURE OR USE WILL BE FREE FROM INFRINGEMENT
+          OF PATENTS, COPYRIGHTS OR OTHER INTELLECTUAL PROPERTY RIGHTS OF
+          OTHERS, AND IT SHALL BE THE SOLE RESPONSIBILITY OF YOU TO MAKE SUCH
+          DETERMINATION AS IS NECESSARY WITH RESPECT TO THE ACQUISITION OF
+          LICENSES UNDER PATENTS AND OTHER INTELLECTUAL PROPERTY OF THIRD
+          PARTIES. Licensor SHALL NOT HAVE ANY OBLIGATION TO
+          PROVIDE ANY TECHNICAL SUPPORT OF THE SOFTWARE UNDER THIS AGREEMENT.
+
+   7.  Term and Termination
+
+      a.  This Agreement shall be effective on the date You accept this
+          Agreement and shall remain in effect until terminated as provided
+          herein. You may terminate the Agreement at any time by deleting and
+          destroying all copies of the Software and all related information
+          in Your possession or control. This Agreement terminates
+          immediately and automatically, with or without notice, if You fail
+          to comply with any provision hereof. Additionally, Licensor may at
+          any time terminate this Agreement, without cause, upon notice to
+          You. Upon termination You must delete or destroy all copies of the
+          Software in Your possession, and the license granted to You in this
+          Agreement shall terminate. Sections 3, 4, 5, 6 and 8 shall survive
+          the termination of this Agreement.
+
+   8.  Miscellaneous
+
+      a.  Governing Law. This Agreement is governed and interpreted in
+          accordance with the laws of the State of California without giving
+          effect to its conflict of laws provisions. The United Nations
+          Convention on Contracts for the International Sale of Goods is
+          expressly disclaimed and shall not apply. Any claim arising out of
+          or related to this Agreement must be brought exclusively in a
+          federal or state court located in Santa Clara County, California
+          and You consent to the jurisdiction and venue of such courts.
+
+      b.  Waiver and Severability. The failure of either party to require
+          performance by the other party of any provision of this Agreement
+          shall not affect the full right to require such performance at any
+          time thereafter; nor shall the waiver by either party of a breach
+          of any provision of this Agreement be taken or held to be a waiver
+          of the provision itself. Severability. If any provision of this
+          Agreement is unenforceable or invalid under any applicable law or
+          is so held by applicable court decision, such unenforceability or
+          invalidity shall not render this Agreement unenforceable or invalid
+          as a whole, and such provision shall be changed and interpreted so
+          as to best accomplish the objectives of such unenforceable or
+          invalid provision within the limits of applicable law or
+          applicable court decisions.
+
+      c.  Amendment and Modification. This Agreement and any of its terms and
+          provisions may only be amended, modified, supplemented or waived in
+          a writing signed by both parties hereto.
+
+      d.  Compliance with Laws. You shall comply with all applicable laws,
+          rules, and regulations in connection with its activities under this
+          Agreement.
+
+      e.  Entire Agreement. This Agreement completely and exclusively states
+          the agreement between You and Licensor regarding this subject
+          matter.
diff --git a/self-extractors/broadcom/staging/BoardConfigPartial.mk b/self-extractors/broadcom/staging/BoardConfigPartial.mk
new file mode 100644
index 0000000..317c4e6
--- /dev/null
+++ b/self-extractors/broadcom/staging/BoardConfigPartial.mk
@@ -0,0 +1,13 @@
+# Copyright 2013 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.
diff --git a/self-extractors/broadcom/staging/device-partial.mk b/self-extractors/broadcom/staging/device-partial.mk
new file mode 100644
index 0000000..a2d2928
--- /dev/null
+++ b/self-extractors/broadcom/staging/device-partial.mk
@@ -0,0 +1,21 @@
+# Copyright 2013 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.
+
+# Broadcom blob(s) necessary for Hammerhead hardware
+PRODUCT_COPY_FILES := \
+    vendor/broadcom/hammerhead/proprietary/bcm2079x-b5_firmware.ncd:system/vendor/firmware/bcm2079x-b5_firmware.ncd:broadcom \
+    vendor/broadcom/hammerhead/proprietary/bcm2079x-b5_pre_firmware.ncd:system/vendor/firmware/bcm2079x-b5_pre_firmware.ncd:broadcom \
+    vendor/broadcom/hammerhead/proprietary/bcm4335a0.hcd:system/vendor/firmware/bcm4335a0.hcd:broadcom \
+    vendor/broadcom/hammerhead/proprietary/bcm4335c0.hcd:system/vendor/firmware/bcm4335c0.hcd:broadcom \
+
diff --git a/self-extractors/extract-lists.txt b/self-extractors/extract-lists.txt
new file mode 100644
index 0000000..d9a75c1
--- /dev/null
+++ b/self-extractors/extract-lists.txt
@@ -0,0 +1,170 @@
+  broadcom)
+    TO_EXTRACT="\
+            system/vendor/firmware/bcm2079x-b5_firmware.ncd \
+            system/vendor/firmware/bcm2079x-b5_pre_firmware.ncd \
+            system/vendor/firmware/bcm4335a0.hcd \
+            system/vendor/firmware/bcm4335c0.hcd \
+            "
+    ;;
+  lge)
+    TO_EXTRACT="\
+            system/etc/Bluetooth_cal.acdb \
+            system/etc/DxHDCP.cfg \
+            system/etc/General_cal.acdb \
+            system/etc/Global_cal.acdb \
+            system/etc/Handset_cal.acdb \
+            system/etc/Hdmi_cal.acdb \
+            system/etc/Headset_cal.acdb \
+            system/etc/Speaker_cal.acdb \
+            system/vendor/bin/vss_init \
+            system/vendor/firmware/bu24205_LGIT_VER_2_CAL.bin \
+            system/vendor/firmware/bu24205_LGIT_VER_2_DATA1.bin \
+            system/vendor/firmware/bu24205_LGIT_VER_2_DATA2.bin \
+            system/vendor/firmware/bu24205_LGIT_VER_2_DATA3.bin \
+            system/vendor/firmware/bu24205_LGIT_VER_3_CAL.bin \
+            system/vendor/firmware/bu24205_LGIT_VER_3_DATA1.bin \
+            system/vendor/firmware/bu24205_LGIT_VER_3_DATA2.bin \
+            system/vendor/firmware/bu24205_LGIT_VER_3_DATA3.bin \
+            system/vendor/firmware/discretix/dxhdcp2.b00 \
+            system/vendor/firmware/discretix/dxhdcp2.b01 \
+            system/vendor/firmware/discretix/dxhdcp2.b02 \
+            system/vendor/firmware/discretix/dxhdcp2.b03 \
+            system/vendor/firmware/discretix/dxhdcp2.mdt \
+            system/vendor/firmware/keymaster/keymaster.b00 \
+            system/vendor/firmware/keymaster/keymaster.b01 \
+            system/vendor/firmware/keymaster/keymaster.b02 \
+            system/vendor/firmware/keymaster/keymaster.b03 \
+            system/vendor/firmware/keymaster/keymaster.mdt \
+            system/vendor/lib/libAKM8963.so \
+            system/vendor/lib/libDxHdcp.so \
+            system/vendor/lib/libvss_common_core.so \
+            system/vendor/lib/libvss_common_idl.so \
+            system/vendor/lib/libvss_common_iface.so \
+            "
+    ;;
+  qcom)
+    TO_EXTRACT="\
+            system/bin/bridgemgrd \
+            system/bin/diag_klog \
+            system/bin/diag_mdlog \
+            system/bin/ds_fmc_appd \
+            system/bin/irsc_util \
+            system/bin/mm-qcamera-daemon \
+            system/bin/mpdecision \
+            system/bin/netmgrd \
+            system/bin/nl_listener \
+            system/bin/port-bridge \
+            system/bin/qmuxd \
+            system/bin/qseecomd \
+            system/bin/radish \
+            system/bin/rmt_storage \
+            system/bin/sensors.qcom \
+            system/bin/subsystem_ramdump \
+            system/bin/thermal-engine \
+            system/bin/usbhub \
+            system/bin/usbhub_init \
+            system/etc/firmware/cpp_firmware_v1_1_1.fw \
+            system/etc/firmware/cpp_firmware_v1_1_6.fw \
+            system/etc/firmware/cpp_firmware_v1_2_0.fw \
+            system/lib/hw/gps.msm8974.so \
+            system/lib/libI420colorconvert.so \
+            system/lib/libQSEEComAPI.so \
+            system/lib/libadsprpc.so \
+            system/lib/libchromatix_imx179_common.so \
+            system/lib/libchromatix_imx179_default_video.so \
+            system/lib/libchromatix_imx179_preview.so \
+            system/lib/libchromatix_imx179_snapshot.so \
+            system/lib/libchromatix_mt9m114b_common.so \
+            system/lib/libchromatix_mt9m114b_default_video.so \
+            system/lib/libchromatix_mt9m114b_preview.so \
+            system/lib/libchromatix_mt9m114b_snapshot.so \
+            system/lib/libdrmdiag.so \
+            system/lib/libdrmfs.so \
+            system/lib/libdrmtime.so \
+            system/lib/libgeofence.so \
+            system/lib/libgps.utils.so \
+            system/lib/libloc_adapter.so \
+            system/lib/libloc_api_v02.so \
+            system/lib/libloc_eng.so \
+            system/lib/libmm-abl.so \
+            system/lib/libmm-color-convertor.so \
+            system/lib/libmmQSM.so \
+            system/lib/libmmcamera_hdr_lib.so \
+            system/lib/libmmcamera_image_stab.so \
+            system/lib/libmmcamera_imx179.so \
+            system/lib/libmmcamera_mt9m114b.so \
+            system/lib/libmmcamera_wavelet_lib.so \
+            system/lib/libril-qc-qmi-1.so \
+            system/lib/libstagefright_hdcp.so \
+            system/lib/libxml.so \
+            system/vendor/firmware/a330_pfp.fw \
+            system/vendor/firmware/a330_pm4.fw \
+            system/vendor/firmware/venus.b00 \
+            system/vendor/firmware/venus.b01 \
+            system/vendor/firmware/venus.b02 \
+            system/vendor/firmware/venus.b03 \
+            system/vendor/firmware/venus.b04 \
+            system/vendor/firmware/venus.b05 \
+            system/vendor/firmware/venus.b06 \
+            system/vendor/firmware/venus.mdt \
+            system/vendor/lib/egl/eglsubAndroid.so \
+            system/vendor/lib/egl/libEGL_adreno.so \
+            system/vendor/lib/egl/libGLESv1_CM_adreno.so \
+            system/vendor/lib/egl/libGLESv2_adreno.so \
+            system/vendor/lib/hw/sensors.msm8974.so \
+            system/vendor/lib/libC2D2.so \
+            system/vendor/lib/libCommandSvc.so \
+            system/vendor/lib/libFuzzmmstillomxenc.so \
+            system/vendor/lib/libacdbloader.so \
+            system/vendor/lib/libacdbrtac.so \
+            system/vendor/lib/libadiertac.so \
+            system/vendor/lib/libadreno_utils.so \
+            system/vendor/lib/libaudcal.so \
+            system/vendor/lib/libc2d2_a3xx.so \
+            system/vendor/lib/libconfigdb.so \
+            system/vendor/lib/libdiag.so \
+            system/vendor/lib/libdrmdecrypt.so \
+            system/vendor/lib/libdsi_netctrl.so \
+            system/vendor/lib/libdsutils.so \
+            system/vendor/lib/libgsl.so \
+            system/vendor/lib/libidl.so \
+            system/vendor/lib/libjpegdhw.so \
+            system/vendor/lib/libjpegehw.so \
+            system/vendor/lib/libllvm-a3xx.so \
+            system/vendor/lib/libmmcamera2_c2d_module.so \
+            system/vendor/lib/libmmcamera2_cpp_module.so \
+            system/vendor/lib/libmmcamera2_iface_modules.so \
+            system/vendor/lib/libmmcamera2_imglib_modules.so \
+            system/vendor/lib/libmmcamera2_isp_modules.so \
+            system/vendor/lib/libmmcamera2_pproc_modules.so \
+            system/vendor/lib/libmmcamera2_sensor_modules.so \
+            system/vendor/lib/libmmcamera2_stats_algorithm.so \
+            system/vendor/lib/libmmcamera2_stats_modules.so \
+            system/vendor/lib/libmmcamera2_vpe_module.so \
+            system/vendor/lib/libmmcamera2_wnr_module.so \
+            system/vendor/lib/libmmcamera_faceproc.so \
+            system/vendor/lib/libmmcamera_imglib.so \
+            system/vendor/lib/libmmcamera_imx179_eeprom.so \
+            system/vendor/lib/libmmipl.so \
+            system/vendor/lib/libmmjpeg.so \
+            system/vendor/lib/libmmqjpeg_codec.so \
+            system/vendor/lib/libnetmgr.so \
+            system/vendor/lib/liboemcamera.so \
+            system/vendor/lib/libqcci_legacy.so \
+            system/vendor/lib/libqdi.so \
+            system/vendor/lib/libqdp.so \
+            system/vendor/lib/libqmi.so \
+            system/vendor/lib/libqmi_cci.so \
+            system/vendor/lib/libqmi_client_qmux.so \
+            system/vendor/lib/libqmi_common_so.so \
+            system/vendor/lib/libqmi_csi.so \
+            system/vendor/lib/libqmi_encdec.so \
+            system/vendor/lib/libqmiservices.so \
+            system/vendor/lib/libqomx_jpegenc.so \
+            system/vendor/lib/libril-qcril-hook-oem.so \
+            system/vendor/lib/libsc-a3xx.so \
+            system/vendor/lib/libsensor1.so \
+            system/vendor/lib/libsensor_reg.so \
+            system/vendor/lib/libsensor_user_cal.so \
+            "
+    ;;
diff --git a/self-extractors/files-by-owner.sh b/self-extractors/files-by-owner.sh
new file mode 100755
index 0000000..497bb44
--- /dev/null
+++ b/self-extractors/files-by-owner.sh
@@ -0,0 +1,95 @@
+#!/bin/sh
+
+# Copyright 2013 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.
+
+rm -f extract-lists.txt
+cat ../vendor_owner_info.txt |
+cut -d : -f 2 |
+sort -u |
+grep -v google |
+while read target_owner
+do
+cat > $target_owner/staging/device-partial.mk << EOF
+# Copyright 2013 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.
+
+EOF
+echo -n "# " >> $target_owner/staging/device-partial.mk
+case $target_owner in
+broadcom)
+echo -n Broadcom >> $target_owner/staging/device-partial.mk
+;;
+lge)
+echo -n LGE >> $target_owner/staging/device-partial.mk
+;;
+qcom)
+echo -n Qualcomm >> $target_owner/staging/device-partial.mk
+;;
+esac
+echo " blob(s) necessary for Hammerhead hardware" >> $target_owner/staging/device-partial.mk
+echo "PRODUCT_COPY_FILES := \\" >> $target_owner/staging/device-partial.mk
+
+echo "  $target_owner)" >> extract-lists.txt
+echo "    TO_EXTRACT=\"\\" >> extract-lists.txt
+
+
+cat ../proprietary-blobs.txt |
+grep ^/ |
+cut -b 2- |
+sort |
+while read file
+do
+
+auto_owner=$(grep ^$file: ../vendor_owner_info.txt | cut -d : -f 2)
+if test $file = system/lib/hw/gps.msm8974.so -o $file = system/lib/libgps.utils.so -o $file = system/lib/libloc_adapter.so -o $file = system/lib/libloc_eng.so
+then
+auto_owner=qcom
+fi
+
+if test "$auto_owner" = ""
+then
+echo $file has no known owner
+fi
+
+if test "$auto_owner" = "$target_owner" -a $file != system/app/shutdownlistener.apk -a $file != system/app/TimeService.apk
+then
+if test $file != ZZZ
+then
+echo "    vendor/$target_owner/hammerhead/proprietary/$(basename $file):$file:$target_owner \\" >> $target_owner/staging/device-partial.mk
+fi
+echo "            $file \\" >> extract-lists.txt
+fi
+done
+
+echo >> $target_owner/staging/device-partial.mk
+if test $target_owner = qcom
+then
+true ; #echo PRODUCT_PACKAGES := libacdbloader >> $target_owner/staging/device-partial.mk
+fi
+
+echo "            \"" >> extract-lists.txt
+echo "    ;;" >> extract-lists.txt
+done
diff --git a/self-extractors/generate-packages.sh b/self-extractors/generate-packages.sh
new file mode 100755
index 0000000..38e95da
--- /dev/null
+++ b/self-extractors/generate-packages.sh
@@ -0,0 +1,240 @@
+#!/bin/sh
+
+# Copyright 2012 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.
+
+# start klp-dev
+# 730924 = KRS02B
+# 741161 = KRS15
+# end klp-dev
+BRANCH=klp-dev
+if test $BRANCH = klp-dev
+then
+  ZIP=hammerhead-ota-741161
+  BUILD=krs15
+fi # klp-dev
+ROOTDEVICE=hammerhead
+DEVICE=hammerhead
+MANUFACTURER=lge
+
+for COMPANY in broadcom lge qcom
+do
+  echo Processing files from $COMPANY
+  rm -rf tmp
+  FILEDIR=tmp/vendor/$COMPANY/$DEVICE/proprietary
+  mkdir -p $FILEDIR
+  mkdir -p tmp/vendor/$MANUFACTURER/$ROOTDEVICE
+  case $COMPANY in
+  broadcom)
+    TO_EXTRACT="\
+            system/vendor/firmware/bcm2079x-b5_firmware.ncd \
+            system/vendor/firmware/bcm2079x-b5_pre_firmware.ncd \
+            system/vendor/firmware/bcm4335a0.hcd \
+            system/vendor/firmware/bcm4335c0.hcd \
+            "
+    ;;
+  lge)
+    TO_EXTRACT="\
+            system/etc/Bluetooth_cal.acdb \
+            system/etc/DxHDCP.cfg \
+            system/etc/General_cal.acdb \
+            system/etc/Global_cal.acdb \
+            system/etc/Handset_cal.acdb \
+            system/etc/Hdmi_cal.acdb \
+            system/etc/Headset_cal.acdb \
+            system/etc/Speaker_cal.acdb \
+            system/vendor/bin/vss_init \
+            system/vendor/firmware/bu24205_LGIT_VER_2_CAL.bin \
+            system/vendor/firmware/bu24205_LGIT_VER_2_DATA1.bin \
+            system/vendor/firmware/bu24205_LGIT_VER_2_DATA2.bin \
+            system/vendor/firmware/bu24205_LGIT_VER_2_DATA3.bin \
+            system/vendor/firmware/bu24205_LGIT_VER_3_CAL.bin \
+            system/vendor/firmware/bu24205_LGIT_VER_3_DATA1.bin \
+            system/vendor/firmware/bu24205_LGIT_VER_3_DATA2.bin \
+            system/vendor/firmware/bu24205_LGIT_VER_3_DATA3.bin \
+            system/vendor/firmware/discretix/dxhdcp2.b00 \
+            system/vendor/firmware/discretix/dxhdcp2.b01 \
+            system/vendor/firmware/discretix/dxhdcp2.b02 \
+            system/vendor/firmware/discretix/dxhdcp2.b03 \
+            system/vendor/firmware/discretix/dxhdcp2.mdt \
+            system/vendor/firmware/keymaster/keymaster.b00 \
+            system/vendor/firmware/keymaster/keymaster.b01 \
+            system/vendor/firmware/keymaster/keymaster.b02 \
+            system/vendor/firmware/keymaster/keymaster.b03 \
+            system/vendor/firmware/keymaster/keymaster.mdt \
+            system/vendor/lib/libAKM8963.so \
+            system/vendor/lib/libDxHdcp.so \
+            system/vendor/lib/libvss_common_core.so \
+            system/vendor/lib/libvss_common_idl.so \
+            system/vendor/lib/libvss_common_iface.so \
+            "
+    ;;
+  qcom)
+    TO_EXTRACT="\
+            system/bin/bridgemgrd \
+            system/bin/diag_klog \
+            system/bin/diag_mdlog \
+            system/bin/ds_fmc_appd \
+            system/bin/irsc_util \
+            system/bin/mm-qcamera-daemon \
+            system/bin/mpdecision \
+            system/bin/netmgrd \
+            system/bin/nl_listener \
+            system/bin/port-bridge \
+            system/bin/qmuxd \
+            system/bin/qseecomd \
+            system/bin/radish \
+            system/bin/rmt_storage \
+            system/bin/sensors.qcom \
+            system/bin/subsystem_ramdump \
+            system/bin/thermal-engine \
+            system/bin/usbhub \
+            system/bin/usbhub_init \
+            system/etc/firmware/cpp_firmware_v1_1_1.fw \
+            system/etc/firmware/cpp_firmware_v1_1_6.fw \
+            system/etc/firmware/cpp_firmware_v1_2_0.fw \
+            system/lib/hw/gps.msm8974.so \
+            system/lib/libI420colorconvert.so \
+            system/lib/libQSEEComAPI.so \
+            system/lib/libadsprpc.so \
+            system/lib/libchromatix_imx179_common.so \
+            system/lib/libchromatix_imx179_default_video.so \
+            system/lib/libchromatix_imx179_preview.so \
+            system/lib/libchromatix_imx179_snapshot.so \
+            system/lib/libchromatix_mt9m114b_common.so \
+            system/lib/libchromatix_mt9m114b_default_video.so \
+            system/lib/libchromatix_mt9m114b_preview.so \
+            system/lib/libchromatix_mt9m114b_snapshot.so \
+            system/lib/libdrmdiag.so \
+            system/lib/libdrmfs.so \
+            system/lib/libdrmtime.so \
+            system/lib/libgeofence.so \
+            system/lib/libgps.utils.so \
+            system/lib/libloc_adapter.so \
+            system/lib/libloc_api_v02.so \
+            system/lib/libloc_eng.so \
+            system/lib/libmm-abl.so \
+            system/lib/libmm-color-convertor.so \
+            system/lib/libmmQSM.so \
+            system/lib/libmmcamera_hdr_lib.so \
+            system/lib/libmmcamera_image_stab.so \
+            system/lib/libmmcamera_imx179.so \
+            system/lib/libmmcamera_mt9m114b.so \
+            system/lib/libmmcamera_wavelet_lib.so \
+            system/lib/libril-qc-qmi-1.so \
+            system/lib/libstagefright_hdcp.so \
+            system/lib/libxml.so \
+            system/vendor/firmware/a330_pfp.fw \
+            system/vendor/firmware/a330_pm4.fw \
+            system/vendor/firmware/venus.b00 \
+            system/vendor/firmware/venus.b01 \
+            system/vendor/firmware/venus.b02 \
+            system/vendor/firmware/venus.b03 \
+            system/vendor/firmware/venus.b04 \
+            system/vendor/firmware/venus.b05 \
+            system/vendor/firmware/venus.b06 \
+            system/vendor/firmware/venus.mdt \
+            system/vendor/lib/egl/eglsubAndroid.so \
+            system/vendor/lib/egl/libEGL_adreno.so \
+            system/vendor/lib/egl/libGLESv1_CM_adreno.so \
+            system/vendor/lib/egl/libGLESv2_adreno.so \
+            system/vendor/lib/hw/sensors.msm8974.so \
+            system/vendor/lib/libC2D2.so \
+            system/vendor/lib/libCommandSvc.so \
+            system/vendor/lib/libFuzzmmstillomxenc.so \
+            system/vendor/lib/libacdbloader.so \
+            system/vendor/lib/libacdbrtac.so \
+            system/vendor/lib/libadiertac.so \
+            system/vendor/lib/libadreno_utils.so \
+            system/vendor/lib/libaudcal.so \
+            system/vendor/lib/libc2d2_a3xx.so \
+            system/vendor/lib/libconfigdb.so \
+            system/vendor/lib/libdiag.so \
+            system/vendor/lib/libdrmdecrypt.so \
+            system/vendor/lib/libdsi_netctrl.so \
+            system/vendor/lib/libdsutils.so \
+            system/vendor/lib/libgsl.so \
+            system/vendor/lib/libidl.so \
+            system/vendor/lib/libjpegdhw.so \
+            system/vendor/lib/libjpegehw.so \
+            system/vendor/lib/libllvm-a3xx.so \
+            system/vendor/lib/libmmcamera2_c2d_module.so \
+            system/vendor/lib/libmmcamera2_cpp_module.so \
+            system/vendor/lib/libmmcamera2_iface_modules.so \
+            system/vendor/lib/libmmcamera2_imglib_modules.so \
+            system/vendor/lib/libmmcamera2_isp_modules.so \
+            system/vendor/lib/libmmcamera2_pproc_modules.so \
+            system/vendor/lib/libmmcamera2_sensor_modules.so \
+            system/vendor/lib/libmmcamera2_stats_algorithm.so \
+            system/vendor/lib/libmmcamera2_stats_modules.so \
+            system/vendor/lib/libmmcamera2_vpe_module.so \
+            system/vendor/lib/libmmcamera2_wnr_module.so \
+            system/vendor/lib/libmmcamera_faceproc.so \
+            system/vendor/lib/libmmcamera_imglib.so \
+            system/vendor/lib/libmmcamera_imx179_eeprom.so \
+            system/vendor/lib/libmmipl.so \
+            system/vendor/lib/libmmjpeg.so \
+            system/vendor/lib/libmmqjpeg_codec.so \
+            system/vendor/lib/libnetmgr.so \
+            system/vendor/lib/liboemcamera.so \
+            system/vendor/lib/libqcci_legacy.so \
+            system/vendor/lib/libqdi.so \
+            system/vendor/lib/libqdp.so \
+            system/vendor/lib/libqmi.so \
+            system/vendor/lib/libqmi_cci.so \
+            system/vendor/lib/libqmi_client_qmux.so \
+            system/vendor/lib/libqmi_common_so.so \
+            system/vendor/lib/libqmi_csi.so \
+            system/vendor/lib/libqmi_encdec.so \
+            system/vendor/lib/libqmiservices.so \
+            system/vendor/lib/libqomx_jpegenc.so \
+            system/vendor/lib/libril-qcril-hook-oem.so \
+            system/vendor/lib/libsc-a3xx.so \
+            system/vendor/lib/libsensor1.so \
+            system/vendor/lib/libsensor_reg.so \
+            system/vendor/lib/libsensor_user_cal.so \
+            "
+    ;;
+  esac
+  echo \ \ Extracting files from OTA package
+  for ONE_FILE in $TO_EXTRACT
+  do
+    echo \ \ \ \ Extracting $ONE_FILE
+    unzip -j -o $ZIP $ONE_FILE -d $FILEDIR > /dev/null || echo \ \ \ \ Error extracting $ONE_FILE
+    if test $ONE_FILE = system/vendor/bin/gpsd -o $ONE_FILE = system/vendor/bin/pvrsrvinit -o $ONE_FILE = system/bin/fRom
+    then
+      chmod a+x $FILEDIR/$(basename $ONE_FILE) || echo \ \ \ \ Error chmoding $ONE_FILE
+    fi
+  done
+  echo \ \ Setting up $COMPANY-specific makefiles
+  cp -R $COMPANY/staging/* tmp/vendor/$COMPANY/$DEVICE || echo \ \ \ \ Error copying makefiles
+  echo \ \ Setting up shared makefiles
+  cp -R root/* tmp/vendor/$MANUFACTURER/$ROOTDEVICE || echo \ \ \ \ Error copying makefiles
+  echo \ \ Generating self-extracting script
+  SCRIPT=extract-$COMPANY-$DEVICE.sh
+  cat PROLOGUE > tmp/$SCRIPT || echo \ \ \ \ Error generating script
+  cat $COMPANY/COPYRIGHT >> tmp/$SCRIPT || echo \ \ \ \ Error generating script
+  cat PART1 >> tmp/$SCRIPT || echo \ \ \ \ Error generating script
+  cat $COMPANY/LICENSE >> tmp/$SCRIPT || echo \ \ \ \ Error generating script
+  cat PART2 >> tmp/$SCRIPT || echo \ \ \ \ Error generating script
+  echo tail -n +$(expr 2 + $(cat PROLOGUE $COMPANY/COPYRIGHT PART1 $COMPANY/LICENSE PART2 PART3 | wc -l)) \$0 \| tar zxv >> tmp/$SCRIPT || echo \ \ \ \ Error generating script
+  cat PART3 >> tmp/$SCRIPT || echo \ \ \ \ Error generating script
+  (cd tmp ; tar zc --owner=root --group=root vendor/ >> $SCRIPT || echo \ \ \ \ Error generating embedded tgz)
+  chmod a+x tmp/$SCRIPT || echo \ \ \ \ Error generating script
+  ARCHIVE=$COMPANY-$DEVICE-$BUILD-$(md5sum < tmp/$SCRIPT | cut -b -8 | tr -d \\n).tgz
+  rm -f $ARCHIVE
+  echo \ \ Generating final archive
+  (cd tmp ; tar --owner=root --group=root -z -c -f ../$ARCHIVE $SCRIPT || echo \ \ \ \ Error archiving script)
+  rm -rf tmp
+done
diff --git a/self-extractors/lge/COPYRIGHT b/self-extractors/lge/COPYRIGHT
new file mode 100644
index 0000000..add330e
--- /dev/null
+++ b/self-extractors/lge/COPYRIGHT
@@ -0,0 +1 @@
+# (C) LG Electronics, Inc.
diff --git a/self-extractors/lge/LICENSE b/self-extractors/lge/LICENSE
new file mode 100644
index 0000000..0fdf772
--- /dev/null
+++ b/self-extractors/lge/LICENSE
@@ -0,0 +1,225 @@
+THIS DEVELOPER SOFTWARE LICENSE AGREEMENT (THE "AGREEMENT") IS A LEGALLY
+BINDING AGREEMENT BETWEEN LG Electronics, Inc. ("LICENSOR") AND
+YOU OR THE LEGAL ENTITY YOU REPRESENT ("You" or its possessive, "Your"). BY
+TYPING "I ACCEPT" WHERE INDICATED YOU ACKNOWLEDGE THAT YOU HAVE READ THIS
+AGREEMENT, UNDERSTAND IT AND AGREE TO BE BOUND BY ITS TERMS AND CONDITIONS.
+IF YOU DO NOT AGREE TO THESE TERMS YOU MUST DISCONTINUE THE INSTALLATION
+PROCESS AND YOU SHALL NOT USE THE SOFTWARE OR RETAIN ANY COPIES OF THE
+SOFTWARE OR DOCUMENTATION. ANY USE OR POSSESSION OF THE SOFTWARE BY YOU IS
+SUBJECT TO THE TERMS AND CONDITIONS SET FORTH IN THIS AGREEMENT. IF THE
+SOFTWARE IS INSTALLED ON A COMPUTER OWNED BY A CORPORATION OR OTHER LEGAL
+ENTITY, THEN YOU REPRESENT AND WARRANT THAT YOU HAVE THE AUTHORITY TO BIND
+SUCH ENTITY TO THE TERMS AND CONDITIONS OF THIS AGREEMENT.
+
+   1.  Special Definitions
+
+      a.  The term "Android" means the open source mobile platform, software
+          stack, operating system, middleware, application programming
+          interfaces and mobile applications under the trade-name "Android"
+          distributed at Android.com.
+
+      b.  The term "Android Applications" means a software application or
+          open-source contribution developed by You, designed to operate with
+          Android that does not contain or incorporate any of the Software.
+
+      c.  The term "Authorized Android Enabled Device" means only the device
+          identified on the site from which You downloaded the Software.
+          The term "Software" means the Licensor's proprietary software and
+          libraries in object code form, designed for use on the Authorized
+          Android Enabled Device.
+
+      d.  The term "Authorized Android Enabled Device Software" means a
+          packaged build for Authorized Android Enabled Devices, consisting
+          of files suitable for installation on an Authorized Android Enabled
+          Device using a mechanism such as fastboot mode or recovery mode.
+
+   2.  License Grant
+
+      a.  Subject to the terms of this Agreement, Licensor hereby grants to
+          You, free of charge, a non-exclusive, non-sublicensable,
+          non-transferable, limited license, during the term of
+          this Agreement, to download, install and use the Software
+          internally in machine-readable (i.e., object code) form and the
+          Documentation for non-commercial use on an Authorized Android
+          Enabled Device and non-commercial redistribution of the Authorized
+          Android Enabled Device Software (the "Limited Purpose"). You may
+          grant your end users the right to use the Software for
+          the Limited Purpose.
+          The license to the Software granted to You hereunder is solely for
+          the Limited Purpose set forth in this section, and the Software
+          shall not be used for any other purpose.
+
+   3.  Restrictions
+
+      a.  Retention of Rights. The entire right, title and interest in the
+          Software shall remain with Licensor and, unless specified in
+          writing hereunder, no rights are granted to any of the Software.
+          Except for the right to use the Software for the Limited Purpose,
+          the delivery of the Software to You does not convey to You any
+          intellectual property rights in the Software, including, but not
+          limited to any rights under any patent, trademark, copyright, or
+          trade secret. Neither the delivery of the Software to You nor any
+          terms set forth herein shall be construed to grant to You, either
+          expressly, by implication or by way of estoppel, any license under
+          any patents or other intellectual property rights covering or
+          relating to any other product or invention or any combination of
+          the Software with any other product. Any rights not expressly
+          granted to You herein are reserved by Licensor.
+
+      b.  No Commercialization or Distribution of the Software and
+          Documentation. Except as expressly provided in Section 2 of this
+          Agreement, You shall have no right to (i) copy, disclose,
+          distribute, publically perform, publically display, transfer,
+          alter, modify, translate, disassemble, decompile, reverse engineer,
+          or adapt the Software and Documentation, or any portion thereof, or
+          create any derivative works based thereon; (ii) rent, lease,
+          assign, sublicense, resell, disclose or otherwise transfer the
+          Software and Documentation in whole or in part to any third party
+          (iii) use the Software and Documentation except for the Limited
+          Purpose, (iv) remove or alter any of the copyright or proprietary
+          notices contained in any of the Software and Documentation. For the
+          purposes of clarity, nothing in this Agreement prohibits You from
+          making and distributing Android Applications under commercial or
+          non-commercial terms, provided that You shall not contain,
+          incorporate, and/or compile the Software or any of its derivative
+          works, in whole or in part, into Your Android Applications and/or
+          any software/devices created by You or by third parties acting on
+          Your behalf. You and any such third party shall comply with all of
+          the terms and conditions of this Agreement.
+
+      c.  No Reverse Engineering. Except for any portions of the Software
+          provided to You in source code format and except for any third
+          party code distributed with the Software that is licensed under
+          contrary terms, You will not reverse engineer, disassemble,
+          decompile, or translate the Software, or otherwise attempt to
+          derive the source code version of the Software, except if and to
+          the extent expressly permitted under any applicable law.
+
+      d.  Third Party Software. You agree that Android may contain third
+          party software. You agree that you may not distribute such third
+          party software for any purpose without appropriate licenses from
+          the applicable third party or parties.
+
+      e.  No Transfer or Assignment. You shall not assign any of its rights
+          or obligations under this Agreement. Any attempted assignment in
+          contravention of this Section shall be void.
+
+   4.  Indemnity
+
+      a.  You agree to indemnify and hold harmless Licensor and
+          its officers, directors, customers, employees and successors and
+          assigns (each an "Indemnified Party") against any and all claims,
+          demands, causes of action, losses, liabilities, damages, costs and
+          expenses, incurred by the Indemnified Party (including but not
+          limited to costs of defense, investigation and reasonable
+          attorney's fees) arising out of, resulting from or related to
+          (i) any software, products, documentation, content, materials or
+          derivative works created or developed by You using the Software
+          which causes an infringement of any patent, copyright, trademark,
+          trade secret, or other property, publicity or privacy rights of any
+          third parties arising in any jurisdiction anywhere in the world,
+          (ii) the download, distribution, installation, storage, execution,
+          use or transfer of such software, products, documentation, content,
+          materials or derivative works by any person or entity, and/or
+          (iii) any breach of this Agreement by You. If requested by an
+          Indemnified Party, You agree to defend such Indemnified Party in
+          connection with any third party claims, demands, or causes of
+          action resulting from, arising out of or in connection with any of
+          the foregoing.
+
+   5.  Limitation of Liability
+
+      a.  TO THE MAXIMUM EXTENT PERMITTED UNDER APPLICABLE LAWS, UNDER NO
+          CIRCUMSTANCES, INCLUDING WITHOUT LIMITATION NEGLIGENCE, SHALL
+          LICENSOR, ITS AFFILIATES AND/OR ITS DIRECTORS, OFFICERS,
+          EMPLOYEES OR AGENTS BE LIABLE FOR ANY INDIRECT, INCIDENTAL,
+          SPECIAL, PUNITIVE OR CONSEQUENTIAL DAMAGES (INCLUDING BUT NOT
+          LIMITED TO DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS
+          INTERRUPTION, LOSS OF BUSINESS INFORMATION AND THE LIKE) ARISING
+          OUT OF OR IN CONNECTION WITH THE SOFTWARE OR ANY DOWNLOAD,
+          INSTALLATION OR USE OF, OR INABILITY TO USE, THE SOFTWARE, EVEN IF
+          LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+          DAMAGES. SOME JURISDICTIONS DO NOT ALLOW THE LIMITATION OR
+          EXCLUSION OF LIABILITY FOR INCIDENTAL OR CONSEQUENTIAL DAMAGES SO
+          THE ABOVE LIMITATION OR EXCLUSION MAY NOT APPLY OR MAY BE LIMITED.
+          IN NO EVENT SHALL LICENSOR'S TOTAL AGGREGATE LIABILITY
+          TO YOU FOR ANY AND ALL DAMAGES, LOSSES, CLAIMS AND CAUSES OF
+          ACTIONS (WHETHER IN CONTRACT, TORT, INCLUDING NEGLIGENCE,
+          INDEMNIFICATION OR OTHERWISE) EXCEED ONE HUNDRED U.S. DOLLARS
+          (US$100). THE LIMITATIONS SET FORTH IN THIS PARAGRAPH SHALL BE
+          DEEMED TO APPLY TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW.
+          THE PARTIES HAVE FULLY CONSIDERED THE FOREGOING ALLOCATION OF RISK
+          AND FIND IT REASONABLE, AND THAT THE FOREGOING LIMITATIONS IN THIS
+          PARAGRAPH ARE AN ESSENTIAL BASIS OF THE BARGAIN BETWEEN THE
+          PARTIES.
+
+   6.  No Warranty
+
+      a.  LICENSOR MAKES NO WARRANTIES, EXPRESS OR IMPLIED, WITH
+          RESPECT TO THE SOFTWARE AND DOCUMENTATION PROVIDED UNDER THIS
+          AGREEMENT, INCLUDING BUT NOT LIMITED TO ANY WARRANTY OF
+          MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE OR AGAINST
+          INFRINGEMENT, OR ANY EXPRESS OR IMPLIED WARRANTY ARISING OUT OF
+          TRADE USAGE OR OUT OF A COURSE OF DEALING OR COURSE OF PERFORMANCE.
+          NOTHING CONTAINED IN THIS AGREEMENT SHALL BE CONSTRUED AS A
+          WARRANTY OR REPRESENTATION BY LICENSOR (I) AS TO THE VALIDITY OR
+          SCOPE OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT
+          AND (II) THAT ANY MANUFACTURE OR USE WILL BE FREE FROM INFRINGEMENT
+          OF PATENTS, COPYRIGHTS OR OTHER INTELLECTUAL PROPERTY RIGHTS OF
+          OTHERS, AND IT SHALL BE THE SOLE RESPONSIBILITY OF YOU TO MAKE SUCH
+          DETERMINATION AS IS NECESSARY WITH RESPECT TO THE ACQUISITION OF
+          LICENSES UNDER PATENTS AND OTHER INTELLECTUAL PROPERTY OF THIRD
+          PARTIES. Licensor SHALL NOT HAVE ANY OBLIGATION TO
+          PROVIDE ANY TECHNICAL SUPPORT OF THE SOFTWARE UNDER THIS AGREEMENT.
+
+   7.  Term and Termination
+
+      a.  This Agreement shall be effective on the date You accept this
+          Agreement and shall remain in effect until terminated as provided
+          herein. You may terminate the Agreement at any time by deleting and
+          destroying all copies of the Software and all related information
+          in Your possession or control. This Agreement terminates
+          immediately and automatically, with or without notice, if You fail
+          to comply with any provision hereof. Additionally, Licensor may at
+          any time terminate this Agreement, without cause, upon notice to
+          You. Upon termination You must delete or destroy all copies of the
+          Software in Your possession, and the license granted to You in this
+          Agreement shall terminate. Sections 3, 4, 5, 6 and 8 shall survive
+          the termination of this Agreement.
+
+   8.  Miscellaneous
+
+      a.  Governing Law. This Agreement is governed and interpreted in
+          accordance with the laws of the Rebublic of Korea without giving
+          effect to its conflict of laws provisions. The United Nations
+          Convention on Contracts for the International Sale of Goods is
+          expressly disclaimed and shall not apply. Any claim arising out of
+          or related to this Agreement must be brought exclusively in a
+          Southern District court located in Seoul, the Republic of Korea
+          and You consent to the jurisdiction and venue of such courts.
+
+      b.  Waiver and Severability. The failure of either party to require
+          performance by the other party of any provision of this Agreement
+          shall not affect the full right to require such performance at any
+          time thereafter; nor shall the waiver by either party of a breach
+          of any provision of this Agreement be taken or held to be a waiver
+          of the provision itself. Severability. If any provision of this
+          Agreement is unenforceable or invalid under any applicable law or
+          is so held by applicable court decision, such unenforceability or
+          invalidity shall not render this Agreement unenforceable or invalid
+          as a whole, and such provision shall be changed and interpreted so
+          as to best accomplish the objectives of such unenforceable or
+          invalid provision within the limits of applicable law or
+          applicable court decisions.
+
+      c.  Amendment and Modification. This Agreement and any of its terms and
+          provisions may only be amended, modified, supplemented or waived in
+          a writing signed by both parties hereto.
+
+      d.  Compliance with Laws. You shall comply with all applicable laws,
+          rules, and regulations in connection with its activities under this
+          Agreement.
+
+      e.  Entire Agreement. This Agreement completely and exclusively states
+          the agreement between You and Licensor regarding this subject
+          matter.
diff --git a/self-extractors/lge/staging/BoardConfigPartial.mk b/self-extractors/lge/staging/BoardConfigPartial.mk
new file mode 100644
index 0000000..317c4e6
--- /dev/null
+++ b/self-extractors/lge/staging/BoardConfigPartial.mk
@@ -0,0 +1,13 @@
+# Copyright 2013 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.
diff --git a/self-extractors/lge/staging/device-partial.mk b/self-extractors/lge/staging/device-partial.mk
new file mode 100644
index 0000000..054c78c
--- /dev/null
+++ b/self-extractors/lge/staging/device-partial.mk
@@ -0,0 +1,49 @@
+# Copyright 2013 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.
+
+# LGE blob(s) necessary for Hammerhead hardware
+PRODUCT_COPY_FILES := \
+    vendor/lge/hammerhead/proprietary/Bluetooth_cal.acdb:system/etc/Bluetooth_cal.acdb:lge \
+    vendor/lge/hammerhead/proprietary/DxHDCP.cfg:system/etc/DxHDCP.cfg:lge \
+    vendor/lge/hammerhead/proprietary/General_cal.acdb:system/etc/General_cal.acdb:lge \
+    vendor/lge/hammerhead/proprietary/Global_cal.acdb:system/etc/Global_cal.acdb:lge \
+    vendor/lge/hammerhead/proprietary/Handset_cal.acdb:system/etc/Handset_cal.acdb:lge \
+    vendor/lge/hammerhead/proprietary/Hdmi_cal.acdb:system/etc/Hdmi_cal.acdb:lge \
+    vendor/lge/hammerhead/proprietary/Headset_cal.acdb:system/etc/Headset_cal.acdb:lge \
+    vendor/lge/hammerhead/proprietary/Speaker_cal.acdb:system/etc/Speaker_cal.acdb:lge \
+    vendor/lge/hammerhead/proprietary/vss_init:system/vendor/bin/vss_init:lge \
+    vendor/lge/hammerhead/proprietary/bu24205_LGIT_VER_2_CAL.bin:system/vendor/firmware/bu24205_LGIT_VER_2_CAL.bin:lge \
+    vendor/lge/hammerhead/proprietary/bu24205_LGIT_VER_2_DATA1.bin:system/vendor/firmware/bu24205_LGIT_VER_2_DATA1.bin:lge \
+    vendor/lge/hammerhead/proprietary/bu24205_LGIT_VER_2_DATA2.bin:system/vendor/firmware/bu24205_LGIT_VER_2_DATA2.bin:lge \
+    vendor/lge/hammerhead/proprietary/bu24205_LGIT_VER_2_DATA3.bin:system/vendor/firmware/bu24205_LGIT_VER_2_DATA3.bin:lge \
+    vendor/lge/hammerhead/proprietary/bu24205_LGIT_VER_3_CAL.bin:system/vendor/firmware/bu24205_LGIT_VER_3_CAL.bin:lge \
+    vendor/lge/hammerhead/proprietary/bu24205_LGIT_VER_3_DATA1.bin:system/vendor/firmware/bu24205_LGIT_VER_3_DATA1.bin:lge \
+    vendor/lge/hammerhead/proprietary/bu24205_LGIT_VER_3_DATA2.bin:system/vendor/firmware/bu24205_LGIT_VER_3_DATA2.bin:lge \
+    vendor/lge/hammerhead/proprietary/bu24205_LGIT_VER_3_DATA3.bin:system/vendor/firmware/bu24205_LGIT_VER_3_DATA3.bin:lge \
+    vendor/lge/hammerhead/proprietary/dxhdcp2.b00:system/vendor/firmware/discretix/dxhdcp2.b00:lge \
+    vendor/lge/hammerhead/proprietary/dxhdcp2.b01:system/vendor/firmware/discretix/dxhdcp2.b01:lge \
+    vendor/lge/hammerhead/proprietary/dxhdcp2.b02:system/vendor/firmware/discretix/dxhdcp2.b02:lge \
+    vendor/lge/hammerhead/proprietary/dxhdcp2.b03:system/vendor/firmware/discretix/dxhdcp2.b03:lge \
+    vendor/lge/hammerhead/proprietary/dxhdcp2.mdt:system/vendor/firmware/discretix/dxhdcp2.mdt:lge \
+    vendor/lge/hammerhead/proprietary/keymaster.b00:system/vendor/firmware/keymaster/keymaster.b00:lge \
+    vendor/lge/hammerhead/proprietary/keymaster.b01:system/vendor/firmware/keymaster/keymaster.b01:lge \
+    vendor/lge/hammerhead/proprietary/keymaster.b02:system/vendor/firmware/keymaster/keymaster.b02:lge \
+    vendor/lge/hammerhead/proprietary/keymaster.b03:system/vendor/firmware/keymaster/keymaster.b03:lge \
+    vendor/lge/hammerhead/proprietary/keymaster.mdt:system/vendor/firmware/keymaster/keymaster.mdt:lge \
+    vendor/lge/hammerhead/proprietary/libAKM8963.so:system/vendor/lib/libAKM8963.so:lge \
+    vendor/lge/hammerhead/proprietary/libDxHdcp.so:system/vendor/lib/libDxHdcp.so:lge \
+    vendor/lge/hammerhead/proprietary/libvss_common_core.so:system/vendor/lib/libvss_common_core.so:lge \
+    vendor/lge/hammerhead/proprietary/libvss_common_idl.so:system/vendor/lib/libvss_common_idl.so:lge \
+    vendor/lge/hammerhead/proprietary/libvss_common_iface.so:system/vendor/lib/libvss_common_iface.so:lge \
+
diff --git a/self-extractors/qcom/COPYRIGHT b/self-extractors/qcom/COPYRIGHT
new file mode 100644
index 0000000..0adeb31
--- /dev/null
+++ b/self-extractors/qcom/COPYRIGHT
@@ -0,0 +1 @@
+# (C) Qualcomm Technologies, Inc.
diff --git a/self-extractors/qcom/LICENSE b/self-extractors/qcom/LICENSE
new file mode 100644
index 0000000..cef517c
--- /dev/null
+++ b/self-extractors/qcom/LICENSE
@@ -0,0 +1,264 @@
+THIS DEVELOPER SOFTWARE LICENSE AGREEMENT (THE "AGREEMENT") IS A LEGALLY
+BINDING AGREEMENT BETWEEN Qualcomm Technologies, Inc. ("LICENSOR") AND
+YOU OR THE LEGAL ENTITY YOU REPRESENT ("You" or its possessive, "Your"). BY
+TYPING "I ACCEPT" WHERE INDICATED YOU ACKNOWLEDGE THAT YOU HAVE READ THIS
+AGREEMENT, UNDERSTAND IT AND AGREE TO BE BOUND BY ITS TERMS AND CONDITIONS.
+IF YOU DO NOT AGREE TO THESE TERMS YOU MUST DISCONTINUE THE INSTALLATION
+PROCESS AND YOU SHALL NOT USE THE SOFTWARE OR RETAIN ANY COPIES OF THE
+SOFTWARE OR DOCUMENTATION. ANY USE OR POSSESSION OF THE SOFTWARE BY YOU IS
+SUBJECT TO THE TERMS AND CONDITIONS SET FORTH IN THIS AGREEMENT. IF THE
+SOFTWARE IS INSTALLED ON A COMPUTER OWNED BY A CORPORATION OR OTHER LEGAL
+ENTITY, THEN YOU REPRESENT AND WARRANT THAT YOU HAVE THE AUTHORITY TO BIND
+SUCH ENTITY TO THE TERMS AND CONDITIONS OF THIS AGREEMENT.
+
+   1.  Special Definitions
+
+      a.  The term "Android" means the open source mobile platform, software
+          stack, operating system, middleware, application programming
+          interfaces and mobile applications under the trade-name "Android"
+          distributed at Android.com.
+
+      b.  The term "Android Applications" means a software application or
+          open-source contribution developed by You, designed to operate with
+          Android that does not contain or incorporate any of the Software.
+
+      c.  The term "Authorized Android Enabled Device" means only the device
+          identified on the site from which You downloaded the Software.
+          The term "Software" means the Licensor's proprietary software and
+          libraries in object code form, designed for use on the Authorized
+          Android Enabled Device.
+
+      d.  The term "Authorized Android Enabled Device Software" means a
+          packaged build for Authorized Android Enabled Devices, consisting
+          of files suitable for installation on an Authorized Android Enabled
+          Device using a mechanism such as fastboot mode or recovery mode.
+
+   2.  License Grant
+
+      a.  Subject to the terms of this Agreement, Licensor hereby grants to
+          You, free of charge, a non-exclusive, non-sublicensable,
+          non-transferable, limited copyright license, during the term of
+          this Agreement, to download, install and use the Software
+          internally in machine-readable (i.e., object code) form and the
+          Documentation for non-commercial use on an Authorized Android
+          Enabled Device and non-commercial redistribution for academic
+          purposes only of a reasonable number of copies of the Authorized
+          Android Enabled Device Software (the "Limited Purpose"). You may
+          grant your end users the right to use the Software for
+          non-commercial purposes on an Authorized Android Enabled Device.
+          The license to the Software granted to You hereunder is solely for
+          the Limited Purpose set forth in this section, and the Software
+          shall not be used for any other purpose.
+
+   3.  Restrictions
+
+      a.  Retention of Rights. The entire right, title and interest in the
+          Software shall remain with Licensor and, unless specified in
+          writing hereunder, no rights are granted to any of the Software.
+          Except for the right to use the Software for the Limited Purpose,
+          the delivery of the Software to You does not convey to You any
+          intellectual property rights in the Software, including, but not
+          limited to any rights under any patent, trademark, copyright, or
+          trade secret. Neither the delivery of the Software to You nor any
+          terms set forth herein shall be construed to grant to You, either
+          expressly, by implication or by way of estoppel, any license under
+          any patents or other intellectual property rights covering or
+          relating to any other product or invention or any combination of
+          the Software with any other product. Any rights not expressly
+          granted to You herein are reserved by Licensor.
+
+      b.  No Commercialization or Distribution of the Software and
+          Documentation. Except as expressly provided in Section 2 of this
+          Agreement, You shall have no right to (i) copy, disclose,
+          distribute, publically perform, publically display, transfer,
+          alter, modify, translate, disassemble, decompile, reverse engineer,
+          or adapt the Software and Documentation, or any portion thereof, or
+          create any derivative works based thereon; (ii) rent, lease,
+          assign, sublicense, resell, disclose or otherwise transfer the
+          Software and Documentation in whole or in part to any third party
+          (iii) use the Software and Documentation except for the Limited
+          Purpose, (iv) remove or alter any of the copyright or proprietary
+          notices contained in any of the Software and Documentation. For the
+          purposes of clarity, nothing in this Agreement prohibits You from
+          making and distributing Android Applications under commercial or
+          non-commercial terms, provided that You shall not contain,
+          incorporate, and/or compile the Software or any of its derivative
+          works, in whole or in part, into Your Android Applications and/or
+          any software/devices created by You or by third parties acting on
+          Your behalf. You and any such third party shall comply with all of
+          the terms and conditions of this Agreement.
+
+      c.  No Reverse Engineering. Except for any portions of the Software
+          provided to You in source code format and except for any third
+          party code distributed with the Software that is licensed under
+          contrary terms, You will not reverse engineer, disassemble,
+          decompile, or translate the Software, or otherwise attempt to
+          derive the source code version of the Software, except if and to
+          the extent expressly permitted under any applicable law.
+
+      d.  Third Party Software. You agree that Android may contain third
+          party software. You agree that you may not distribute such third
+          party software for any purpose without appropriate licenses from
+          the applicable third party or parties.
+
+      e.  No Transfer or Assignment. You shall not assign any of its rights
+          or obligations under this Agreement. Any attempted assignment in
+          contravention of this Section shall be void.
+
+      f.  Licensor shall retain all title, ownership and Intellectual
+          Property Rights in and to the Software and any derivative thereof.
+          "Intellectual Property Rights" shall mean all patent, copyright,
+          trade secret, trademark and other proprietary and intellectual
+          property rights, including moral rights.
+
+      g.  Neither this Agreement, nor any act by Licensor or its Affiliates
+          persuant to this Agreement or relating to the Software (including,
+          without limitation, the provision by Licensor or its Affiliates of
+          the Software) shall provide to You any license or any other rights
+          whatsoever under any patents, trademarks, trade secrets, copyrights
+          or any other intellectual property rights of Licensor or its
+          Affiliates, except for the copyrights expressly set forth in this
+          Agreement. You understand and agree that:
+
+      h.  Neither this Agreement, nor delivery of the Software alone or in
+          combination with any Licensor ASIC grants you any right to
+          practice, or any other right at all with respect to, any patent of
+          Licensor or its Affiliates, and
+
+      i.  A separating license agreement from Qualcomm Incorporated is needed
+          to use or practice any patent of Licensor or its Affiliates.
+
+      j.  You agree not to contend in any context that, as a result of the
+          provision or use of this software, either Licensor or Affiliate has
+          any obligation to extend, or Licensor or any other party has
+          obtained any right to, any license, whether express or implied,
+          with respect to any patent of Licensor or its Affiliates for any
+          purpose. For the purposes of this agreement, "Affiliate" means
+          (i) any corporation or any other legal entity that owns, directly
+          or indirectly, more than fifty percent (50%) of the shares, equity
+          interest or other securities of any entity entitled to vote for
+          election of directors (or other managing authority), or (ii) any
+          corporation or any other legal entity fifty percent (50%) or more
+          of whose shares, equity interest, or other securities entitled to
+          vote for election of directors (or other managing authority) is
+          owned or controlled by an entity, either directly or indirectly.
+
+   4.  Indemnity
+
+      a.  You agree to indemnify and hold harmless Licensor, Google, and
+          their officers, directors, customers, employees and successors and
+          assigns (each an "Indemnified Party") against any and all claims,
+          demands, causes of action, losses, liabilities, damages, costs and
+          expenses, incurred by the Indemnified Party (including but not
+          limited to costs of defense, investigation and reasonable
+          attorney's fees) arising out of, resulting from or related to
+          (i) any software, products, documentation, content, materials or
+          derivative works created or developed by You using the Software
+          which causes an infringement of any patent, copyright, trademark,
+          trade secret, or other property, publicity or privacy rights of any
+          third parties arising in any jurisdiction anywhere in the world,
+          (ii) the download, distribution, installation, storage, execution,
+          use or transfer of such software, products, documentation, content,
+          materials or derivative works by any person or entity, and/or
+          (iii) any breach of this Agreement by You. If requested by an
+          Indemnified Party, You agree to defend such Indemnified Party in
+          connection with any third party claims, demands, or causes of
+          action resulting from, arising out of or in connection with any of
+          the foregoing.
+
+   5.  Limitation of Liability
+
+      a.  TO THE MAXIMUM EXTENT PERMITTED UNDER APPLICABLE LAWS, UNDER NO
+          CIRCUMSTANCES, INCLUDING WITHOUT LIMITATION NEGLIGENCE, SHALL
+          LICENSOR, GOOGLE, THEIR AFFILIATES AND/OR ITS DIRECTORS, OFFICERS,
+          EMPLOYEES OR AGENTS BE LIABLE FOR ANY INDIRECT, INCIDENTAL,
+          SPECIAL, PUNITIVE OR CONSEQUENTIAL DAMAGES (INCLUDING BUT NOT
+          LIMITED TO DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS
+          INTERRUPTION, LOSS OF BUSINESS INFORMATION AND THE LIKE) ARISING
+          OUT OF OR IN CONNECTION WITH THE SOFTWARE OR ANY DOWNLOAD,
+          INSTALLATION OR USE OF, OR INABILITY TO USE, THE SOFTWARE, EVEN IF
+          LICENSOR OR GOOGLE HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH
+          DAMAGES. SOME JURISDICTIONS DO NOT ALLOW THE LIMITATION OR
+          EXCLUSION OF LIABILITY FOR INCIDENTAL OR CONSEQUENTIAL DAMAGES SO
+          THE ABOVE LIMITATION OR EXCLUSION MAY NOT APPLY OR MAY BE LIMITED.
+          IN NO EVENT SHALL LICENSOR'S OR GOOGLE'S TOTAL AGGREGATE LIABILITY
+          TO YOU FOR ANY AND ALL DAMAGES, LOSSES, CLAIMS AND CAUSES OF
+          ACTIONS (WHETHER IN CONTRACT, TORT, INCLUDING NEGLIGENCE,
+          INDEMNIFICATION OR OTHERWISE) EXCEED ONE HUNDRED U.S. DOLLARS
+          (US$100). THE LIMITATIONS SET FORTH IN THIS PARAGRAPH SHALL BE
+          DEEMED TO APPLY TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW.
+          THE PARTIES HAVE FULLY CONSIDERED THE FOREGOING ALLOCATION OF RISK
+          AND FIND IT REASONABLE, AND THAT THE FOREGOING LIMITATIONS IN THIS
+          PARAGRAPH ARE AN ESSENTIAL BASIS OF THE BARGAIN BETWEEN THE
+          PARTIES.
+
+   6.  No Warranty
+
+      a.  LICENSOR AND GOOGLE MAKE NO WARRANTIES, EXPRESS OR IMPLIED, WITH
+          RESPECT TO THE SOFTWARE AND DOCUMENTATION PROVIDED UNDER THIS
+          AGREEMENT, INCLUDING BUT NOT LIMITED TO ANY WARRANTY OF
+          MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE OR AGAINST
+          INFRINGEMENT, OR ANY EXPRESS OR IMPLIED WARRANTY ARISING OUT OF
+          TRADE USAGE OR OUT OF A COURSE OF DEALING OR COURSE OF PERFORMANCE.
+          NOTHING CONTAINED IN THIS AGREEMENT SHALL BE CONSTRUED AS A
+          WARRANTY OR REPRESENTATION BY LICENSOR (I) AS TO THE VALIDITY OR
+          SCOPE OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT
+          AND (II) THAT ANY MANUFACTURE OR USE WILL BE FREE FROM INFRINGEMENT
+          OF PATENTS, COPYRIGHTS OR OTHER INTELLECTUAL PROPERTY RIGHTS OF
+          OTHERS, AND IT SHALL BE THE SOLE RESPONSIBILITY OF YOU TO MAKE SUCH
+          DETERMINATION AS IS NECESSARY WITH RESPECT TO THE ACQUISITION OF
+          LICENSES UNDER PATENTS AND OTHER INTELLECTUAL PROPERTY OF THIRD
+          PARTIES. LICENSOR AND GOOGLE SHALL NOT HAVE ANY OBLIGATION TO
+          PROVIDE ANY TECHNICAL SUPPORT OF THE SOFTWARE UNDER THIS AGREEMENT.
+
+   7.  Term and Termination
+
+      a.  This Agreement shall be effective on the date You accept this
+          Agreement and shall remain in effect until terminated as provided
+          herein. You may terminate the Agreement at any time by deleting and
+          destroying all copies of the Software and all related information
+          in Your possession or control. This Agreement terminates
+          immediately and automatically, with or without notice, if You fail
+          to comply with any provision hereof. Additionally, Licensor may at
+          any time terminate this Agreement, without cause, upon notice to
+          You. Upon termination You must delete or destroy all copies of the
+          Software in Your possession, and the license granted to You in this
+          Agreement shall terminate. Sections 3, 4, 5, 6 and 8 shall survive
+          the termination of this Agreement.
+
+   8.  Miscellaneous
+
+      a.  Governing Law. This Agreement is governed and interpreted in
+          accordance with the laws of the State of California without giving
+          effect to its conflict of laws provisions. The United Nations
+          Convention on Contracts for the International Sale of Goods is
+          expressly disclaimed and shall not apply. Any claim arising out of
+          or related to this Agreement must be brought exclusively in a
+          federal or state court located in Santa Clara County, California
+          and You consent to the jurisdiction and venue of such courts.
+
+      b.  Waiver and Severability. The failure of either party to require
+          performance by the other party of any provision of this Agreement
+          shall not affect the full right to require such performance at any
+          time thereafter; nor shall the waiver by either party of a breach
+          of any provision of this Agreement be taken or held to be a waiver
+          of the provision itself. Severability. If any provision of this
+          Agreement is unenforceable or invalid under any applicable law or
+          is so held by applicable court decision, such unenforceability or
+          invalidity shall not render this Agreement unenforceable or invalid
+          as a whole, and such provision shall be changed and interpreted so
+          as to best accomplish the objectives of such unenforceable or
+          invalid provision within the limits of applicable law or
+          applicable court decisions.
+
+      c.  Amendment and Modification. This Agreement and any of its terms and
+          provisions may only be amended, modified, supplemented or waived in
+          a writing signed by both parties hereto.
+
+      d.  Compliance with Laws. You shall comply with all applicable laws,
+          rules, and regulations in connection with its activities under this
+          Agreement.
+
+      e.  Entire Agreement. This Agreement completely and exclusively states
+          the agreement between You and Licensor regarding this subject
+          matter.
diff --git a/self-extractors/qcom/staging/BoardConfigPartial.mk b/self-extractors/qcom/staging/BoardConfigPartial.mk
new file mode 100644
index 0000000..317c4e6
--- /dev/null
+++ b/self-extractors/qcom/staging/BoardConfigPartial.mk
@@ -0,0 +1,13 @@
+# Copyright 2013 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.
diff --git a/self-extractors/qcom/staging/device-partial.mk b/self-extractors/qcom/staging/device-partial.mk
new file mode 100644
index 0000000..1e48dc7
--- /dev/null
+++ b/self-extractors/qcom/staging/device-partial.mk
@@ -0,0 +1,139 @@
+# Copyright 2013 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.
+
+# Qualcomm blob(s) necessary for Hammerhead hardware
+PRODUCT_COPY_FILES := \
+    vendor/qcom/hammerhead/proprietary/bridgemgrd:system/bin/bridgemgrd:qcom \
+    vendor/qcom/hammerhead/proprietary/diag_klog:system/bin/diag_klog:qcom \
+    vendor/qcom/hammerhead/proprietary/diag_mdlog:system/bin/diag_mdlog:qcom \
+    vendor/qcom/hammerhead/proprietary/ds_fmc_appd:system/bin/ds_fmc_appd:qcom \
+    vendor/qcom/hammerhead/proprietary/irsc_util:system/bin/irsc_util:qcom \
+    vendor/qcom/hammerhead/proprietary/mm-qcamera-daemon:system/bin/mm-qcamera-daemon:qcom \
+    vendor/qcom/hammerhead/proprietary/mpdecision:system/bin/mpdecision:qcom \
+    vendor/qcom/hammerhead/proprietary/netmgrd:system/bin/netmgrd:qcom \
+    vendor/qcom/hammerhead/proprietary/nl_listener:system/bin/nl_listener:qcom \
+    vendor/qcom/hammerhead/proprietary/port-bridge:system/bin/port-bridge:qcom \
+    vendor/qcom/hammerhead/proprietary/qmuxd:system/bin/qmuxd:qcom \
+    vendor/qcom/hammerhead/proprietary/qseecomd:system/bin/qseecomd:qcom \
+    vendor/qcom/hammerhead/proprietary/radish:system/bin/radish:qcom \
+    vendor/qcom/hammerhead/proprietary/rmt_storage:system/bin/rmt_storage:qcom \
+    vendor/qcom/hammerhead/proprietary/sensors.qcom:system/bin/sensors.qcom:qcom \
+    vendor/qcom/hammerhead/proprietary/subsystem_ramdump:system/bin/subsystem_ramdump:qcom \
+    vendor/qcom/hammerhead/proprietary/thermal-engine:system/bin/thermal-engine:qcom \
+    vendor/qcom/hammerhead/proprietary/usbhub:system/bin/usbhub:qcom \
+    vendor/qcom/hammerhead/proprietary/usbhub_init:system/bin/usbhub_init:qcom \
+    vendor/qcom/hammerhead/proprietary/cpp_firmware_v1_1_1.fw:system/etc/firmware/cpp_firmware_v1_1_1.fw:qcom \
+    vendor/qcom/hammerhead/proprietary/cpp_firmware_v1_1_6.fw:system/etc/firmware/cpp_firmware_v1_1_6.fw:qcom \
+    vendor/qcom/hammerhead/proprietary/cpp_firmware_v1_2_0.fw:system/etc/firmware/cpp_firmware_v1_2_0.fw:qcom \
+    vendor/qcom/hammerhead/proprietary/gps.msm8974.so:system/lib/hw/gps.msm8974.so:qcom \
+    vendor/qcom/hammerhead/proprietary/libI420colorconvert.so:system/lib/libI420colorconvert.so:qcom \
+    vendor/qcom/hammerhead/proprietary/libQSEEComAPI.so:system/lib/libQSEEComAPI.so:qcom \
+    vendor/qcom/hammerhead/proprietary/libadsprpc.so:system/lib/libadsprpc.so:qcom \
+    vendor/qcom/hammerhead/proprietary/libchromatix_imx179_common.so:system/lib/libchromatix_imx179_common.so:qcom \
+    vendor/qcom/hammerhead/proprietary/libchromatix_imx179_default_video.so:system/lib/libchromatix_imx179_default_video.so:qcom \
+    vendor/qcom/hammerhead/proprietary/libchromatix_imx179_preview.so:system/lib/libchromatix_imx179_preview.so:qcom \
+    vendor/qcom/hammerhead/proprietary/libchromatix_imx179_snapshot.so:system/lib/libchromatix_imx179_snapshot.so:qcom \
+    vendor/qcom/hammerhead/proprietary/libchromatix_mt9m114b_common.so:system/lib/libchromatix_mt9m114b_common.so:qcom \
+    vendor/qcom/hammerhead/proprietary/libchromatix_mt9m114b_default_video.so:system/lib/libchromatix_mt9m114b_default_video.so:qcom \
+    vendor/qcom/hammerhead/proprietary/libchromatix_mt9m114b_preview.so:system/lib/libchromatix_mt9m114b_preview.so:qcom \
+    vendor/qcom/hammerhead/proprietary/libchromatix_mt9m114b_snapshot.so:system/lib/libchromatix_mt9m114b_snapshot.so:qcom \
+    vendor/qcom/hammerhead/proprietary/libdrmdiag.so:system/lib/libdrmdiag.so:qcom \
+    vendor/qcom/hammerhead/proprietary/libdrmfs.so:system/lib/libdrmfs.so:qcom \
+    vendor/qcom/hammerhead/proprietary/libdrmtime.so:system/lib/libdrmtime.so:qcom \
+    vendor/qcom/hammerhead/proprietary/libgeofence.so:system/lib/libgeofence.so:qcom \
+    vendor/qcom/hammerhead/proprietary/libgps.utils.so:system/lib/libgps.utils.so:qcom \
+    vendor/qcom/hammerhead/proprietary/libloc_adapter.so:system/lib/libloc_adapter.so:qcom \
+    vendor/qcom/hammerhead/proprietary/libloc_api_v02.so:system/lib/libloc_api_v02.so:qcom \
+    vendor/qcom/hammerhead/proprietary/libloc_eng.so:system/lib/libloc_eng.so:qcom \
+    vendor/qcom/hammerhead/proprietary/libmm-abl.so:system/lib/libmm-abl.so:qcom \
+    vendor/qcom/hammerhead/proprietary/libmm-color-convertor.so:system/lib/libmm-color-convertor.so:qcom \
+    vendor/qcom/hammerhead/proprietary/libmmQSM.so:system/lib/libmmQSM.so:qcom \
+    vendor/qcom/hammerhead/proprietary/libmmcamera_hdr_lib.so:system/lib/libmmcamera_hdr_lib.so:qcom \
+    vendor/qcom/hammerhead/proprietary/libmmcamera_image_stab.so:system/lib/libmmcamera_image_stab.so:qcom \
+    vendor/qcom/hammerhead/proprietary/libmmcamera_imx179.so:system/lib/libmmcamera_imx179.so:qcom \
+    vendor/qcom/hammerhead/proprietary/libmmcamera_mt9m114b.so:system/lib/libmmcamera_mt9m114b.so:qcom \
+    vendor/qcom/hammerhead/proprietary/libmmcamera_wavelet_lib.so:system/lib/libmmcamera_wavelet_lib.so:qcom \
+    vendor/qcom/hammerhead/proprietary/libril-qc-qmi-1.so:system/lib/libril-qc-qmi-1.so:qcom \
+    vendor/qcom/hammerhead/proprietary/libstagefright_hdcp.so:system/lib/libstagefright_hdcp.so:qcom \
+    vendor/qcom/hammerhead/proprietary/libxml.so:system/lib/libxml.so:qcom \
+    vendor/qcom/hammerhead/proprietary/a330_pfp.fw:system/vendor/firmware/a330_pfp.fw:qcom \
+    vendor/qcom/hammerhead/proprietary/a330_pm4.fw:system/vendor/firmware/a330_pm4.fw:qcom \
+    vendor/qcom/hammerhead/proprietary/venus.b00:system/vendor/firmware/venus.b00:qcom \
+    vendor/qcom/hammerhead/proprietary/venus.b01:system/vendor/firmware/venus.b01:qcom \
+    vendor/qcom/hammerhead/proprietary/venus.b02:system/vendor/firmware/venus.b02:qcom \
+    vendor/qcom/hammerhead/proprietary/venus.b03:system/vendor/firmware/venus.b03:qcom \
+    vendor/qcom/hammerhead/proprietary/venus.b04:system/vendor/firmware/venus.b04:qcom \
+    vendor/qcom/hammerhead/proprietary/venus.b05:system/vendor/firmware/venus.b05:qcom \
+    vendor/qcom/hammerhead/proprietary/venus.b06:system/vendor/firmware/venus.b06:qcom \
+    vendor/qcom/hammerhead/proprietary/venus.mdt:system/vendor/firmware/venus.mdt:qcom \
+    vendor/qcom/hammerhead/proprietary/eglsubAndroid.so:system/vendor/lib/egl/eglsubAndroid.so:qcom \
+    vendor/qcom/hammerhead/proprietary/libEGL_adreno.so:system/vendor/lib/egl/libEGL_adreno.so:qcom \
+    vendor/qcom/hammerhead/proprietary/libGLESv1_CM_adreno.so:system/vendor/lib/egl/libGLESv1_CM_adreno.so:qcom \
+    vendor/qcom/hammerhead/proprietary/libGLESv2_adreno.so:system/vendor/lib/egl/libGLESv2_adreno.so:qcom \
+    vendor/qcom/hammerhead/proprietary/sensors.msm8974.so:system/vendor/lib/hw/sensors.msm8974.so:qcom \
+    vendor/qcom/hammerhead/proprietary/libC2D2.so:system/vendor/lib/libC2D2.so:qcom \
+    vendor/qcom/hammerhead/proprietary/libCommandSvc.so:system/vendor/lib/libCommandSvc.so:qcom \
+    vendor/qcom/hammerhead/proprietary/libFuzzmmstillomxenc.so:system/vendor/lib/libFuzzmmstillomxenc.so:qcom \
+    vendor/qcom/hammerhead/proprietary/libacdbloader.so:system/vendor/lib/libacdbloader.so:qcom \
+    vendor/qcom/hammerhead/proprietary/libacdbrtac.so:system/vendor/lib/libacdbrtac.so:qcom \
+    vendor/qcom/hammerhead/proprietary/libadiertac.so:system/vendor/lib/libadiertac.so:qcom \
+    vendor/qcom/hammerhead/proprietary/libadreno_utils.so:system/vendor/lib/libadreno_utils.so:qcom \
+    vendor/qcom/hammerhead/proprietary/libaudcal.so:system/vendor/lib/libaudcal.so:qcom \
+    vendor/qcom/hammerhead/proprietary/libc2d2_a3xx.so:system/vendor/lib/libc2d2_a3xx.so:qcom \
+    vendor/qcom/hammerhead/proprietary/libconfigdb.so:system/vendor/lib/libconfigdb.so:qcom \
+    vendor/qcom/hammerhead/proprietary/libdiag.so:system/vendor/lib/libdiag.so:qcom \
+    vendor/qcom/hammerhead/proprietary/libdrmdecrypt.so:system/vendor/lib/libdrmdecrypt.so:qcom \
+    vendor/qcom/hammerhead/proprietary/libdsi_netctrl.so:system/vendor/lib/libdsi_netctrl.so:qcom \
+    vendor/qcom/hammerhead/proprietary/libdsutils.so:system/vendor/lib/libdsutils.so:qcom \
+    vendor/qcom/hammerhead/proprietary/libgsl.so:system/vendor/lib/libgsl.so:qcom \
+    vendor/qcom/hammerhead/proprietary/libidl.so:system/vendor/lib/libidl.so:qcom \
+    vendor/qcom/hammerhead/proprietary/libjpegdhw.so:system/vendor/lib/libjpegdhw.so:qcom \
+    vendor/qcom/hammerhead/proprietary/libjpegehw.so:system/vendor/lib/libjpegehw.so:qcom \
+    vendor/qcom/hammerhead/proprietary/libllvm-a3xx.so:system/vendor/lib/libllvm-a3xx.so:qcom \
+    vendor/qcom/hammerhead/proprietary/libmmcamera2_c2d_module.so:system/vendor/lib/libmmcamera2_c2d_module.so:qcom \
+    vendor/qcom/hammerhead/proprietary/libmmcamera2_cpp_module.so:system/vendor/lib/libmmcamera2_cpp_module.so:qcom \
+    vendor/qcom/hammerhead/proprietary/libmmcamera2_iface_modules.so:system/vendor/lib/libmmcamera2_iface_modules.so:qcom \
+    vendor/qcom/hammerhead/proprietary/libmmcamera2_imglib_modules.so:system/vendor/lib/libmmcamera2_imglib_modules.so:qcom \
+    vendor/qcom/hammerhead/proprietary/libmmcamera2_isp_modules.so:system/vendor/lib/libmmcamera2_isp_modules.so:qcom \
+    vendor/qcom/hammerhead/proprietary/libmmcamera2_pproc_modules.so:system/vendor/lib/libmmcamera2_pproc_modules.so:qcom \
+    vendor/qcom/hammerhead/proprietary/libmmcamera2_sensor_modules.so:system/vendor/lib/libmmcamera2_sensor_modules.so:qcom \
+    vendor/qcom/hammerhead/proprietary/libmmcamera2_stats_algorithm.so:system/vendor/lib/libmmcamera2_stats_algorithm.so:qcom \
+    vendor/qcom/hammerhead/proprietary/libmmcamera2_stats_modules.so:system/vendor/lib/libmmcamera2_stats_modules.so:qcom \
+    vendor/qcom/hammerhead/proprietary/libmmcamera2_vpe_module.so:system/vendor/lib/libmmcamera2_vpe_module.so:qcom \
+    vendor/qcom/hammerhead/proprietary/libmmcamera2_wnr_module.so:system/vendor/lib/libmmcamera2_wnr_module.so:qcom \
+    vendor/qcom/hammerhead/proprietary/libmmcamera_faceproc.so:system/vendor/lib/libmmcamera_faceproc.so:qcom \
+    vendor/qcom/hammerhead/proprietary/libmmcamera_imglib.so:system/vendor/lib/libmmcamera_imglib.so:qcom \
+    vendor/qcom/hammerhead/proprietary/libmmcamera_imx179_eeprom.so:system/vendor/lib/libmmcamera_imx179_eeprom.so:qcom \
+    vendor/qcom/hammerhead/proprietary/libmmipl.so:system/vendor/lib/libmmipl.so:qcom \
+    vendor/qcom/hammerhead/proprietary/libmmjpeg.so:system/vendor/lib/libmmjpeg.so:qcom \
+    vendor/qcom/hammerhead/proprietary/libmmqjpeg_codec.so:system/vendor/lib/libmmqjpeg_codec.so:qcom \
+    vendor/qcom/hammerhead/proprietary/libnetmgr.so:system/vendor/lib/libnetmgr.so:qcom \
+    vendor/qcom/hammerhead/proprietary/liboemcamera.so:system/vendor/lib/liboemcamera.so:qcom \
+    vendor/qcom/hammerhead/proprietary/libqcci_legacy.so:system/vendor/lib/libqcci_legacy.so:qcom \
+    vendor/qcom/hammerhead/proprietary/libqdi.so:system/vendor/lib/libqdi.so:qcom \
+    vendor/qcom/hammerhead/proprietary/libqdp.so:system/vendor/lib/libqdp.so:qcom \
+    vendor/qcom/hammerhead/proprietary/libqmi.so:system/vendor/lib/libqmi.so:qcom \
+    vendor/qcom/hammerhead/proprietary/libqmi_cci.so:system/vendor/lib/libqmi_cci.so:qcom \
+    vendor/qcom/hammerhead/proprietary/libqmi_client_qmux.so:system/vendor/lib/libqmi_client_qmux.so:qcom \
+    vendor/qcom/hammerhead/proprietary/libqmi_common_so.so:system/vendor/lib/libqmi_common_so.so:qcom \
+    vendor/qcom/hammerhead/proprietary/libqmi_csi.so:system/vendor/lib/libqmi_csi.so:qcom \
+    vendor/qcom/hammerhead/proprietary/libqmi_encdec.so:system/vendor/lib/libqmi_encdec.so:qcom \
+    vendor/qcom/hammerhead/proprietary/libqmiservices.so:system/vendor/lib/libqmiservices.so:qcom \
+    vendor/qcom/hammerhead/proprietary/libqomx_jpegenc.so:system/vendor/lib/libqomx_jpegenc.so:qcom \
+    vendor/qcom/hammerhead/proprietary/libril-qcril-hook-oem.so:system/vendor/lib/libril-qcril-hook-oem.so:qcom \
+    vendor/qcom/hammerhead/proprietary/libsc-a3xx.so:system/vendor/lib/libsc-a3xx.so:qcom \
+    vendor/qcom/hammerhead/proprietary/libsensor1.so:system/vendor/lib/libsensor1.so:qcom \
+    vendor/qcom/hammerhead/proprietary/libsensor_reg.so:system/vendor/lib/libsensor_reg.so:qcom \
+    vendor/qcom/hammerhead/proprietary/libsensor_user_cal.so:system/vendor/lib/libsensor_user_cal.so:qcom \
+
diff --git a/self-extractors/qcom/staging/proprietary/Android.mk b/self-extractors/qcom/staging/proprietary/Android.mk
new file mode 100644
index 0000000..13cdac8
--- /dev/null
+++ b/self-extractors/qcom/staging/proprietary/Android.mk
@@ -0,0 +1,39 @@
+# Copyright 2013 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.
+
+LOCAL_PATH := $(call my-dir)
+
+ifeq ($(TARGET_DEVICE),hammerhead)
+
+include $(CLEAR_VARS)
+LOCAL_MODULE := libacdbloader
+LOCAL_SRC_FILES := libacdbloader.so
+LOCAL_MODULE_SUFFIX := .so
+LOCAL_MODULE_CLASS := SHARED_LIBRARIES
+LOCAL_MODULE_PATH := $(TARGET_OUT)/lib
+LOCAL_MODULE_TAGS := optional
+LOCAL_MODULE_OWNER := qcom
+
+# Create symbolic link because user space can access persist directory,
+# while kernel ALSA drivers can only access the /system/etc/firmware directory
+LOCAL_POST_INSTALL_CMD := \
+    mkdir -p $(TARGET_OUT_ETC)/firmware/wcd9310; \
+        ln -sf /data/misc/audio/wcd9310_anc.bin \
+        $(TARGET_OUT_ETC)/firmware/wcd9310/wcd9310_anc.bin; \
+        ln -sf /data/misc/audio/mbhc.bin \
+        $(TARGET_OUT_ETC)/firmware/wcd9310/wcd9310_mbhc.bin
+
+#include $(BUILD_PREBUILT)
+
+endif
diff --git a/self-extractors/root/BoardConfigVendor.mk b/self-extractors/root/BoardConfigVendor.mk
new file mode 100644
index 0000000..cbc44cc
--- /dev/null
+++ b/self-extractors/root/BoardConfigVendor.mk
@@ -0,0 +1,19 @@
+# Copyright 2013 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.
+
+LOCAL_STEM := hammerhead/BoardConfigPartial.mk
+
+-include vendor/broadcom/$(LOCAL_STEM)
+-include vendor/lge/$(LOCAL_STEM)
+-include vendor/qcom/$(LOCAL_STEM)
diff --git a/self-extractors/root/device-vendor.mk b/self-extractors/root/device-vendor.mk
new file mode 100644
index 0000000..4b7881d
--- /dev/null
+++ b/self-extractors/root/device-vendor.mk
@@ -0,0 +1,19 @@
+# Copyright 2013 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.
+
+LOCAL_STEM := hammerhead/device-partial.mk
+
+$(call inherit-product-if-exists, vendor/broadcom/$(LOCAL_STEM))
+$(call inherit-product-if-exists, vendor/lge/$(LOCAL_STEM))
+$(call inherit-product-if-exists, vendor/qcom/$(LOCAL_STEM))
diff --git a/vendor_owner_info.txt b/vendor_owner_info.txt
new file mode 100644
index 0000000..99a6e6b
--- /dev/null
+++ b/vendor_owner_info.txt
@@ -0,0 +1,163 @@
+system/vendor/firmware/venus.mdt:qcom
+system/vendor/firmware/venus.b00:qcom
+system/vendor/firmware/venus.b01:qcom
+system/vendor/firmware/venus.b02:qcom
+system/vendor/firmware/venus.b03:qcom
+system/vendor/firmware/venus.b04:qcom
+system/vendor/firmware/venus.b05:qcom
+system/vendor/firmware/venus.b06:qcom
+system/vendor/firmware/bu24205_LGIT_VER_2_DATA1.bin:lge
+system/vendor/firmware/bu24205_LGIT_VER_2_DATA2.bin:lge
+system/vendor/firmware/bu24205_LGIT_VER_2_DATA3.bin:lge
+system/vendor/firmware/bu24205_LGIT_VER_2_CAL.bin:lge
+system/vendor/firmware/bu24205_LGIT_VER_3_DATA1.bin:lge
+system/vendor/firmware/bu24205_LGIT_VER_3_DATA2.bin:lge
+system/vendor/firmware/bu24205_LGIT_VER_3_DATA3.bin:lge
+system/vendor/firmware/bu24205_LGIT_VER_3_CAL.bin:lge
+root/adb_keys:google
+system/etc/Bluetooth_cal.acdb:lge
+system/etc/DxHDCP.cfg:lge
+system/etc/General_cal.acdb:lge
+system/etc/Global_cal.acdb:lge
+system/etc/Handset_cal.acdb:lge
+system/etc/Hdmi_cal.acdb:lge
+system/etc/Headset_cal.acdb:lge
+system/app/QXDMLogger.apk:google
+system/etc/Speaker_cal.acdb:lge
+system/app/TimeService.apk:qcom
+system/vendor/firmware/bcm2079x-b5_firmware.ncd:broadcom
+system/vendor/firmware/bcm2079x-b5_pre_firmware.ncd:broadcom
+system/vendor/firmware/bcm4335a0.hcd:broadcom
+system/vendor/firmware/bcm4335c0.hcd:broadcom
+system/bin/bridgemgrd:qcom
+system/etc/firmware/cpp_firmware_v1_1_1.fw:qcom
+system/etc/firmware/cpp_firmware_v1_1_6.fw:qcom
+system/etc/firmware/cpp_firmware_v1_2_0.fw:qcom
+system/bin/diag_klog:qcom
+system/bin/diag_mdlog:qcom
+system/bin/ds_fmc_appd:qcom
+out/host/linux-x86/bin/dtbTool:qcom
+system/vendor/firmware/discretix/dxhdcp2.b00:lge
+system/vendor/firmware/discretix/dxhdcp2.b01:lge
+system/vendor/firmware/discretix/dxhdcp2.b02:lge
+system/vendor/firmware/discretix/dxhdcp2.b03:lge
+system/vendor/firmware/discretix/dxhdcp2.mdt:lge
+system/bin/irsc_util:qcom
+system/vendor/firmware/keymaster/keymaster.b00:lge
+system/vendor/firmware/keymaster/keymaster.b01:lge
+system/vendor/firmware/keymaster/keymaster.b02:lge
+system/vendor/firmware/keymaster/keymaster.b03:lge
+system/vendor/firmware/keymaster/keymaster.mdt:lge
+system/vendor/lib/libAKM8963.so:lge
+system/vendor/lib/libDxHdcp.so:lge
+system/vendor/lib/libFuzzmmstillomxenc.so:qcom
+system/lib/libI420colorconvert.so:qcom
+system/lib/libQSEEComAPI.so:qcom
+system/vendor/lib/libTimeService.so:qcom
+system/vendor/lib/libacdbloader.so:qcom
+system/lib/libadsprpc.so:qcom
+system/vendor/lib/libaudcal.so:qcom
+system/lib/libchromatix_imx179_common.so:qcom
+system/lib/libchromatix_imx179_default_video.so:qcom
+system/lib/libchromatix_imx179_preview.so:qcom
+system/lib/libchromatix_imx179_snapshot.so:qcom
+system/lib/libchromatix_mt9m114b_common.so:qcom
+system/lib/libchromatix_mt9m114b_default_video.so:qcom
+system/lib/libchromatix_mt9m114b_preview.so:qcom
+system/lib/libchromatix_mt9m114b_snapshot.so:qcom
+system/vendor/lib/libconfigdb.so:qcom
+system/vendor/lib/libdiag.so:qcom
+system/vendor/lib/libdrmdecrypt.so:qcom
+system/lib/libdrmdiag.so:qcom
+system/lib/libdrmfs.so:qcom
+system/lib/libdrmtime.so:qcom
+system/vendor/lib/libdsutils.so:qcom
+system/vendor/lib/libidl.so:qcom
+system/vendor/lib/libjpegdhw.so:qcom
+system/vendor/lib/libjpegehw.so:qcom
+system/lib/libloc_api_v02.so:qcom
+system/lib/libmm-abl.so:qcom
+system/lib/libmm-color-convertor.so:qcom
+system/lib/libmmQSM.so:qcom
+system/vendor/lib/libmmcamera2_iface_modules.so:qcom
+system/vendor/lib/libmmcamera2_imglib_modules.so:qcom
+system/vendor/lib/libmmcamera2_isp_modules.so:qcom
+system/vendor/lib/libmmcamera2_pproc_modules.so:qcom
+system/vendor/lib/libmmcamera2_sensor_modules.so:qcom
+system/vendor/lib/libmmcamera2_stats_algorithm.so:qcom
+system/vendor/lib/libmmcamera2_stats_modules.so:qcom
+system/vendor/lib/libmmcamera_faceproc.so:qcom
+system/lib/libmmcamera_hdr_lib.so:qcom
+system/lib/libmmcamera_image_stab.so:qcom
+system/vendor/lib/libmmcamera_imglib.so:qcom
+system/lib/libmmcamera_imx179.so:qcom
+system/vendor/lib/libmmcamera_imx179_eeprom.so:qcom
+system/lib/libmmcamera_mt9m114b.so:qcom
+system/lib/libmmcamera_wavelet_lib.so:qcom
+system/vendor/lib/libmmipl.so:qcom
+system/vendor/lib/libmmjpeg.so:qcom
+system/vendor/lib/libmmqjpeg_codec.so:qcom
+system/vendor/lib/libnetmgr.so:qcom
+system/vendor/lib/liboemcamera.so:qcom
+system/vendor/lib/libqmi.so:qcom
+system/vendor/lib/libqmi_cci.so:qcom
+system/vendor/lib/libqmi_common_so.so:qcom
+system/vendor/lib/libqmi_csi.so:qcom
+system/vendor/lib/libqmi_encdec.so:qcom
+system/vendor/lib/libqmiservices.so:qcom
+system/vendor/lib/libqomx_jpegenc.so:qcom
+system/lib/libril-qc-qmi-1.so:qcom
+system/vendor/lib/libril-qcril-hook-oem.so:qcom
+system/vendor/lib/libsensor1.so:qcom
+system/vendor/lib/libsensor_user_cal.so:qcom
+system/lib/libstagefright_hdcp.so:qcom
+system/vendor/lib/libvss_common_core.so:lge
+system/vendor/lib/libvss_common_idl.so:lge
+system/vendor/lib/libvss_common_iface.so:lge
+system/lib/libxml.so:qcom
+system/bin/mm-qcamera-daemon:qcom
+system/bin/mpdecision:qcom
+system/bin/netmgrd:qcom
+system/bin/nl_listener:qcom
+system/bin/port-bridge:qcom
+fake_packages/qcom_msm8974_gpu_libs-timestamp:qcom
+system/bin/qmuxd:qcom
+system/bin/qseecomd:qcom
+system/bin/radish:qcom
+system/bin/rmt_storage:qcom
+system/vendor/lib/hw/sensors.msm8974.so:qcom
+system/bin/sensors.qcom:qcom
+system/app/shutdownlistener.apk:qcom
+system/bin/subsystem_ramdump:qcom
+system/bin/thermal-engine:qcom
+system/bin/time_daemon:qcom
+system/bin/usbhub:qcom
+system/bin/usbhub_init:qcom
+system/vendor/bin/vss_init:lge
+system/vendor/firmware/a330_pfp.fw:qcom
+system/vendor/firmware/a330_pm4.fw:qcom
+system/vendor/lib/egl/eglsubAndroid.so:qcom
+system/vendor/lib/libC2D2.so:qcom
+system/vendor/lib/egl/libEGL_adreno.so:qcom
+system/vendor/lib/egl/libGLESv1_CM_adreno.so:qcom
+system/vendor/lib/egl/libGLESv2_adreno.so:qcom
+system/vendor/lib/libadreno_utils.so:qcom
+system/vendor/lib/libc2d2_a3xx.so:qcom
+system/vendor/lib/libgsl.so:qcom
+system/vendor/lib/libllvm-a3xx.so:qcom
+system/vendor/lib/libsc-a3xx.so:qcom
+system/vendor/lib/libCommandSvc.so:qcom
+system/vendor/lib/libacdbrtac.so:qcom
+system/vendor/lib/libadiertac.so:qcom
+system/vendor/lib/libdsi_netctrl.so:qcom
+system/lib/libgeofence.so:qcom
+system/vendor/lib/libmmcamera2_c2d_module.so:qcom
+system/vendor/lib/libmmcamera2_cpp_module.so:qcom
+system/vendor/lib/libmmcamera2_vpe_module.so:qcom
+system/vendor/lib/libmmcamera2_wnr_module.so:qcom
+system/vendor/lib/libqcci_legacy.so:qcom
+system/vendor/lib/libqdp.so:qcom
+system/vendor/lib/libqmi_client_qmux.so:qcom
+system/vendor/lib/libsensor_reg.so:qcom
+system/vendor/lib/libtime_genoff.so:qcom
+system/vendor/lib/libqdi.so:qcom
