diff --git a/classes/cpio-image.oeclass b/classes/cpio-image.oeclass
index 0b28940..13356dd 100644
--- a/classes/cpio-image.oeclass
+++ b/classes/cpio-image.oeclass
@@ -3,17 +3,24 @@ IMAGE_BASENAME ?= "${PN}-${TARGET_MACHINE_ID}"
 inherit image image_mdev image_inetd image_crontab image_makedevs image_inittab image_fstab
 
 RECIPE_FLAGS += "ramdisk_image \
-    ramdisk_image_name ramdisk_image_compression"
+    ramdisk_image_name ramdisk_image_compression \
+    cpio_compress_image cpio_image_compression"
+
 DEFAULT_USE_ramdisk_image = "0"
 DEFAULT_USE_ramdisk_image_name = "${IMAGE_BASENAME}"
 DEFAULT_USE_ramdisk_image_compression = "none"
 
+DEFAULT_USE_cpio_compress_image = "00"
+DEFAULT_USE_cpio_image_compression = "none"
+
 IMAGE_CREATE_FUNCS += "cpio_image"
 
 inherit kernel-arch
 IMAGE_CREATE_FUNCS:>USE_ramdisk_image = " cpio_mkimage"
 CLASS_DEPENDS:>USE_ramdisk_image = " native:u-boot-tools-mkimage"
 
+IMAGE_CREATE_FUNCS:>USE_cpio_compress_image = " cpio_compress_image"
+
 cpio_image () {
 	(
         cd ${IMAGE_DIR}
@@ -22,23 +29,31 @@ cpio_image () {
 	)
 }
 
-cpio_mkimage () {
-	(
-	case "${USE_ramdisk_image_compression}" in
+cpio_compress() {
+	case "$1" in
 		none) cp ${B}/${IMAGE_BASENAME}.cpio ${B}/image.bin
 			;;
-		bzip2) echo "TODO: ${USE_ramdisk_image_compression}"
+		bzip2) echo "TODO: $1"
 			;;
 		gzip) gzip ${B}/${IMAGE_BASENAME}.cpio -c > ${B}/image.bin
 			;;
-		lzma) echo "TODO: ${USE_ramdisk_image_compression}"
+		lzma) lzma ${B}/${IMAGE_BASENAME}.cpio -c  > ${B}/image.bin
 			;;
-		lzo) echo "TODO: ${USE_ramdisk_image_compression}"
+		lzo) echo "TODO: $1"
 			;;
-		*) echo "ERROR: mkimage compression ${USE_ramdisk_image_compression} not supported"
+		*) echo "ERROR: mkimage compression $1 not supported"
 			;;
 	esac
+}
+
+cpio_compress_image(){
+       cpio_compress ${USE_cpio_image_compression}
+       cp ${B}/image.bin ${B}/${IMAGE_BASENAME}.${USE_cpio_image_compression}
+}
 
+cpio_mkimage () {
+	(
+        cpio_compress ${USE_ramdisk_image_compression}
 	mkimage -A ${UBOOT_ARCH} -O linux -T ramdisk \
 		-C none \
 		-a 0x0 -e 0x0 \
@@ -49,6 +64,7 @@ cpio_mkimage () {
 
 EXT = ".cpio"
 EXT:>USE_ramdisk_image = " .img"
+EXT:>USE_cpio_compress_image = " .${USE_cpio_image_compression}"
 
 do_install[postfuncs] += "do_install_cpio_image"
 do_install_cpio_image () {
@@ -57,7 +73,7 @@ do_install_cpio_image () {
 	done
 }
 
-FILES_${PN} += "/*.cpio /*.img"
+FILES_${PN} += "/*.cpio /*.img /*.${USE_cpio_image_compression}"
 
 do_deploy[postfuncs] += "do_deploy_cpio_image"
 do_deploy_cpio_image () {
