summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta/classes/image_types.bbclass46
1 files changed, 18 insertions, 28 deletions
diff --git a/meta/classes/image_types.bbclass b/meta/classes/image_types.bbclass
index 0e5a9a8600..c168ed50e6 100644
--- a/meta/classes/image_types.bbclass
+++ b/meta/classes/image_types.bbclass
@@ -141,34 +141,24 @@ IMAGE_CMD_sum.jffs2 = "${IMAGE_CMD_jffs2} && sumtool -i ${DEPLOY_DIR_IMAGE}/${IM
141 141
142IMAGE_CMD_cramfs = "mkcramfs ${IMAGE_ROOTFS} ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.cramfs ${EXTRA_IMAGECMD}" 142IMAGE_CMD_cramfs = "mkcramfs ${IMAGE_ROOTFS} ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.cramfs ${EXTRA_IMAGECMD}"
143 143
144IMAGE_CMD_ext2 () { 144oe_mkext234fs () {
145 rm -rf ${DEPLOY_DIR_IMAGE}/tmp.gz-${PN} && mkdir ${DEPLOY_DIR_IMAGE}/tmp.gz-${PN} 145 fstype=$1
146 genext2fs -b $ROOTFS_SIZE -d ${IMAGE_ROOTFS} ${EXTRA_IMAGECMD} ${DEPLOY_DIR_IMAGE}/tmp.gz-${PN}/${IMAGE_NAME}.rootfs.ext2 146 extra_imagecmd=""
147 mv ${DEPLOY_DIR_IMAGE}/tmp.gz-${PN}/${IMAGE_NAME}.rootfs.ext2 ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.ext2
148 rmdir ${DEPLOY_DIR_IMAGE}/tmp.gz-${PN}
149}
150 147
151IMAGE_CMD_ext3 () { 148 if [ $# -gt 1 ]; then
152 genext2fs -b $ROOTFS_SIZE -d ${IMAGE_ROOTFS} ${EXTRA_IMAGECMD} ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.ext3 149 shift
153 tune2fs -j ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.ext3 150 extra_imagecmd=$@
154} 151 fi
155 152
156oe_mkext4fs () { 153 # Create a sparse image block
157 genext2fs -b $ROOTFS_SIZE -d ${IMAGE_ROOTFS} ${EXTRA_IMAGECMD} $1 154 dd if=/dev/zero of=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.$fstype seek=$ROOTFS_SIZE count=0 bs=1k
158 tune2fs -O extents,uninit_bg,dir_index,has_journal,filetype $1 155 mkfs.$fstype -F $extra_imagecmd ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.$fstype
159 e2fsck -yfDC0 $1 || chk=$? 156 populate-extfs.sh ${IMAGE_ROOTFS} ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.$fstype
160 case $chk in
161 0|1|2)
162 ;;
163 *)
164 return $chk
165 ;;
166 esac
167} 157}
168 158
169IMAGE_CMD_ext4 () { 159IMAGE_CMD_ext2 = "oe_mkext234fs ext2 ${EXTRA_IMAGECMD}"
170 oe_mkext4fs ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.ext4 160IMAGE_CMD_ext3 = "oe_mkext234fs ext3 ${EXTRA_IMAGECMD}"
171} 161IMAGE_CMD_ext4 = "oe_mkext234fs ext4 ${EXTRA_IMAGECMD}"
172 162
173IMAGE_CMD_btrfs () { 163IMAGE_CMD_btrfs () {
174 mkfs.btrfs -b `expr ${ROOTFS_SIZE} \* 1024` ${EXTRA_IMAGECMD} -r ${IMAGE_ROOTFS} ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.btrfs 164 mkfs.btrfs -b `expr ${ROOTFS_SIZE} \* 1024` ${EXTRA_IMAGECMD} -r ${IMAGE_ROOTFS} ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.btrfs
@@ -218,7 +208,7 @@ JFFS2_ENDIANNESS ?= "${@base_conditional('SITEINFO_ENDIANNESS', 'le', '--little-
218JFFS2_ERASEBLOCK ?= "0x40000" 208JFFS2_ERASEBLOCK ?= "0x40000"
219EXTRA_IMAGECMD_jffs2 ?= "--pad ${JFFS2_ENDIANNESS} --eraseblock=${JFFS2_ERASEBLOCK} --no-cleanmarkers" 209EXTRA_IMAGECMD_jffs2 ?= "--pad ${JFFS2_ENDIANNESS} --eraseblock=${JFFS2_ERASEBLOCK} --no-cleanmarkers"
220 210
221# Change these if you want default genext2fs behavior (i.e. create minimal inode number) 211# Change these if you want default mkfs behavior (i.e. create minimal inode number)
222EXTRA_IMAGECMD_ext2 ?= "-i 8192" 212EXTRA_IMAGECMD_ext2 ?= "-i 8192"
223EXTRA_IMAGECMD_ext3 ?= "-i 8192" 213EXTRA_IMAGECMD_ext3 ?= "-i 8192"
224EXTRA_IMAGECMD_ext4 ?= "-i 8192" 214EXTRA_IMAGECMD_ext4 ?= "-i 8192"
@@ -229,9 +219,9 @@ IMAGE_DEPENDS = ""
229IMAGE_DEPENDS_jffs2 = "mtd-utils-native" 219IMAGE_DEPENDS_jffs2 = "mtd-utils-native"
230IMAGE_DEPENDS_sum.jffs2 = "mtd-utils-native" 220IMAGE_DEPENDS_sum.jffs2 = "mtd-utils-native"
231IMAGE_DEPENDS_cramfs = "cramfs-native" 221IMAGE_DEPENDS_cramfs = "cramfs-native"
232IMAGE_DEPENDS_ext2 = "genext2fs-native" 222IMAGE_DEPENDS_ext2 = "e2fsprogs-native"
233IMAGE_DEPENDS_ext3 = "genext2fs-native e2fsprogs-native" 223IMAGE_DEPENDS_ext3 = "e2fsprogs-native"
234IMAGE_DEPENDS_ext4 = "genext2fs-native e2fsprogs-native" 224IMAGE_DEPENDS_ext4 = "e2fsprogs-native"
235IMAGE_DEPENDS_btrfs = "btrfs-tools-native" 225IMAGE_DEPENDS_btrfs = "btrfs-tools-native"
236IMAGE_DEPENDS_squashfs = "squashfs-tools-native" 226IMAGE_DEPENDS_squashfs = "squashfs-tools-native"
237IMAGE_DEPENDS_squashfs-xz = "squashfs-tools-native" 227IMAGE_DEPENDS_squashfs-xz = "squashfs-tools-native"