[oe-commits] org.oe.dev contrib/image-convert: Add scripts to convert FS images to different formats.

pfalcon commit openembedded-commits at lists.openembedded.org
Wed Feb 6 16:48:36 UTC 2008


contrib/image-convert: Add scripts to convert FS images to different formats.
* Per RFC on the list.

Author: pfalcon at openembedded.org
Branch: org.openembedded.dev
Revision: 3096507e1176a6f381be085273c56ec4c8587ec8
ViewMTN: http://monotone.openembedded.org/revision/info/3096507e1176a6f381be085273c56ec4c8587ec8
Files:
1
contrib/image-convert
contrib/image-convert/README
contrib/image-convert/cpio2tar
contrib/image-convert/tar2ext2
contrib/image-convert/tar2ext2.mount
contrib/image-convert/tar2jffs
mtn:execute
true
Diffs:

#
# mt diff -ra7d8d33ac7c9103154c98fde0a758a23c99ed439 -r3096507e1176a6f381be085273c56ec4c8587ec8
#
# 
# 
# add_dir "contrib/image-convert"
# 
# add_file "contrib/image-convert/README"
#  content [6a51a30551e511575545a5fd8f73323e24a5a25e]
# 
# add_file "contrib/image-convert/cpio2tar"
#  content [e07f0f5d36511dd5de463b7f681d718aa5a217a0]
# 
# add_file "contrib/image-convert/tar2ext2"
#  content [d85040f059d884124f04ced0190c90dd4f07e0aa]
# 
# add_file "contrib/image-convert/tar2ext2.mount"
#  content [f3a784276701f55e27d354d61098277d73ad6103]
# 
# add_file "contrib/image-convert/tar2jffs"
#  content [351ffdf2f7346259f133eeed2e6477c83e34d59a]
# 
#   set "contrib/image-convert/cpio2tar"
#  attr "mtn:execute"
# value "true"
# 
#   set "contrib/image-convert/tar2ext2"
#  attr "mtn:execute"
# value "true"
# 
#   set "contrib/image-convert/tar2ext2.mount"
#  attr "mtn:execute"
# value "true"
# 
#   set "contrib/image-convert/tar2jffs"
#  attr "mtn:execute"
# value "true"
# 
============================================================
--- contrib/image-convert/README	6a51a30551e511575545a5fd8f73323e24a5a25e
+++ contrib/image-convert/README	6a51a30551e511575545a5fd8f73323e24a5a25e
@@ -0,0 +1,5 @@
+This directory contains scripts to convert (root) filesystem images from one
+format to another. While OpenEmbedded has extensive support for generating
+images in various formats, sometimes it may be useful/needed to convert
+already existing image.
+
============================================================
--- contrib/image-convert/cpio2tar	e07f0f5d36511dd5de463b7f681d718aa5a217a0
+++ contrib/image-convert/cpio2tar	e07f0f5d36511dd5de463b7f681d718aa5a217a0
@@ -0,0 +1,9 @@
+#!/bin/sh
+
+STAGING= #~/linux-ppc/build-oe-angstrom/tmp/staging/i686-linux/bin/
+
+${STAGING}fakeroot bash -c " \
+rm -rf scratch; mkdir scratch; \
+cd scratch; gzip -d -c ../$1 | cpio -i --make-directories; \
+cd ..; \
+tar -cj -C scratch -f $(basename $1 .cpio.gz).tar.bz2 ."
============================================================
--- contrib/image-convert/tar2ext2	d85040f059d884124f04ced0190c90dd4f07e0aa
+++ contrib/image-convert/tar2ext2	d85040f059d884124f04ced0190c90dd4f07e0aa
@@ -0,0 +1,25 @@
+#!/bin/sh
+
+if [ $# -ne 2 ]; then
+    echo "Usage: $0 <tarball> <ext2 size>"
+    exit
+fi
+
+ext=`echo $1 | sed -r -e 's/.+\.([^.]+\.[^.]+)/\1/'`
+base=$(basename $1 .$ext)
+dir=$(dirname $1)
+
+if [ "$ext" == "tar.bz2" ]; then
+    uncompress=j
+else
+    uncompress=z
+fi
+
+rm -rf mnt
+mkdir -p mnt
+
+fakeroot bash -c "\
+tar -x$uncompress -f $1 -C mnt; \
+genext2fs -d mnt -b $(($2 * 1024)) $dir/$base.img; \
+rm -rf mnt; \
+"
============================================================
--- contrib/image-convert/tar2ext2.mount	f3a784276701f55e27d354d61098277d73ad6103
+++ contrib/image-convert/tar2ext2.mount	f3a784276701f55e27d354d61098277d73ad6103
@@ -0,0 +1,25 @@
+#!/bin/sh
+
+if [ $# -ne 2 ]; then
+    echo "Usage: $0 <tarball> <ext2 size>"
+    exit
+fi
+
+ext=`echo $1 | sed -r -e 's/.+\.([^.]+\.[^.]+)/\1/'`
+base=$(basename $1 .$ext)
+if [ "$ext" == "tar.bz2" ]; then
+    uncompress=j
+else
+    uncompress=z
+fi
+
+dd if=/dev/zero of=$base.img bs=1M count=$2
+mkfs.ext2 -F -m1 $base.img
+
+mkdir -p mnt
+mount -o loop $base.img mnt
+
+tar -x$uncompress -f $1 -C mnt
+
+umount mnt
+rm -rf mnt
============================================================
--- contrib/image-convert/tar2jffs	351ffdf2f7346259f133eeed2e6477c83e34d59a
+++ contrib/image-convert/tar2jffs	351ffdf2f7346259f133eeed2e6477c83e34d59a
@@ -0,0 +1,8 @@
+#!/bin/sh
+
+STAGING= #~/linux-ppc/build-oe-angstrom/tmp/staging/i686-linux/bin/
+
+${STAGING}fakeroot bash -c " \
+rm -rf scratch; mkdir scratch; \
+tar -xj -f $1 -C scratch; \
+${STAGING}mkfs.jffs2 -x lzo --root=scratch --faketime --output=$(dirname $1)/$(basename $1 .tar.bz2).jffs2"






More information about the Openembedded-commits mailing list