[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