#@TYPE: Machine
-#@NAME: Dreambox DM800
-#@DESCRIPTION: Machine configuration for the Dreambox DM800
-
-TARGET_ARCH = "mipsel"
-IPKG_ARCHS = "all mipsel ${MACHINE}"
-PREFERRED_PROVIDER_xserver = "xserver-kdrive"
-PREFERRED_PROVIDER_virtual/kernel = "linux-dm800"
-
-MACHINE_ESSENTIAL_EXTRA_RDEPENDS = "dreambox-dvb-modules kernel-module-stv0299 \
- kernel-module-cifs kernel-module-exportfs \
- kernel-module-isofs \
- kernel-module-reiserfs kernel-module-scsi-mod kernel-module-sd-mod \
- kernel-module-sg kernel-module-sr-mod kernel-module-usb-storage \
- kernel-module-usbhid kernel-module-usbmon \
+#@NAME: Dreambox DM 800 HD PVR
+#@DESCRIPTION: Machine configuration for the Dreambox DM 800 HD PVR
+
+#comment out the following three lines to use currently experimental kernel 2.6.3x
+PREFERRED_VERSION_linux-dm800 = "2.6.18"
+PREFERRED_VERSION_linux-libc-headers = "2.6.18"
+PREFERRED_VERSION_wpa-supplicant = "0.5.10"
+
+#needed for wpa-supplicant (0.6.9)
+COMBINED_FEATURES_append = "${@base_contains('PREFERRED_VERSION_linux-dm800', '2.6.18', '', 'nl80211', d)}"
+
+#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_2.6.18 = "\
+ kernel-module-nls-iso8859-15 \
+ kernel-module-nls-cp850 \
+ kernel-module-nls-utf8 \
+ v4l-dvb-module-dvb-core \
+ v4l-dvb-module-stv0299 \
+"
+
+MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS_2.6.18 = "\
+ kernel-module-cifs \
+ kernel-module-exportfs \
+ kernel-module-ext2 \
+ kernel-module-reiserfs \
kernel-module-xfs \
+"
+
+MACHINE_ESSENTIAL_EXTRA_RDEPENDS_2.6.3x = "\
kernel-module-autofs4 \
- kernel-module-msdos kernel-module-vfat kernel-module-fat \
- gst-plugin-dvbmediasink gst-plugin-fluendo-mpegdemux"
-
-PREFERRED_VERSION_linux-libc-headers = "2.6.12.0"
-
-GLIBC_ADDONS = "ports,nptl,libidn"
-TARGET_FPU = "soft"
-#OLDEST_KERNEL = "2.6.9"
-EXTRA_IMAGEDEPENDS += "dreambox-secondstage dreambox-buildimage-native"
-EXTRA_IMAGECMD_jffs2 = " --eraseblock=0x4000 -n -l "
-IMAGE_CMD_jffs2 = "mkfs.jffs2 --root=${IMAGE_ROOTFS}/boot --faketime -x lzo \
- --output=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.boot.jffs2 \
- ${EXTRA_IMAGECMD}; rm -rf ${IMAGE_ROOTFS}/boot/*; \
- mkfs.jffs2 --root=${IMAGE_ROOTFS} --faketime -x lzo \
- --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} 64 \
- > ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.nfi"
+ kernel-module-dvb-core \
+ kernel-module-fb \
+ kernel-module-sg \
+ kernel-module-snd-pcm \
+ kernel-module-snd \
+ kernel-module-sr-mod \
+ kernel-module-stv0299 \
+ kernel-module-usbhid \
+"
+
+MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS_2.6.3x = "\
+ kernel-module-cdrom \
+ kernel-module-cifs \
+ kernel-module-exportfs \
+ kernel-module-ext2 \
+ kernel-module-reiserfs \
+ kernel-module-xfs \
+"
+
+MACHINE_ESSENTIAL_EXTRA_RDEPENDS = ${@base_contains('PREFERRED_VERSION_linux-dm800', '2.6.18', '${MACHINE_ESSENTIAL_EXTRA_RDEPENDS_2.6.18}', '${MACHINE_ESSENTIAL_EXTRA_RDEPENDS_2.6.3x}', d)}
+MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS = ${@base_contains('PREFERRED_VERSION_linux-dm800', '2.6.18', '${MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS_2.6.18}', '${MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS_2.6.3x}', d)}
+
+KERNEL_EXTRA_CMD = ${@base_contains('PREFERRED_VERSION_linux-dm800', '2.6.18', '--disable-compressor=lzo ', '', d)}
+
+EXTRA_IMAGECMD_jffs2 = " -e 0x4000 -n -l"
+IMAGE_CMD_jffs2 = "\
+ 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 ${IMAGE_ROOTFS}/boot/*; \
+ mkfs.jffs2 \
+ --root=${IMAGE_ROOTFS} \
+ --faketime \
+ ${KERNEL_EXTRA_CMD} \
+ --compression-mode=size \
+ --output=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.jffs2 \
+ ${EXTRA_IMAGECMD}; \
+ buildimage --brcmnand --arch ${MACHINE} -e 0x4000 -f 0x4000000 -s 512 \
+ -b 0x40000:${STAGING_LIBDIR}/dreambox-secondstage/main.bin.gz \
+ -d 0x3C0000:${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.boot.jffs2 \
+ -d 0x3C00000:${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.jffs2 \
+ > ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.nfi"
+
+MACHINE_FEATURES += "modem wifi"
+
+require conf/machine/include/dreambox-mipsel.inc