[Lxc-users] lxc-ubuntu: Base arch detection code on debootstrap's with some additions when we don't have dpkg or udpkg

Stéphane Graber stgraber at ubuntu.com
Thu Jun 23 16:00:13 UTC 2011


Signed-off-by: Stéphane Graber <stgraber at ubuntu.com>
---
 templates/lxc-ubuntu.in |   24 ++++++++++++++++++------
 1 files changed, 18 insertions(+), 6 deletions(-)

diff --git a/templates/lxc-ubuntu.in b/templates/lxc-ubuntu.in
index 2a20c7d..4f75336 100644
--- a/templates/lxc-ubuntu.in
+++ b/templates/lxc-ubuntu.in
@@ -391,15 +391,27 @@ eval set -- "$options"
 
 release=lucid
 bindhome=
-arch=$(arch)
-trim_container=0
-if [ "$arch" == "x86_64" ]; then arch=amd64
-fi
 
-if [ "$arch" == "i386" ]; then
-    arch=i686
+# Code taken from debootstrap
+if [ "$arch" != "" ]; then
+    true
+elif [ -x /usr/bin/dpkg ] && /usr/bin/dpkg --print-architecture >/dev/null 2>&1; then
+    arch=`/usr/bin/dpkg --print-architecture`
+elif type udpkg >/dev/null 2>&1 && udpkg --print-architecture >/dev/null 2>&1; then
+    arch=`/usr/bin/udpkg --print-architecture`
+else
+    arch=$(arch)
+    if [ "$arch" = "i686" ]; then
+        arch="i386"
+    elif [ "$arch" = "x86_64" ]; then
+        arch="amd64"
+    elif [ "$arch" = "armv7l" ]; then
+        arch="armel"
+    fi
 fi
 
+trim_container=0
+
 hostarch=$arch
 while true
 do
-- 
1.7.5.4





More information about the lxc-users mailing list