summaryrefslogtreecommitdiff
path: root/classes
diff options
context:
space:
mode:
authorJesse Gilles <jgilles@multitech.com>2014-11-04 11:51:34 -0600
committerJesse Gilles <jgilles@multitech.com>2014-11-04 11:51:34 -0600
commite243c30f04c18722dc65effe6d4f275a3f35de46 (patch)
tree807610ce8af0ead02681d6c3cc89d902ec941652 /classes
downloadmeta-mlinux-atmel-e243c30f04c18722dc65effe6d4f275a3f35de46.tar.gz
meta-mlinux-atmel-e243c30f04c18722dc65effe6d4f275a3f35de46.tar.bz2
meta-mlinux-atmel-e243c30f04c18722dc65effe6d4f275a3f35de46.zip
initial commit of mLinux layer
Diffstat (limited to 'classes')
-rw-r--r--classes/mlinux-image.bbclass33
-rw-r--r--classes/mlinux_metadata_scm.bbclass14
2 files changed, 47 insertions, 0 deletions
diff --git a/classes/mlinux-image.bbclass b/classes/mlinux-image.bbclass
new file mode 100644
index 0000000..8da5e97
--- /dev/null
+++ b/classes/mlinux-image.bbclass
@@ -0,0 +1,33 @@
+# set specified root password in image using ROOT_PASSWORD_HASH
+mlinux_set_root_password () {
+ if [ -e ${IMAGE_ROOTFS}/etc/shadow ]; then
+ sed -i "s%^root:[^:]*:%root:${ROOT_PASSWORD_HASH}:%" ${IMAGE_ROOTFS}/etc/shadow
+ elif [ -e ${IMAGE_ROOTFS}/etc/passwd ]; then
+ sed -i "s%^root:[^:]*:%root:${ROOT_PASSWORD_HASH}:%" ${IMAGE_ROOTFS}/etc/passwd
+ fi
+}
+ROOTFS_POSTPROCESS_COMMAND += "mlinux_set_root_password;"
+
+# make links to images in TFTPBOOT_DIR for ease of development
+do_tftpboot_links() {
+ TFTPBOOT_CLEAN="oe_bootstrap.bin oe_bootstrap_pmecc_padded.bin \
+ oe_u-boot.bin oe_uImage.bin oe_rootfs.jffs2 oe_images"
+
+ if [ -n "${TFTPBOOT_DIR}" ]; then
+ install -d ${DEPLOY_DIR_IMAGE}
+
+ for f in ${TFTPBOOT_CLEAN}; do
+ rm -f ${TFTPBOOT_DIR}/$f
+ done
+
+ ln -nfs ${DEPLOY_DIR_IMAGE}/at91bootstrap.bin ${TFTPBOOT_DIR}/oe_bootstrap.bin
+ if [ -f ${DEPLOY_DIR_IMAGE}/at91bootstrap_pmecc_padded.bin ]; then
+ ln -nfs ${DEPLOY_DIR_IMAGE}/at91bootstrap_pmecc_padded.bin ${TFTPBOOT_DIR}/oe_bootstrap_pmecc_padded.bin
+ fi
+ ln -nfs ${DEPLOY_DIR_IMAGE}/u-boot-${MACHINE}.bin ${TFTPBOOT_DIR}/oe_u-boot.bin
+ ln -nfs ${DEPLOY_DIR_IMAGE}/uImage-${MACHINE}.bin ${TFTPBOOT_DIR}/oe_uImage.bin
+ ln -nfs ${DEPLOY_DIR_IMAGE}/${IMAGE_BASENAME}-${MACHINE}.jffs2 ${TFTPBOOT_DIR}/oe_rootfs.jffs2
+ ln -nfs ${DEPLOY_DIR_IMAGE} ${TFTPBOOT_DIR}/oe_images
+ fi
+}
+addtask tftpboot_links after do_rootfs before do_build
diff --git a/classes/mlinux_metadata_scm.bbclass b/classes/mlinux_metadata_scm.bbclass
new file mode 100644
index 0000000..e394910
--- /dev/null
+++ b/classes/mlinux_metadata_scm.bbclass
@@ -0,0 +1,14 @@
+MLINUX_METADATA_REVISION = "${@base_get_metadata_git_revision("${OETREE}",None)}"
+MLINUX_METADATA_BRANCH = "${@base_get_metadata_git_branch("${OETREE}",None).strip()}"
+MLINUX_LAYERS = "${@mlinux_layers(bb,d)}"
+
+def mlinux_layers(bb, d):
+ layers = (bb.data.getVar("BBLAYERS", d, 1) or "").split()
+ layer_revs = ""
+
+ for layer in layers:
+ branch = base_get_metadata_git_branch(layer, d).strip()
+ rev = base_get_metadata_git_revision(layer, d)
+ layer_revs += "%-20s = %s:%s\n" % (os.path.basename(layer), branch, rev)
+
+ return layer_revs