summaryrefslogtreecommitdiffstats
path: root/meta-fsl-arm/classes/bbsdcard_image.bbclass
diff options
context:
space:
mode:
authorEric Bénard <eric@eukrea.com>2012-03-08 17:22:50 +0100
committerOtavio Salvador <otavio@ossystems.com.br>2012-03-08 16:34:38 +0000
commitbe6410645866b4367bd814da85fa984553358dda (patch)
tree5aea17fd69b7fecb8dd157842e0a50d0f2c18c1e /meta-fsl-arm/classes/bbsdcard_image.bbclass
parent0b29bf9844e5444026d97d7345fc996ad0578eb2 (diff)
downloadmeta-freescale-be6410645866b4367bd814da85fa984553358dda.tar.gz
bbsdcard-image: add new class
this class allows the generation of a ready to use SDCard image using barebox bootloader. example on how to use it (with angstrom distro) : 1- add these 3 lines to your local.conf : ROOTFS = "${DEPLOY_DIR_IMAGE}/console-image-imx53qsb.ext3" INHERIT += "bbsdcard_image" BBSDIMG_SIZE = "512" 2- build the image bitbake console-image 3- copy it to the sdcard (update device for you sdcard, take care to not erase your hard drive ;-) sudo dd if=build/tmp-angstrom_2010_x-eglibc/deploy/images/imx53qsb/console-image-imx53qsb.bbsdimg of=/dev/mmcblk0 Signed-off-by: Eric Bénard <eric@eukrea.com>
Diffstat (limited to 'meta-fsl-arm/classes/bbsdcard_image.bbclass')
-rw-r--r--meta-fsl-arm/classes/bbsdcard_image.bbclass37
1 files changed, 37 insertions, 0 deletions
diff --git a/meta-fsl-arm/classes/bbsdcard_image.bbclass b/meta-fsl-arm/classes/bbsdcard_image.bbclass
new file mode 100644
index 000000000..18914d084
--- /dev/null
+++ b/meta-fsl-arm/classes/bbsdcard_image.bbclass
@@ -0,0 +1,37 @@
1#
2# Create an image that can by written onto a SD card using dd.
3#
4# External variables needed:
5# ${ROOTFS} - the rootfs image to incorporate
6
7# Add the fstypes we need
8IMAGE_FSTYPES += "bbsdimg"
9
10# Ensure required utilities are present
11IMAGE_DEPENDS_bbsdimg = "parted-native virtual/kernel barebox"
12
13# Default to 2GiB images
14BBSDIMG_SIZE ?= "2000"
15
16# Addional space for boot partition
17BOOT_SPACE ?= "5M"
18
19IMAGE_CMD_bbsdimg () {
20 TMP=${WORKDIR}/tmp
21 SDIMG=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.bbsdimg
22
23 if [ -f ${SDIMG} ]; then
24 rm ${SDIMG}
25 fi
26 dd if=/dev/zero of=${SDIMG} bs=$(expr 1000 \* 1000) count=${BBSDIMG_SIZE}
27
28 # Create partition table
29 parted -s ${SDIMG} mklabel msdos
30 parted -s ${SDIMG} mkpart primary ${BOOT_SPACE} 100%
31 parted ${SDIMG} print
32
33 dd if=${DEPLOY_DIR_IMAGE}/barebox-${MACHINE}.bin of=${SDIMG} conv=notrunc seek=1 skip=1 bs=512
34 dd if=${DEPLOY_DIR_IMAGE}/bareboxenv-${MACHINE}.bin of=${SDIMG} conv=notrunc seek=1 bs=512k
35 dd if=${DEPLOY_DIR_IMAGE}/uImage-${MACHINE}.bin of=${SDIMG} conv=notrunc seek=1 bs=1M
36 dd if=${ROOTFS} of=${SDIMG} conv=notrunc seek=1 bs=${BOOT_SPACE}
37}