diff --git a/tools/ade b/tools/ade
index f4fc36573081ad2b4e68844ed69b6c8d007a4024..d8668c793c92ae140e3a4cad0219f8454f9dcf71 100755
--- a/tools/ade
+++ b/tools/ade
@@ -134,16 +134,17 @@ class Colors:
 
 
 class TargetTriplet:
-    SUPPORTED = {
-        'armhf': "arm-linux-gnueabihf",
-        'arm64': "aarch64-linux-gnu",
-        'x86_64': "x86_64-linux-gnu"
-    }
+    # Machine name, dpkg architecture, gnu triplet
+    SUPPORTED = [
+        [ 'armv7l', "armhf",  "arm-linux-gnueabihf" ],
+        [ 'aarch64',"arm64",  "aarch64-linux-gnu" ],
+        [ 'x86_64', "amd64", "x86_64-linux-gnu" ],
+    ]
 
     def __init__(self, string):
-        for items in self.SUPPORTED.items():
+        for items in self.SUPPORTED:
             if string in items:
-                self.arch, self.triplet = items
+                self.machine, self.arch, self.triplet = items
                 return
         raise NotSupportedError
 
@@ -208,9 +209,11 @@ class Device:
             print(e)
             raise InvalidDeviceError("No image_version file found")
         a = self._exec('uname', '-m')
-        if a not in TargetTriplet.SUPPORTED:
+        try:
+            triplet = TargetTriplet (a)
+        except NotSupportedError:
             raise InvalidDeviceError("Unsupported architecture {}".format(a))
-        self.version.arch = a
+        self.version.arch = triplet.arch
 
 
 class SysrootVersion: