#@NAME: Dreambox DM 7025
#@DESCRIPTION: Machine configuration for the Dreambox DM 7025
+#set distro pr to a because of change from 2.6.32 to 2.6.12.6
+#but online update doesnt work because of squashfs/jffs2 unionfs and not enough flash
+#so a complete reflash is always needed on dm7025 when the DISTRO_PR changes!
+DISTRO_PR = "a"
+
+PREFERRED_VERSION_linux-dm7025 = "2.6.12.6"
+PREFERRED_VERSION_linux-libc-headers = "2.6.12.0"
+PREFERRED_VERSION_wpa-supplicant = "0.5.10"
+PREFERRED_VERSION_unionfs-modules = "1.1.5"
+IMAGE_DEV_MANAGER = "${@base_contains('PREFERRED_VERSION_linux-dm7025', '2.6.12.6', ' ', 'udev', d)}"
+
+EXTRA_IMAGEDEPENDS += "\
+ ${@base_contains('PREFERRED_VERSION_linux-dm7025', '2.6.12.6', 'unionfs-modules hotplug-ng', 'squashfs-tools-native', d)} \
+ klibc \
+ dreambox-boottool \
+"
+
+#needed for wpa-supplicant
+COMBINED_FEATURES_append = "${@base_contains('PREFERRED_VERSION_linux-dm7025', '2.6.12.6', '', 'nl80211', d)}"
+
+#JAVA_mipsel = ",java"
+
+#take care when you do changes on MACHINE_ESSENTIAL_EXTRA_RDEPENDS/RRECOMMENDS you have to increment the recipes/tasks/task-boot.bb PR
+
MACHINE_ESSENTIAL_EXTRA_RDEPENDS = "\
- kernel-module-pata-xilleon \
+ kernel-module-squashfs \
+ ${@base_contains('PREFERRED_VERSION_linux-dm7025', '2.6.12.6', 'unionfs-modules hotplug-ng', 'kernel-module-unionfs \
+ kernel-module-ext3 \
+ kernel-module-nls-iso8859-15 \
+ kernel-module-nls-cp437 \
+ kernel-module-nls-cp850 \
+ kernel-module-nls-utf8', d)} \
+ kernel-module-loop \
+ dreambox-boottool \
"
+MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS = "\
+ kernel-module-cifs \
+ kernel-module-exportfs \
+ kernel-module-ext2 \
+ kernel-module-reiserfs \
+ kernel-module-xfs \
+"
+
+KV = "${@base_contains('PREFERRED_VERSION_linux-dm7025', '2.6.12.6', '2.6.12.6', '${PREFERRED_VERSION_linux-dm7025}-1.3-dm7025', d)}"
+UNIONFS = "${@base_contains('PREFERRED_VERSION_linux-dm7025', '2.6.12.6', 'unionfs.ko', 'unionfs', d)}"
+MKSQUASHFS_PARAM = "${@base_contains('PREFERRED_VERSION_linux-dm7025', '2.6.12.6', '-le', '-comp lzma', d)}"
+
+UNLZMA_CMD = "${@base_contains('PREFERRED_VERSION_linux-dm7025', '2.6.12.6', '', \
+ 'mv ${IMAGE_ROOTFS}/lib/modules/${KV}/kernel/lib/decompress_unlzma.ko \
+ ${IMAGE_ROOTFS}/boot/lib/modules/${KV}/kernel/lib;', d)}"
+
EXTRA_IMAGECMD_jffs2 = " --eraseblock=0x4000 -n -l "
IMAGE_CMD_jffs2 = "\
+ install -d ${DEPLOY_DIR_IMAGE}/boot_tmp; \
+ for i in bin dev mnt/flash mnt/squashfs mnt/root; \
+ do \
+ install -d ${IMAGE_ROOTFS}/boot/$i; \
+ done; \
+ install -d ${IMAGE_ROOTFS}/boot/lib/modules/${KV}/kernel/fs; \
+ install -d ${IMAGE_ROOTFS}/boot/lib/modules/${KV}/kernel/drivers/block; \
+ install -d ${IMAGE_ROOTFS}/boot/lib/modules/${KV}/kernel/lib; \
+ mv ${IMAGE_ROOTFS}/lib/modules/${KV}/kernel/fs/squashfs \
+ ${IMAGE_ROOTFS}/boot/lib/modules/${KV}/kernel/fs; \
+ mv ${IMAGE_ROOTFS}/lib/modules/${KV}/kernel/fs/${UNIONFS} \
+ ${IMAGE_ROOTFS}/boot/lib/modules/${KV}/kernel/fs; \
+ mv ${IMAGE_ROOTFS}/lib/modules/${KV}/kernel/drivers/block/loop.ko \
+ ${IMAGE_ROOTFS}/boot/lib/modules/${KV}/kernel/drivers/block; \
+ ${UNLZMA_CMD} \
+ mknod -m 660 ${IMAGE_ROOTFS}/boot/dev/console c 5 1; \
+ mknod -m 660 ${IMAGE_ROOTFS}/boot/dev/null c 1 3; \
+ mknod -m 660 ${IMAGE_ROOTFS}/boot/dev/mtdblock3 b 31 3; \
+ mknod -m 660 ${IMAGE_ROOTFS}/boot/dev/loop0 b 7 0; \
mkfs.jffs2 \
--root=${IMAGE_ROOTFS}/boot \
--faketime \
--compression-mode=size \
--output=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.boot.jffs2 \
${EXTRA_IMAGECMD}; \
- rm -rf ${IMAGE_ROOTFS}/boot/*; \
+ rm -rf ${DEPLOY_DIR_IMAGE}/boot_tmp; \
+ mv ${IMAGE_ROOTFS}/boot ${DEPLOY_DIR_IMAGE}/boot_tmp; \
+ install -d ${IMAGE_ROOTFS}/boot; \
+ \
+ install -d ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}/delta; \
+ cd ${IMAGE_ROOTFS}; \
+ for i in `find -maxdepth 3 -name enigma2 | xargs`; \
+ do \
+ install -d ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}/delta/${i%%/enigma2}; \
+ mv $i ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}/delta/${i%%/enigma2}; \
+ done; \
+ for i in `find -type d -name extra | xargs`; \
+ do \
+ install -d ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}/delta/${i%%/extra}; \
+ mv $i ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}/delta/${i%%/extra}; \
+ done; \
+ mv usr/bin/gst* ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}/delta/usr/bin; \
+ mv usr/lib/*gst* ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}/delta/usr/lib; \
+ sed -i 's/^\/dev\/mtdblock2/\/dev\/root/;' ${IMAGE_ROOTFS}/etc/fstab; \
+ mksquashfs ${IMAGE_ROOTFS}/* ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}/squashfs \
+ ${MKSQUASHFS_PARAM} -root-owned -noappend; \
+ \
mkfs.jffs2 \
- --root=${IMAGE_ROOTFS} \
+ --root=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME} \
--faketime \
+ --disable-compressor=lzo \
--compression-mode=size \
--output=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.jffs2 \
${EXTRA_IMAGECMD}; \
- buildimage ${STAGING_LIBDIR}/dreambox-secondstage/main.bin.gz \
- ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.boot.jffs2 \
- ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.jffs2 \
- ${MACHINE} \
+ for i in ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}/delta/*; \
+ do cp -R $i ${IMAGE_ROOTFS}; done; \
+ rm -rf ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}; \
+ rm -rf ${IMAGE_ROOTFS}/boot; \
+ mv ${DEPLOY_DIR_IMAGE}/boot_tmp ${IMAGE_ROOTFS}/boot; \
+ buildimage --arch ${MACHINE} -e 0x4000 -f 0x2000000 -s 512 \
+ -b 0x40000:${STAGING_LIBDIR}/dreambox-secondstage/main.bin.gz \
+ -d 0x3C0000:${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.boot.jffs2 \
+ -d 0x1C00000:${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.jffs2 \
> ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.nfi"
+MACHINE_FEATURES += "wifi"
+
require conf/machine/include/dreambox-mipsel.inc