Modifying the Partition Layout for DM500+ to be like DM500s

  • Hi,


    I hope someone here can help me. I inherited a DM500+ and I would like to change the image on it.


    The image I would like to use however is the Commando Image for a DM500s, which is Neutrino based.


    I know that the bootloader is different for these models and the DM500+ uses nfi not img image files
    but as the Processor and Chipset are the same should it not be possible to put the DM500s bootloader
    on the DM500+ and then boot img files ??


    Is anyone willing to give some advice as to if this is possible ???



    I am attaching the partition layout for the Commando Image as used on a dm500s.
    I would need a similar layout for the dm500+, so would likely just need to remap and ignore and additional
    ram the DM500+ has



    I already have a working dm500s (running the neutrino image Commando), I also have the dm500+ running Gemini4.7 so I am including
    information from both below.




    They have the same processor & chipset and the primary difference is that the dm500+ has more flash & ram ( 32 MByte Flash, 96 MByte RAM)
    the dm500+ also uses nfi image files and not img files, thus when connected to DreamUp you can only flash nfi files
    (the box reports its type as DM500+ and the nfi file has its file format and boxtype in its header to make sure nfi is used for DM500+)


    As the boxes are so alike my theory is that if i extract a working dm500s bootloader and overwrite the existing one on the dm500+ then i should be then able to flash Commando on it.
    If that theory is flawed i think it still may be able to be done by jtagging and restructuring the flash layout.



    i think extracting the dm500s bootloader would be like this
    cat /dev/mtd/2 > /tmp/mtd2_bootloader.img
    To flash it to your box, unrar it and ftp it to /tmp - then telnet this command:
    [ -e /tmp/mtd2_bootloader.img ] && cd /tmp ; eraseall /dev/mtd/2 ; cp mtd2_bootloader.img /dev/mtd/2 ; reboot


    I would of course want to extract the bootloader from the dm500+ first just in case :-O



    I realise this could brick the box but im willing to give it a try and jtag later if necessary.


    Is this theory fundamentally flawed ?



    Im including some of the information on the working dm500+ box to discern whether its doable


    root@dm500plus:~> more /etc/fstab
    rootfs / auto defaults 1 1
    proc /proc proc defaults 0 0
    devpts /dev/pts devpts mode=0620,gid=5 0 0
    usbdevfs /proc/bus/usb usbfs defaults 0 0
    /dev/mtdblock/2 /boot jffs2 ro 0 0
    tmpfs /var tmpfs defaults 0 0
    tmpfs /tmp tmpfs defaults 0 0
    root@dm500plus:~>


    root@dm500plus:~> df -h
    Filesystem Size Used Available Use% Mounted on
    /dev/root 28.0M 17.3M 10.7M 62% /
    /dev/mtdblock/2 3.7M 1.4M 2.3M 38% /boot
    tmpfs 30.5M 36.0k 30.4M 0% /var
    tmpfs 30.5M 1.3M 29.2M 4% /tmp


    Partitions for DM500plus:


    root@dm500plus:~> cat /proc/partitions
    major minor #blocks name


    31 0 32768 mtdblock0
    31 1 256 mtdblock1
    31 2 3824 mtdblock2
    31 3 28672 mtdblock3
    root@dm500plus:~>


    Partitions for DM500s:
    ~ # cat /proc/partitions
    major minor #blocks name


    31 0 3840 mtdblock0
    31 1 4096 mtdblock1
    31 2 256 mtdblock2
    31 3 7936 mtdblock3
    31 4 8192 mtdblock4
    31 5 2816 mtdblock5
    31 6 1024 mtdblock6
    ~ #


    CONSOLE OUTPUT for DM500+ ON BOOT:


    Dreambox DM500+
    FIRST STAGE 1.7 {BO2345}
    2ND STAGE OK, build #67 (20081024)


    0.000 - fp init
    0.001 - ca init
    1.457 - load config
    dCA: not existent, loading defaults
    1.517 - config loaded.
    * press to enter setup
    no OLED found!
    BOOT #67(20081024)
    - NAND PROBE: ad 75 ad 75
    detected jffs2 blocksize: 16kb
    ++++++++++++++++++++++++++++++++++++++++++++++++++ +++++++++++++
    ++++++++++++++++++++++++++++++++++++++++++++++++++ +++++++++++++
    ++++++++++++++++++++++++++++++++++++++++++++++++++ +++++++++++++
    ++++++++++++++++++++++++++++++++++++++++++++++++++ +
    dreamupd initialized
    Scanning JFFS2 FS: . done.
    /flash/bootlogo.elf
    /flash/zImage.elf


    loaded at: 00500000 00628244
    board data at: 00626124 00626244
    relocated to: 00505194 005052B4
    zimage at: 00505A2D 00625DEC
    avail ram: 00629000 04000000


    Linux/PPC load: console=null root=/dev/mtdblock3 rootfstype=jffs2 rw
    Uncompressing Linux...done.
    Now booting the kernel
    Welcome to the enigma serial access.
    you may start a HTTP session now if you send a "break ".
    HTTP/1.0 200 OK
    Connection: close
    Content-Type: text/plain


    [ENIGMA_MOUNT] automountMountPoints...
    [ENIGMA_MOUNT] automountMountPoints: sysfs - 0
    [ENIGMA_MOUNT] automountMountPoints: tmpfs - 0
    [ENIGMA] ok, beginning mainloop
    + (54) wizard: tv system
    tvsystem already selected.. do not start tvsystem wizard
    + (55) wizard: network
    + (55) wizard: language
    + (56) wizard: fpudate
    + (57) wizard: timezone
    Dont run Timezone Setup.. timezone is already selected
    + (58) wizard: scan
    reached rl 75
    [FE] evt. locked
    [FE] start update transponder data timer
    ------------> changed! f
    AUDIO_GET_STATUS - stopped
    VIDEO_GET_STATUS - stopped
    VIDEO_SELECT_SOURCE - ok
    DMX_SET_PES_FILTER(0x1388) - video - ok
    DMX_SET_PES_FILTER(0x1388) - pcr - ok
    DMX_SET_PES_FILTER(0x1389) - audio - ok
    DMX_START (pcr) - ok
    DMX_START (video) - ok
    VIDEO_PLAY - ok
    AUDIO_PLAY - ok
    DMX_START (audio) - ok
    DMX_SET_PES_FILTER(0x138b) - vtxt - ok
    DEMUX_START - vtxt - ok
    start PAT on demux0
    start TDT on demux0
    PATready (0)
    start PMT on demux0
    PMTready (0)
    ------------> changed! 40
    write number to led-display
    [FONT] creating new font color cache entry 2200071e .. 00000000
    [FONT] creating new font color cache entry 2200071e .. 22bab329
    [FONT] creating new font color cache entry 00bab329 .. 00000000
    [FONT] creating new font color cache entry 00389416 .. 00000000
    [FONT] creating new font color cache entry 00999999 .. 2200071e
    PMT version = 2
    EITready (0)
    write number to led-display
    EIT version = 26
    SDTready (0)


    CONSOLE OUTPUT for DM500 ON BOOT:


    Dreambox DM500
    loaded at: 00500000 0060016C
    relocated to: 00400000 0050016C
    board data at: 004FE124 004FE16C
    relocated to: 0040519C 004051E4
    zimage at: 004058D9 004FD926
    avail ram: 00501000 02000000


    Linux/PPC load: console=ttyS0,115200 root=/dev/mtdblock5 rootfstype=squashfs ro
    Uncompressing Linux...done.
    Now booting the kernel
    Linux version 2.6.9 (user@Ubuntu) (gcc version 3.4.4) #835 Fri Mar 11 10:32:01 GMT 2016
    Built 1 zonelists
    Kernel command line: console=ttyS0,115200 root=/dev/mtdblock5 rootfstype=squashfs ro
    PID hash table entries: 256 (order: 8, 4096 bytes)
    Console: colour dummy device 80x25
    Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
    Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
    Memory: 30080k available (1688k kernel code, 576k data, 80k init, 0k highmem)
    Mount-cache hash table entries: 512 (order: 0, 4096 bytes)
    NET: Registered protocol family 16
    Squashfs 2.2-r2 (released 2005/09/08) (C) 2002-2005 Phillip Lougher
    devfs: 2004-01-31 Richard Gooch (rgooch@atnf.csiro.au)
    devfs: boot_options: 0x1
    JFFS2 version 2.2. (NAND) (C) 2001-2003 Red Hat, Inc.
    Serial: 8250/16550 driver $Revision: 1.90 $ 7 ports, IRQ sharing disabled
    ttyS0 at MMIO 0x0 (irq = 20) is a 16550A
    ttyS1 at MMIO 0x0 (irq = 21) is a 16550A
    ttyS2 at MMIO 0x0 (irq = 22) is a 16550A
    loop: loaded (max 8 devices)
    ne.c:v1.10 9/23/94 Donald Becker (becker@scyld.com)
    Last modified Nov 1, 2000 by Paul Gortmaker
    NE*000 ethercard probe at 0xc3060600:<4>eth0: interrupt from stopped card
    00 09 34 39 19 53
    eth0: NE2000 found at 0xc3060600, using IRQ 25.
    Universal TUN/TAP device driver 1.5 (C)1999-2002 Maxim Krasnyansky
    Using deadline io scheduler
    dreambox: flash mapping: 800000 at 7f800000
    DreamBOX rev3+: Found 1 x16 devices at 0x0 in 16-bit bank
    Intel/Sharp Extended Query Table at 0x0031
    Using buffer write method
    cfi_cmdset_0001: Erase suspend on write enabled
    disable flash VPP
    Creating 7 MTD partitions on "DreamBOX rev3+":
    0x00000000-0x003c0000 : "DreamBOX cramfs+squashfs"
    0x003c0000-0x007c0000 : "DreamBOX jffs2"
    0x007c0000-0x00800000 : "DreamBOX OpenBIOS"
    0x00000000-0x007c0000 : "DreamBOX (w/o bootloader)"
    0x00000000-0x00800000 : "DreamBOX (w/ bootloader)"
    0x00100000-0x003c0000 : "DreamBOX SquashedFS"
    0x00000000-0x00100000 : "DreamBOX Cramfs"
    mice: PS/2 mouse device common for all mice
    i2c /dev entries driver
    IBM IIC driver v2.1
    ibm-iic0: using standard (100 kHz) mode
    NET: Registered protocol family 2
    IP: routing cache hash table of 512 buckets, 4Kbytes
    TCP: Hash tables configured (established 2048 bind 4096)
    NET: Registered protocol family 1
    NET: Registered protocol family 17
    VFS: Mounted root (squashfs filesystem) readonly.
    Mounted devfs on /dev
    Freeing unused kernel memory: 80k init
    init started: BusyBox v1.17.2 (2015-04-13 11:21:17 BST)
    starting pid 12, tty '': '/etc/init.d/rcS'
    Fri Mar 11 10:39:30 UTC 2016
    [: 07: unknown operand
    [: 05: unknown operand
    head: module license 'Proprietary' taints kernel.
    framebuffer mem base: a0900000
    0/0: 00004000 81f00000
    0/1: 00000000 00000000
    1/0: 20003000 80f00000
    1/1: 00000000 00000000
    trying to memset ..
    ok.
    fb_find_mode returned 0
    allocated major 250 for denc.
    [DENC] set PAL
    [DENC] disable WSS
    core: Loaded IBM STB02xx core driver
    audio init
    AUDIO_CLEAR_BUFFER
    demux: init
    xp0_clk_stop
    registering frontend...
    fe: write ret=-121
    disable continuous tone
    stb04_pig: $Id: stb04_pig.c,v 1.15 2007/02/28 21:34:47 ghost Exp $
    [DENC] set mode to FBAS
    mkdir: can't create directory '/var/tuxbox/config/enigma/terrestrial': No such file or directory
    mkdir: can't create directory '/var/tuxbox/config/enigma/cable': No such file or directory
    rm: can't remove '/var/tuxbox/plugins/01-tuxcom.cfg': No such file or directory
    VIDEO_SELECT_SOURCE
    open video clip-mode
    VIDEO_CLEAR_BUFFER
    VIDEO_PLAY / VIDEO_CONTINUE, state 1 0
    write 1 event's ...
    VIDEO_STOP, state 0
    udhcpc (v1.17.2) started
    Sending discover...
    Sending select for 192.168.1.125...
    Lease of 192.168.1.125 obtained, lease time 43200
    route: SIOCDELRT: No such process
    starting pid 91, tty '': '/etc/init.d/start'


    Please press Enter to activate this console. MPEG Audio Decodfound device (0)
    er 0.14.2 (beta) - Copyright (C) 2000-2001 Robert Leslie
    tty: /dev/tty: No such device or address
    Genre: Other
    madplay: relocation error: madplay: symbol localeconv, version GLIBC_2.2 not defined in file libc.so.6 with link time reference
    $Id: sectionsd.cpp,v 1.319 2010/02/21 10:14:15 rhabarber1848 Exp $
    Modded RT-DAT-UK EPG - LraiZer - www.ukcvs.net
    [sectionsd] Caching max 18000 events
    [sectionsd] Caching 2 days
    [sectionsd] Caching 18 hours Extended Text
    [sectionsd] Events are old 60min after their end time
    /var/tuxbox/config/zapit/epgfilter.xml: No such file or directory
    /var/tuxbox/config/zapit/dvbtimefilter.xml: No such file or directory
    /var/tuxbox/config/mybouquets.xml: No such file or directory
    [timerd] FP_IOCTL_IS_WAKEUP: Invalid argument
    $Id: zapit.cpp,v 1.451 2010/08/01 16:59:42 seife Exp $
    [zapit] Load ScanSetup Setting: 0 0.000000 0.000000 1 1 8
    [frontend] uncommitted_switch_mode 0 auto_fec 0
    [frontend] non-cable box detected
    /var/tuxbox/config/zapit/ubouquets.xml: No such file or directory
    /tmp/currentservices.xml: No such file or directory
    [controld] Boxtype detected from mID: unknown (0[DENC] set mode to RGB
    )
    [DENC] set mode to FBAS
    [CVideo::setVide[DENC] set WSS 4:3
    oFormat] output set event: 00000009
    format: 4:3(LB)
    [zapit] set VIDEO_SET_FASTZAP 1
    nhttpd: /lib/libpng12.so.0: no version information available (required by /lib/liblcddisplay.so.0)
    [yhttpd] Webserver nhttpd/3.1.8 (yhttpd_core/1.2.0)
    LCD (/dev/dbox/lcd0): No such file or directory
    [LCDFONT] initializing core...
    [LCDFONT] adding font /share/fonts/micron.ttf...OK (Micron/Regular)
    [LCDFONT] adding font /share/fonts/micron_bold.ttf...OK (Micron/Regular)
    [LCDFONT] adding font /share/fonts/pakenham.ttf...OK (Pakenham/Regular)
    [LCDFONT] Intializing font cache...
    [yhttpd] Webserver starting...
    neutrino: /lib/libpng12.so.0: no version information available (required by /lib/liblcddisplay.so.0)
    starting /bin/neutrino
    [neutrino] frameBuffer Instance created
    2044k video mem
    [neutrino] Software update enabled
    LCD (/dev/dbox/lcd0): No such file or directory
    [lcdd] time-skin not found -> using default...
    [lcdd] weekday-skin not found -> using default...
    [lcdd] date-skin not found -> using default...
    [lcdd] month-skin not found -> using default...
    [LCDFONT] initializing core...
    [LCDFONT] adding font /share/fonts/12.pcf.gz...OK (Fix12/Regular)
    [LCDFONT] adding font /share/fonts/14B.pcf.gz...OK (Fix14/Bold)
    [LCDFONT] adding font /share/fonts/15B.pcf.gz...OK (Fix15/Bold)
    [LCDFONT] Intializing font cache...
    [lcdd] exit...(no lcd-support)
    [lcdd] LCD-Init failed!
    [neutrino] SetupFonts filename: /share/fonts/micron.ttf fontname: Micron
    [rcinput] no file /var/tuxbox/config/rc.conf was found
    [CFSMounter] Mount(1) 192.168.1.1:usbroot -> /mnt/usb
    CIFS: Unknown mount option udp
    CIFS: Unknown mount option nolock
    [CFSMounter] Mount(1) 192.168.1.100:recordings -> /mnt/cf
    CIFS: Unknown mount option udp
    CIFS: Unknown mount option nolock
    [CFSMounter] FS mount error: "mount -t cifs 192.168.1.100/recordings /mnt/cf -o username=guest,password=password,unc=//192.168.1.100/recordings,rw,soft,udp,nolock,rsize=8192,wsize=819 2"
    [CFSMounter] Mount(0) 192.168.1.123:/media/hdd -> /mnt/nfs
    mount: RPC: Unable to receive; errno = Connection refused
    mount: mounting 192.168.1.123:/media/hdd on /mnt/nfs failed: Bad file descriptor
    [CFSMounter] FS mount error: "mount -t nfs 192.168.1.123:/media/hdd /mnt/nfs -o rw,soft,udp,nolock,rsize=8192,wsize=8192"
    [neutrino] menue setup
    [network config] Instance created
    [neutrino] setRepeat: delay=300 period=100 use kernel-repeat: no
    [neutrino] registering as event client
    [scan-setup] received 39 sats
    [LCDFONT] FTC_Face_Requester (Fix14/Bold)
    [CVideo::setVide[DENC] set WSS 16:9
    oFormat] output format: 16:9
    [LCDFONT] FTC_Face_Requester (Fix15/Bold)
    [MPEG] VIDEO_STOP but state is STOP
    disable continuous tone
    enable continuous tone
    [CFrontend::getEvent] FE_COMPLETION_EV: freq 1606500 inv: 0 sr: 27500000, fec: 0
    [CFrontend::getEvent] FE_GET_FRONTEND: freq 1606688 inv: 0 sr: 27500000, fec: 2
    [zapit] tuned frequency does not match reques CIFS VFS: Error connecting to IPv4 socket. Aborting operation
    t. difference: 500
    mount: mounting 192.168.1.100/recordings on /mnt/cf failed: No route to host
    xp0_clk_start
    VIDEO_SELECT_SOURCE
    close video clip-mode
    VIDEO_PLAY / VIDEO_CONTINUE, state 1 1
    PCM enabled
    PES or MPEG1
    spdif mode = e0c0
    val=0011d
    AUDIO_SELECT_SOURCE
    [CBasicClient] connect failed.
    /tmp/camd.socket: Connection refused
    [neutrino] no file /var/tuxbox/config/init.end was found
    [neutrino] initialized everything
    write 1 event's ...
    write event ... free found
    write event ... filter ok
    [MPEG] setting horizontal disp border to 8 lines (hsize is 704)
    avia_gt_pig_set_pos (x=0, y=0)
    [controld] aspec[DENC] set WSS 16:9
    t ratio changed 0 -> 1 (4:3 -> 16:9)
    [CVideo::setVideoFormat] output format: 16:9
    Neutrino apid: pref 0 pref_ac3 -1 ac3 -1
    Neutrino apid: set apid name= English pid= 280
    [XP0] buffer overflow free: 378 len: 578
    [XP0] buffer overflow free: 238 len: 945
    16:33:01.580 [timeThread] - 23.04.2016 16:33:01, tim: Sat Apr 23 16:33:01 2016
    [neutrino] timeset event. difference is 0 s, nothing to do...
    16:33:01.582 [timeThread] Time set via DVB, going to sleep for 1800 seconds.
    16:33:02.584 [sectionsd] DMX::readNbytes received POLLERR, pid 0x12, filter[0] filter 0x4e mask 0xff
    16:33:02.585 dmxSDT: going to sleep...
    Neutrino apid: pref -1 pref_ac3 -1 ac3 -1
    16:33:04.000 eit_set_update_filter, servicekey = 0x7ea00021260, current version 5
    [timerd] using config file /var/tuxbox/config/timerd.conf

  • It might be more easier to build neutrino based image for dm500+ nfi format then what you are trying.
    The old bootloader might not know how to handle the new RAM and Flash chips so while can be an interesting to try, it will not work eventually.


    Does dm500+ have a bios where you can select to boot from tftp or NFS ?


    For the older dm500 was very easy to use FlashWizard for such images when the image size > flash size.


    Good luck ;)

  • HI pop-eye
    Yes the dm500+ does have the abilty to interrupt and specify a network located boot image.
    Do you think I could put the dm500s image on a share and try to use that as is ?


    I haven't looked at flazhwizard but I will. Thanks