#@TYPE: Machine #@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-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 \ --disable-compressor=lzo \ --compression-mode=size \ --output=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.boot.jffs2 \ ${EXTRA_IMAGECMD}; \ 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=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME} \ --faketime \ --disable-compressor=lzo \ --compression-mode=size \ --output=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.jffs2 \ ${EXTRA_IMAGECMD}; \ 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