Beiträge von MastaG

    Hi there,


    I need some help here.
    I would like to upgrade some DM800SE receivers from a OE1.6 image to a OE2.0 image remotely.
    I have a working OE2.0 image for each box in NFI format which can be flashed perfectly using the web-interface that's built into the bootloader (by holding power until you see HOLD).
    However, I'd like to achieve the same result without any user interaction.


    Since I have the complete build-environment for my OE2.0 image, I thought of the following method.


    All the receivers are currently running a OE1.6 image (using the old flash layout)
    I built the OE2.0 kernel with a small initramfs with busybox (with network support and wget) and a static nandwrite (compiled from the official mtd-utils git, no dreambox specific patches applied).


    For the record:
    I have the following files: ssl.bin boot.jffs2 and root.jffs2 which I can use to create a perfectly working OE2.0 using this command on my build-environment:

    Code
    buildimage --arch=dm800se --flash-size=0x4000000 --brcmnand 
    --erase-block-size=16384 --sector-size=512 -b 0x40000:ssl.bin -d 
    0x3C0000:boot.jffs2 -d 0x3C00000:root.jffs2 > perfectl_oe2.0_image.nfi


    This image can be flashed using the DM800SE bootloader web-interface and works, so I can confirm that my compiled sources (ssl.bin boot.jffs2 and root.jffs2) are OK.


    I first tried to create a large RAW nand file using this method:

    Code
    buildimage --arch=dm800se --flash-size=0x4000000 --raw --brcmnand 
    --erase-block-size=16384 --sector-size=512 -b 0x40000:ssl.bin -d 
    0x3C0000:boot.jffs2 -d 0x3C00000:root.jffs2 > flash.nand


    On the OE1.6 image, I mount the /dev/mtdblock2 partition to /boot and
    I replace the kernel with my own OE2.0 image which will start busybox
    on serial shell.
    Now I'd like to erase the complete flash memory and flash my OE2.0 and reboot.


    I wget the "flash.nand" file into a tmpfs directoy


    And try to flash it using:
    flash_eraseall /dev/mtd0 0
    nandwrite -m -n -o /dev/mtd0 flash.nand


    However after a reboot, the bootloader is correctly flashed, but it complains it cannot find the correct inode for the boot partition.


    So I'd like to know.
    - Do I need special patches for mtd-utils (nandwrite flash_eraseall) to support the DM800SE
    - What's the correct procedure to flash, eg how should I present my the image I'd like to flash and what options should I use


    I'm really grateful if anyone could help me out.


    Than I can finally wrap everything up in scripts and upgrade automatically.


    Best regards,