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:
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:
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,