diff --git a/environments/arm-linux/default_toolchain_file.cmake b/environments/arm-linux/default_toolchain_file.cmake
new file mode 100644
index 0000000..bc04fdd
--- /dev/null
+++ b/environments/arm-linux/default_toolchain_file.cmake
@@ -0,0 +1,16 @@
+#-------------------------------------------------------------------------------
+# Copyright (c) 2020, Arm Limited and Contributors. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-3-Clause
+#
+#-------------------------------------------------------------------------------
+set(ENV{CROSS_COMPILE} "aarch64-linux-gnu-;aarch64-none-linux-gnu-")
+
+set(CMAKE_CROSSCOMPILING True)
+set(CMAKE_SYSTEM_NAME Linux)
+set(CMAKE_SYSTEM_PROCESSOR arm)
+
+set(CMAKE_C_FLAGS_INIT "-fdiagnostics-show-option -gdwarf-2 -mstrict-align -O0 -DARM64=1")
+set(CMAKE_CXX_FLAGS_INIT "-fdiagnostics-show-option -gdwarf-2 -mstrict-align -O0 -DARM64=1")
+
+include($ENV{TS_ROOT}/tools/cmake/compiler/GCC.cmake REQUIRED)
diff --git a/environments/arm-linux/env.cmake b/environments/arm-linux/env.cmake
new file mode 100644
index 0000000..fccb28d
--- /dev/null
+++ b/environments/arm-linux/env.cmake
@@ -0,0 +1,25 @@
+#-------------------------------------------------------------------------------
+# Copyright (c) 2020, Arm Limited and Contributors. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-3-Clause
+#
+#-------------------------------------------------------------------------------
+
+#-------------------------------------------------------------------------------
+#  Environment file for deployments to arm-linux.  This is a cross-compiled
+#  enviroment where built executables or libraries run in Linux userspace
+#  on Arm devices.
+#-------------------------------------------------------------------------------
+set(TS_ENV "arm-linux" CACHE STRING "Environment identifier")
+
+include(${CMAKE_CURRENT_LIST_DIR}/link_options.cmake)
+
+# Default to using the base toolcahin file for the enviroment
+set(TS_BASE_TOOLCHAIN_FILE "${CMAKE_CURRENT_LIST_DIR}/default_toolchain_file.cmake" CACHE STRING "Base toolchainfile")
+
+# Replicate in environment variable for access from child cmake contexts
+set(ENV{TS_BASE_TOOLCHAIN_FILE} "${TS_BASE_TOOLCHAIN_FILE}")
+
+# Set toolchain files to use
+set(CMAKE_TOOLCHAIN_FILE "${CMAKE_CURRENT_LIST_DIR}/default_toolchain_file.cmake" CACHE STRING "Toolchain file")
+set(TS_EXTERNAL_LIB_TOOLCHAIN_FILE "${TS_ROOT}/tools/cmake/compiler/static_lib_toolchain_file.cmake" CACHE STRING "External lib Toolchain file")
\ No newline at end of file
diff --git a/environments/arm-linux/env_shared_lib.cmake b/environments/arm-linux/env_shared_lib.cmake
new file mode 100644
index 0000000..1224eeb
--- /dev/null
+++ b/environments/arm-linux/env_shared_lib.cmake
@@ -0,0 +1,27 @@
+#-------------------------------------------------------------------------------
+# Copyright (c) 2020, Arm Limited and Contributors. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-3-Clause
+#
+#-------------------------------------------------------------------------------
+
+#-------------------------------------------------------------------------------
+#  Environment file for shared library deployments to linux-pc.
+#-------------------------------------------------------------------------------
+set(TS_ENV "arm-linux" CACHE STRING "Environment identifier")
+
+if (CMAKE_HOST_SYSTEM_NAME STREQUAL "Windows")
+	message(FATAL_ERROR "Building shared libraries is not yet working on Windows. Sorry!")
+endif()
+
+include(${CMAKE_CURRENT_LIST_DIR}/link_options.cmake)
+
+# Default to using the base toolcahin file for the enviroment
+set(TS_BASE_TOOLCHAIN_FILE "${CMAKE_CURRENT_LIST_DIR}/default_toolchain_file.cmake" CACHE STRING "Base toolchainfile")
+
+# Replicate in environment variable for access from child cmake contexts
+set(ENV{TS_BASE_TOOLCHAIN_FILE} "${TS_BASE_TOOLCHAIN_FILE}")
+
+# Set toolchain files to use
+set(CMAKE_TOOLCHAIN_FILE "${TS_ROOT}/tools/cmake/compiler/shared_lib_toolchain_file.cmake" CACHE STRING "Toolchain file")
+set(TS_EXTERNAL_LIB_TOOLCHAIN_FILE "${TS_ROOT}/tools/cmake/compiler/static_lib_toolchain_file.cmake" CACHE STRING "External lib Toolchain file")
diff --git a/environments/arm-linux/link_options.cmake b/environments/arm-linux/link_options.cmake
new file mode 100644
index 0000000..717b1ae
--- /dev/null
+++ b/environments/arm-linux/link_options.cmake
@@ -0,0 +1,50 @@
+#-------------------------------------------------------------------------------
+# Copyright (c) 2020, Arm Limited and Contributors. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-3-Clause
+#
+#-------------------------------------------------------------------------------
+
+#[===[.rst:
+.. cmake:command:: env_set_link_options
+
+  .. code-block:: cmake
+
+	 env_set_link_options(TGT foo)
+
+  Set default compile options for the arm-linux environment.
+
+  Inputs:
+
+   ``TGT``
+    Name of target to compile generated source files.
+
+#]===]
+function(env_set_link_options)
+    set(_options )
+    set(_oneValueArgs TGT)
+    set(_multiValueArgs )
+
+    cmake_parse_arguments(PARAMS "${_options}" "${_oneValueArgs}" "${_multiValueArgs}" ${ARGN})
+
+    #Verify mandatory parameters
+    if (NOT DEFINED PARAMS_TGT)
+        message(FATAL_ERROR "env_set_link_options(): mandatory parameter TGT missing.")
+    endif()
+
+    if(CMAKE_C_COMPILER_ID STREQUAL "GNU")
+        # Options for GCC that control linking
+        target_link_options(${PARAMS_TGT} PRIVATE
+            -fno-lto
+            -pie
+            -zmax-page-size=4096
+        )
+        # Options directly for LD, these are not understood by GCC
+        target_link_options(${PARAMS_TGT} PRIVATE
+            -Wl,--as-needed
+            -Wl,--sort-section=alignment
+            # -Wl,--dynamic-list ${CMAKE_CURRENT_LIST_DIR}/dyn_list
+        )
+    endif()
+
+endfunction()
