From c4b9bd13292f10884ad96854b79b1d22251bd1e7 Mon Sep 17 00:00:00 2001 From: Paul Sokolovsky Date: Wed, 6 Feb 2008 16:36:16 +0000 Subject: contrib/image-convert: Add scripts to convert FS images to different formats. * Per RFC on the list. --- contrib/image-convert/.mtn2git_empty | 0 contrib/image-convert/README | 5 +++++ contrib/image-convert/cpio2tar | 9 +++++++++ contrib/image-convert/tar2ext2 | 25 +++++++++++++++++++++++++ contrib/image-convert/tar2ext2.mount | 25 +++++++++++++++++++++++++ contrib/image-convert/tar2jffs | 8 ++++++++ 6 files changed, 72 insertions(+) create mode 100644 contrib/image-convert/.mtn2git_empty create mode 100644 contrib/image-convert/README create mode 100755 contrib/image-convert/cpio2tar create mode 100755 contrib/image-convert/tar2ext2 create mode 100755 contrib/image-convert/tar2ext2.mount create mode 100755 contrib/image-convert/tar2jffs diff --git a/contrib/image-convert/.mtn2git_empty b/contrib/image-convert/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 diff --git a/contrib/image-convert/README b/contrib/image-convert/README new file mode 100644 index 0000000000..9daca60703 --- /dev/null +++ b/contrib/image-convert/README @@ -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. + diff --git a/contrib/image-convert/cpio2tar b/contrib/image-convert/cpio2tar new file mode 100755 index 0000000000..7f2c92fe26 --- /dev/null +++ b/contrib/image-convert/cpio2tar @@ -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 ." diff --git a/contrib/image-convert/tar2ext2 b/contrib/image-convert/tar2ext2 new file mode 100755 index 0000000000..d5756a4733 --- /dev/null +++ b/contrib/image-convert/tar2ext2 @@ -0,0 +1,25 @@ +#!/bin/sh + +if [ $# -ne 2 ]; then + echo "Usage: $0 " + 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; \ +" diff --git a/contrib/image-convert/tar2ext2.mount b/contrib/image-convert/tar2ext2.mount new file mode 100755 index 0000000000..7e23098c4d --- /dev/null +++ b/contrib/image-convert/tar2ext2.mount @@ -0,0 +1,25 @@ +#!/bin/sh + +if [ $# -ne 2 ]; then + echo "Usage: $0 " + 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 diff --git a/contrib/image-convert/tar2jffs b/contrib/image-convert/tar2jffs new file mode 100755 index 0000000000..7bf158e4a5 --- /dev/null +++ b/contrib/image-convert/tar2jffs @@ -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" -- cgit 1.2.3-korg