Added initial repo files derived from fortuna device tree.
diff --git a/recovery/init.qcom.factory.sh b/recovery/init.qcom.factory.sh
new file mode 100755
index 0000000..6ba4823
--- /dev/null
+++ b/recovery/init.qcom.factory.sh
@@ -0,0 +1,230 @@
+#!/system/bin/sh
+# Copyright (c) 2009-2013, The Linux Foundation. All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are met:
+#     * Redistributions of source code must retain the above copyright
+#       notice, this list of conditions and the following disclaimer.
+#     * Redistributions in binary form must reproduce the above copyright
+#       notice, this list of conditions and the following disclaimer in the
+#       documentation and/or other materials provided with the distribution.
+#     * Neither the name of The Linux Foundation nor
+#       the names of its contributors may be used to endorse or promote
+#       products derived from this software without specific prior written
+#       permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+# NON-INFRINGEMENT ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+
+# Actions on fast factory test mode
+    chown -h bluetooth.bluetooth /sys/module/bluetooth_power/parameters/power
+    chown -h bluetooth.bluetooth /sys/class/rfkill/rfkill0/type
+    chown -h bluetooth.bluetooth /sys/class/rfkill/rfkill0/state
+    chown -h bluetooth.bluetooth /proc/bluetooth/sleep/proto
+    chown -h system.system /sys/module/sco/parameters/disable_esco
+    chown -h bluetooth.bluetooth /sys/module/hci_smd/parameters/hcismd_set
+    chmod -h 0660 /sys/module/bluetooth_power/parameters/power
+    chmod -h 0660 /sys/module/hci_smd/parameters/hcismd_set
+    chmod -h 0660 /sys/class/rfkill/rfkill0/state
+    chmod -h 0660 /proc/bluetooth/sleep/proto
+    chown -h bluetooth.bluetooth /dev/ttyHS0
+    chmod -h 0660 /dev/ttyHS0
+    chown -h bluetooth.bluetooth /sys/devices/platform/msm_serial_hs.0/clock
+    chmod -h 0660 /sys/devices/platform/msm_serial_hs.0/clock
+
+    chmod -h 0660 /dev/ttyHS2
+    chown -h bluetooth.bluetooth /dev/ttyHS2
+
+    #Create QMUX deamon socket area
+    mkdir -p /dev/socket/qmux_radio
+    chown -h radio.radio /dev/socket/qmux_radio
+    chmod -h 2770 /dev/socket/qmux_radio
+    mkdir -p /dev/socket/qmux_audio
+    chown -h media.audio /dev/socket/qmux_audio
+    chmod -h 2770 /dev/socket/qmux_audio
+    mkdir -p /dev/socket/qmux_bluetooth
+    chown -h bluetooth.bluetooth /dev/socket/qmux_bluetooth
+    chmod -h 2770 /dev/socket/qmux_bluetooth
+    mkdir -p /dev/socket/qmux_gps
+    chown -h gps.gps /dev/socket/qmux_gps
+    chmod -h 2770 /dev/socket/qmux_gps
+
+    # Allow QMUX daemon to assign port open wait time
+    chown -h radio.radio /sys/devices/virtual/hsicctl/hsicctl0/modem_wait
+
+    setprop wifi.interface wlan0
+
+    setprop ro.telephony.call_ring.multiple false
+
+    #Set SUID bit for usbhub
+    chmod -h 4755 /system/bin/usbhub
+    chmod -h 755 /system/bin/usbhub_init
+
+    #Remove SUID bit for iproute2 ip tool
+    chmod -h 0755 /system/bin/ip
+
+    chmod -h 0444 /sys/devices/platform/msm_hsusb/gadget/usb_state
+
+    # setup permissions for fb1 related nodes
+    chown -h system.graphics /sys/class/graphics/fb1/hpd
+    chown -h system.system /sys/class/graphics/fb1/hdcp/tp
+    chmod -h 0664 /sys/devices/virtual/graphics/fb1/hpd
+    chmod -h 0664 /sys/devices/virtual/graphics/fb1/hdcp/tp
+    chmod -h 0664 /sys/devices/virtual/graphics/fb1/video_mode
+    chmod -h 0664 /sys/devices/virtual/graphics/fb1/format_3d
+
+    # Change owner and group for media server and surface flinger
+    chown -h system.system /sys/devices/virtual/graphics/fb1/format_3d
+
+    #For bridgemgr daemon to inform the USB driver of the correct transport
+    chown -h radio.radio /sys/class/android_usb/f_rmnet_smd_sdio/transport
+
+    #To allow interfaces to get v6 address when tethering is enabled
+    echo 2 > /proc/sys/net/ipv6/conf/rmnet0/accept_ra
+    echo 2 > /proc/sys/net/ipv6/conf/rmnet1/accept_ra
+    echo 2 > /proc/sys/net/ipv6/conf/rmnet2/accept_ra
+    echo 2 > /proc/sys/net/ipv6/conf/rmnet3/accept_ra
+    echo 2 > /proc/sys/net/ipv6/conf/rmnet4/accept_ra
+    echo 2 > /proc/sys/net/ipv6/conf/rmnet5/accept_ra
+    echo 2 > /proc/sys/net/ipv6/conf/rmnet6/accept_ra
+    echo 2 > /proc/sys/net/ipv6/conf/rmnet7/accept_ra
+    echo 2 > /proc/sys/net/ipv6/conf/rmnet_sdio0/accept_ra
+    echo 2 > /proc/sys/net/ipv6/conf/rmnet_sdio1/accept_ra
+    echo 2 > /proc/sys/net/ipv6/conf/rmnet_sdio2/accept_ra
+    echo 2 > /proc/sys/net/ipv6/conf/rmnet_sdio3/accept_ra
+    echo 2 > /proc/sys/net/ipv6/conf/rmnet_sdio4/accept_ra
+    echo 2 > /proc/sys/net/ipv6/conf/rmnet_sdio5/accept_ra
+    echo 2 > /proc/sys/net/ipv6/conf/rmnet_sdio6/accept_ra
+    echo 2 > /proc/sys/net/ipv6/conf/rmnet_sdio7/accept_ra
+    echo 2 > /proc/sys/net/ipv6/conf/rmnet_usb0/accept_ra
+    echo 2 > /proc/sys/net/ipv6/conf/rmnet_usb1/accept_ra
+    echo 2 > /proc/sys/net/ipv6/conf/rmnet_usb2/accept_ra
+    echo 2 > /proc/sys/net/ipv6/conf/rmnet_usb3/accept_ra
+
+    # To prevent out of order acknowledgements from making
+    # connection tracking to treat them as not belonging to
+    # the connection they belong to.
+    # Otherwise, a weird issue happens in which some long
+    # connections on high-throughput links get dropped when
+    # an ack packet comes out of order
+    echo 1 > /proc/sys/net/netfilter/nf_conntrack_tcp_be_liberal
+
+#TODO:
+# basic network init
+#    ifup lo
+#    hostname localhost
+#    domainname localdomain
+
+# set RLIMIT_NICE to allow priorities from 19 to -20
+#    setrlimit 13 40 40
+
+# Memory management.  Basic kernel parameters, and allow the high
+# level system server to be able to adjust the kernel OOM driver
+# parameters to match how it is managing things.
+    echo 1 > /proc/sys/vm/overcommit_memory
+    echo 4 > /proc/sys/vm/min_free_order_shift
+    chown -h root.system /sys/module/lowmemorykiller/parameters/adj
+    chmod -h 0664 /sys/module/lowmemorykiller/parameters/adj
+    chown -h root.system /sys/module/lowmemorykiller/parameters/minfree
+    chmod -h 0664 /sys/module/lowmemorykiller/parameters/minfree
+
+    # Tweak background writeout
+    echo 200 > /proc/sys/vm/dirty_expire_centisecs
+    echo 5 > /proc/sys/vm/dirty_background_ratio
+
+    # Permissions for System Server and daemons.
+    chown -h radio.system /sys/android_power/state
+    chown -h radio.system /sys/android_power/request_state
+    chown -h radio.system /sys/android_power/acquire_full_wake_lock
+    chown -h radio.system /sys/android_power/acquire_partial_wake_lock
+    chown -h radio.system /sys/android_power/release_wake_lock
+    chown -h system.system /sys/power/autosleep
+    chown -h system.system /sys/power/state
+    chown -h system.system /sys/power/wakeup_count
+    chown -h radio.system /sys/power/wake_lock
+    chown -h radio.system /sys/power/wake_unlock
+    chmod -h 0660 /sys/power/state
+    chmod -h 0660 /sys/power/wake_lock
+    chmod -h 0660 /sys/power/wake_unlock
+
+    chown -h system.system /sys/devices/system/cpu/cpufreq/interactive/timer_rate
+    chmod -h 0660 /sys/devices/system/cpu/cpufreq/interactive/timer_rate
+    chown -h system.system /sys/devices/system/cpu/cpufreq/interactive/min_sample_time
+    chmod -h 0660 /sys/devices/system/cpu/cpufreq/interactive/min_sample_time
+    chown -h system.system /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq
+    chmod -h 0660 /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq
+    chown -h system.system /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load
+    chmod -h 0660 /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load
+    chown -h system.system /sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay
+    chmod -h 0660 /sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay
+    chown -h system.system /sys/devices/system/cpu/cpufreq/interactive/boost
+    chmod -h 0660 /sys/devices/system/cpu/cpufreq/interactive/boost
+    chown -h system.system /sys/devices/system/cpu/cpufreq/interactive/boostpulse
+    chown -h system.system /sys/devices/system/cpu/cpufreq/interactive/input_boost
+    chmod -h 0660 /sys/devices/system/cpu/cpufreq/interactive/input_boost
+    chown -h system.system /sys/devices/system/cpu/cpufreq/interactive/boostpulse_duration
+    chmod -h 0660 /sys/devices/system/cpu/cpufreq/interactive/boostpulse_duration
+
+    # Assume SMP uses shared cpufreq policy for all CPUs
+    chown -h system.system /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
+    chmod -h 0660 /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
+
+    chown -h system.system /sys/class/timed_output/vibrator/enable
+    chown -h system.system /sys/class/leds/keyboard-backlight/brightness
+    chown -h system.system /sys/class/leds/lcd-backlight/brightness
+    chown -h system.system /sys/class/leds/button-backlight/brightness
+    chown -h system.system /sys/class/leds/jogball-backlight/brightness
+    chown -h system.system /sys/class/leds/red/brightness
+    chown -h system.system /sys/class/leds/green/brightness
+    chown -h system.system /sys/class/leds/blue/brightness
+    chown -h system.system /sys/class/leds/red/device/grpfreq
+    chown -h system.system /sys/class/leds/red/device/grppwm
+    chown -h system.system /sys/class/leds/red/device/blink
+    chown -h system.system /sys/class/leds/red/brightness
+    chown -h system.system /sys/class/leds/green/brightness
+    chown -h system.system /sys/class/leds/blue/brightness
+    chown -h system.system /sys/class/leds/red/device/grpfreq
+    chown -h system.system /sys/class/leds/red/device/grppwm
+    chown -h system.system /sys/class/leds/red/device/blink
+    chown -h system.system /sys/class/timed_output/vibrator/enable
+    chown -h system.system /sys/module/sco/parameters/disable_esco
+    chown -h system.system /sys/kernel/ipv4/tcp_wmem_min
+    chown -h system.system /sys/kernel/ipv4/tcp_wmem_def
+    chown -h system.system /sys/kernel/ipv4/tcp_wmem_max
+    chown -h system.system /sys/kernel/ipv4/tcp_rmem_min
+    chown -h system.system /sys/kernel/ipv4/tcp_rmem_def
+    chown -h system.system /sys/kernel/ipv4/tcp_rmem_max
+    chown -h root radio /proc/cmdline
+
+# Set the property to indicate type of virtual display to 0
+# 0 indicates that virtual display is not a Wifi display and that the
+# session is not exercised through RemoteDisplay in the android framework
+    setprop persist.sys.wfd.virtual 0
+
+# Set this property so surfaceflinger is not started by system_init
+    setprop system_init.startsurfaceflinger 0
+
+# Start the following services needed for fftm
+    start config_bluetooth
+    start media
+    start fastmmi
+    start adbd
+    start qcom-post-boot
+    start rmt_storage
+    start qcom-c_main-sh
+    start irsc_util
+    start qcamerasvr
+    start qcom-usb-sh
+    start qcomsysd
+    start ptt_ffbm
+    start ftm_ffbm