[oe-commits] org.oe.dev contrib/deploy/nfs/: Tools to deploy OE images for NFS boot.

pfalcon commit openembedded-commits at lists.openembedded.org
Tue Dec 25 18:54:36 UTC 2007


contrib/deploy/nfs/: Tools to deploy OE images for NFS boot.
* Provides best practices for exports locations and sample of exports file.
(The same location is used by default by initramfs-uniboot).
* Tool to deploy tar.bz2/tar.gz/cpio.gz images to exported location.

Author: pfalcon at openembedded.org
Branch: org.openembedded.dev
Revision: 61579c7da39f55c80a2465eea785057df572d2c5
ViewMTN: http://monotone.openembedded.org/revision/info/61579c7da39f55c80a2465eea785057df572d2c5
Files:
1
contrib/deploy/nfs
contrib/deploy/nfs/exports.sample
contrib/deploy/nfs/oe-nfs-deploy-image
mtn:execute
true
Diffs:

#
# mt diff -r0b06cc83b2c6a878da8ea84cca57278ab7b6e2d6 -r61579c7da39f55c80a2465eea785057df572d2c5
#
# 
# 
# add_dir "contrib/deploy/nfs"
# 
# add_file "contrib/deploy/nfs/exports.sample"
#  content [873dee0855ece7add89696fa1203572e28671d9d]
# 
# add_file "contrib/deploy/nfs/oe-nfs-deploy-image"
#  content [892fee86f3f7fb512be7dd5114da05f12e1585eb]
# 
#   set "contrib/deploy/nfs/oe-nfs-deploy-image"
#  attr "mtn:execute"
# value "true"
# 
============================================================
--- contrib/deploy/nfs/exports.sample	873dee0855ece7add89696fa1203572e28671d9d
+++ contrib/deploy/nfs/exports.sample	873dee0855ece7add89696fa1203572e28671d9d
@@ -0,0 +1,2 @@
+# /etc/exports: NFS file systems being exported.  See exports(5).
+/srv/nfs/oe	192.168.0.0/16(rw,insecure,no_root_squash)
============================================================
--- contrib/deploy/nfs/oe-nfs-deploy-image	892fee86f3f7fb512be7dd5114da05f12e1585eb
+++ contrib/deploy/nfs/oe-nfs-deploy-image	892fee86f3f7fb512be7dd5114da05f12e1585eb
@@ -0,0 +1,51 @@
+#!/bin/sh
+
+# Wonder what the heck is /srv ? Read Filesystem Hierarchy Standard,
+# http://www.pathname.com/fhs/pub/fhs-2.3.html#SRVDATAFORSERVICESPROVIDEDBYSYSTEM
+# So, /srv/nfs is root of all NFS exports your system offers, and /srv/nfs/oe is
+# OpenEmbedded's subset (think security).
+NFS_ROOT=/srv/nfs/oe
+
+if [ -z "$1" ]; then
+    echo "$0 - Deploy OpenEmbedded-generated image for device NFS boot"
+    echo "Usage: $0 <image> | -l"
+    exit
+fi
+
+if [ "$1" == "-l" ]; then
+    if [ -n "$2" ]; then
+	extra="-name *$2*"
+    fi
+    find tmp/deploy/ -regextype posix-extended -wholename '*/images/*' -regex '.+\.(tar\.bz2|tar\.gz|cpio\.gz)$' $extra | xargs ls -l
+    exit
+fi
+
+if [ ! -f $1 ]; then
+    echo "Cannot find image $1"
+    exit
+fi
+
+ext=`echo $1 | sed -r -e 's/.+\.([^.]+\.[^.]+)/\1/'`
+basename=`basename $1 .$ext`
+
+if [ -z "$basename" ]; then
+    echo "Assertion failed"
+    exit 100
+fi
+
+echo "Deploying to: $NFS_ROOT/$basename"
+
+rm -rf $NFS_ROOT/$basename
+
+mkdir -p $NFS_ROOT/$basename
+
+if [ "$ext" == "tar.bz2" ]; then
+    tar -xj -f $1 -C $NFS_ROOT/$basename
+elif [ "$ext" == "tar.gz" ]; then
+    tar -xz -f $1 -C $NFS_ROOT/$basename
+else
+    FPATH=`pwd`
+    cd $NFS_ROOT/$basename 
+    bash -c "gzip -d -c $FPATH/$1 | cpio -i --no-absolute-filenames"
+    cd $FPATH
+fi






More information about the Openembedded-commits mailing list