increase dvbapp PR.
[vuplus_openembedded] / conf / machine / dm7025.conf
index e4a6ee1..088a202 100644 (file)
 #@TYPE: Machine
-#@NAME: Dreambox DM7025
-#@DESCRIPTION: Machine configuration for the Dreambox DM7025
+#@NAME: Dreambox DM 7025
+#@DESCRIPTION: Machine configuration for the Dreambox DM 7025
 
-TARGET_ARCH = "mipsel"
-IPKG_ARCHS = "all mipsel ${MACHINE}"
-PREFERRED_PROVIDER_xserver = "xserver-kdrive"
-PREFERRED_PROVIDER_virtual/kernel = "linux-dm7025"
+#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"
 
-MACHINE_ESSENTIAL_EXTRA_RDEPENDS = "dreambox-dvb-modules kernel-module-stv0299 \
-       kernel-module-cdrom     kernel-module-cifs      kernel-module-exportfs \
-       kernel-module-ide-cd kernel-module-reiserfs kernel-module-sd-mod \
-       kernel-module-sg        kernel-module-sr-mod \
-       kernel-module-xfs kernel-module-autofs4 kernel-module-msdos kernel-module-vfat \
-       kernel-module-fat       gst-plugin-dvbmediasink gst-plugin-fluendo-mpegdemux "
+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)}"
 
-MACHINE_ESSENTIAL_EXTRA_RDEPENDS += ${@bb.data.getVar('DISTRO_VERSION', d, 1) != "1.4.0" and "kernel-module-squashfs kernel-module-sqlzma kernel-module-unlzma kernel-module-loop unionfs-modules dreambox-boottool " or " "}
+EXTRA_IMAGEDEPENDS += "\
+       ${@base_contains('PREFERRED_VERSION_linux-dm7025', '2.6.12.6', 'unionfs-modules hotplug-ng', 'squashfs-tools-native', d)} \
+       klibc  \
+       dreambox-boottool \
+"
 
-GLIBC_ADDONS = "ports,nptl,libidn"
-TARGET_FPU = "soft"
-OLDEST_KERNEL = "2.6.9"
+#needed for wpa-supplicant
+COMBINED_FEATURES_append = "${@base_contains('PREFERRED_VERSION_linux-dm7025', '2.6.12.6', '', 'nl80211', d)}"
 
-PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}gcc-initial:gcc-cross-initial"
-PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}gcc:gcc-cross"
-PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}g++:gcc-cross"
-PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}libc-for-gcc:glibc"
+#JAVA_mipsel = ",java"
 
-#PREFERRED_VERSION_glibc = "2.3.5+cvs20050627"
-#PREFERRED_VERSION_gcc-cross-initial = "3.4.5"
-#PREFERRED_VERSION_gcc-cross = "3.4.5"
-#PREFERRED_VERSION_gcc-cross-sdk = "3.4.5"
-#PREFERRED_VERSION_gcc = "3.4.5"
-#PREFERRED_VERSION_binutils-cross = "2.15.94.0.1"
-#PREFERRED_VERSION_binutils-cross-sdk = "2.15.94.0.1"
-#PREFERRED_VERSION_binutils = "2.15.94.0.1"
-#PREFERRED_VERSION_linux-libc-headers = "2.6.11.1"
+#take care when you do changes on MACHINE_ESSENTIAL_EXTRA_RDEPENDS/RRECOMMENDS you have to increment the recipes/tasks/task-boot.bb PR
 
-PREFERRED_VERSION_glibc = "2.3.5+cvs20051107"
-PREFERRED_VERSION_gcc-cross-initial = "3.4.5"
-PREFERRED_VERSION_gcc-cross = "4.1.1"
-PREFERRED_VERSION_gcc-cross-sdk = "4.1.1"
-PREFERRED_VERSION_gcc = "4.1.1"
-PREFERRED_VERSION_gdb = "6.6.50.20061209"
-PREFERRED_VERSION_gdb-cross = "6.6.50.20061209"
-PREFERRED_VERSION_binutils-cross = "2.16.1"
-PREFERRED_VERSION_binutils-cross-sdk = "2.16.1"
-PREFERRED_VERSION_binutils = "2.16.1"
-PREFERRED_VERSION_linux-libc-headers = "2.6.12.0"
-GLIBC_EXTRA_OECONF = "--disable-profile --with-tls --without-fp --with-__thread"
-#JAVA_mipsel = ",java"
+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 \
+"
 
-EXTRA_IMAGEDEPENDS += "dreambox-secondstage dreambox-buildimage-native"
-EXTRA_IMAGECMD_jffs2 = " --eraseblock=0x4000 -n -l "
+MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS = "\
+       kernel-module-cifs \
+       kernel-module-exportfs \
+       kernel-module-ext2 \
+       kernel-module-reiserfs \
+       kernel-module-xfs \
+"
 
-KERNEL_VERSION = 2.6.12.6
+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 = "\
-       if [ "${@bb.data.getVar('DISTRO_VERSION', d, 1)}" != "1.4.0" ]; \
-       then \
-               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/${KERNEL_VERSION}/kernel/fs; \
-               install -d ${IMAGE_ROOTFS}/boot/lib/modules/${KERNEL_VERSION}/kernel/drivers/block; \
-               mv ${IMAGE_ROOTFS}/lib/modules/${KERNEL_VERSION}/kernel/fs/squashfs \
-                       ${IMAGE_ROOTFS}/boot/lib/modules/${KERNEL_VERSION}/kernel/fs; \
-               mv ${IMAGE_ROOTFS}/lib/modules/${KERNEL_VERSION}/kernel/fs/unionfs.ko \
-                       ${IMAGE_ROOTFS}/boot/lib/modules/${KERNEL_VERSION}/kernel/fs; \
-               mv ${IMAGE_ROOTFS}/lib/modules/${KERNEL_VERSION}/kernel/drivers/block/loop.ko \
-                       ${IMAGE_ROOTFS}/boot/lib/modules/${KERNEL_VERSION}/kernel/drivers/block; \
-               mkfs.jffs2 --root=${IMAGE_ROOTFS}/boot --faketime \
-                       --output=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.boot.jffs2 \
-                       ${EXTRA_IMAGECMD}; \
-               mv ${IMAGE_ROOTFS}/boot/* ${DEPLOY_DIR_IMAGE}/boot_tmp; \
-               \
-               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; \
-               cat ${IMAGE_ROOTFS}/etc/fstab | sed 's/^\/dev\/mtdblock\/2/\/dev\/root/;' > ${IMAGE_ROOTFS}/etc/fstab_neu; \
-               mv -f ${IMAGE_ROOTFS}/etc/fstab_neu ${IMAGE_ROOTFS}/etc/fstab; \
-               mksquashfs ${IMAGE_ROOTFS}/* ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}/squashfs \
-                       -root-owned -le -noappend; \
-               \
-               mkfs.jffs2 --root=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME} --faketime \
-                       --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; \
-       else \
-               mkfs.jffs2 --root=${IMAGE_ROOTFS}/boot --faketime \
-                       --output=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.boot.jffs2 \
-                       ${EXTRA_IMAGECMD}; \
-               rm -rf ${IMAGE_ROOTFS}/boot/*; \
-               \
-               mkfs.jffs2 --root=${IMAGE_ROOTFS} --faketime \
-                       --output=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.jffs2 \
-                       ${EXTRA_IMAGECMD}; \
-       fi; \
-       buildimage ${STAGING_LIBDIR}/dreambox-secondstage/main.bin.gz \
-               ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.boot.jffs2 \
-               ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.jffs2 \
-               ${MACHINE} \
+       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