Sponsored links


Go Back   Sat Industry Forums > Dreambox > Dreambox Hardware > DM-7020s
Register FAQ Members List Calendar Mark Forums Read

Reply
 
LinkBack Thread Tools Display Modes
  #1 (permalink)  
Old 01-21-2005
xphile's Avatar
Super Moderator
 
Join Date: Aug 2003
Posts: 885
Thanks: 0
Thanked 0 Times in 0 Posts
xphile is on a distinguished road
Understanding the DM7020 - a build-it-from-source exploration of the new Dreambox

In an attempt to understand more about the fundamental differences
in the underlying hardware and software of the DM7020 from it's predecessor the DM7000, I have
decided to start this thread and share with you all what I have discovered, and the experimentations
I have made on this new unit.

I apologise ahead of time if anything I post here is later discovered to be
inaccurate. Please feel free to post any corrections or inaccuracies in this thread so we can
all benefit.

OK, now that the formalities are out of the way here goes....

Let's start by looking at the Flash. The new Dreambox uses NAND flash memory. Being a software
guy myself, im sure I dont fully appreciate the benefits of this hardware. What I do know is
that the new 7020 uses 32MB of NAND flash memory whereas the 7000 uses 8MB of NOR flash memory,
and to me that means MORE SPACE

I have found a nice PDF that helps explain some of the differences.
Check out http://www.semicon.toshiba.co.jp/eng...ash_what_e.pdf

Also this site explains some more www.linux-mtd.infradead.org/tech/nand.html

Moving onto the software side of things, the first thing I wanted to do, was to understand the
7020 boot loader. I found the overview provided by http://developer.elitedvb.net to be very informative.
This is an overview of the boot process (as documented on this site):

On the DM7020, there is a loader called "first-stage" in the bootrom.

1. First, it will look for a answer for the serial "dreamup" protocol
2. Then, it will look in the NAND flash for a valid 2nd stage loader. When found, the loader will be decompressed (gzip) and executed.
3. If no second stage loader was found, the loader will try to boot from a recovery compact flash image. I'll describe this later, but usually you don't need this.
4. If even this doesn't work, the loader will give up.

This means that even if you destroyed your second stage loader, the only thing you need is a serial cable.
NO MORE JTAG.

Already, you should be able to see how much the 7020 has improved and how much more stable it is.

Continuing with software, I decided to understand what actually gets flashed to this new 32MB NAND memory.
To do this, I decided to do what I love most and build the factory image. Full instructions for this process can
be found at the http://developer.elitedvb.net site. Here is my summary.

The first major difference I discovered was that code is no longer based on the tuxbox cdk, but is now
using OpenEmbedded (www.openembedded.org). Also the management of the code assets are no longer using CVS but
now BitKeeper. So first thing you need to do is to install BitKeeper from www.bitmover.com

Once installed, you are almost ready to follow the tutorial at http://developer.elitedvb.net/listpr...hp?curr_dir=81

NOTE, I say ALMOST ready, as there are a couple of little gotcha's. After running the ./install.sh take note of
the following:

- At the end of this post you will find a version of the local.conf file that worked for me. I would advise you use this version instead of the default one. Make sure you change the directories from /home/xphile to something else. It essentially incorporates a bunch of changes to this file as described by tmbinc (thx m8). Just copy my version into {tuxbox-oe-topdir}/build/conf

- Also at the end of this file you will need to get the mtd-snapshot-20041113.tar.bz2 (thx noggie) and put it into {tuxbox-oe-topdir}/sources

During the build I also found that it could not connect to get freetype-2.0.9.tar.bz2. However this file is alot easier
to find on the net and as before, just whack it into {tuxbox-oe-topdir}/sources. This rule applies for any bz2 that fails to
download into your build.

Now you are ready to build the distribution. Perform the source ./env.source and the oemake dreambox-image steps and go
to bed. No seriously, go to bed it takes time

In the morning, if your build was successfully, you should end up with the magic file. Yes the image!!!.

The image is found in the {tuxbox-oe-topdir}/build/tmp/deploy/images directory. In my case it was called
dreambox-image-dreambox-20050120082650.nfi

That's right! an NFI file. What's that you ask?, good question.

The NFI file is the new image format for the 7020. It basically contains 3 partitions:

- The gzipped second stage loader described above (main.bin.gz). At this moment, there is no source code for this binary. It gets
downloaded prebuilt.
- The boot JFFS2 (essentially the kernel)
- The root JFFS2 (essentially the rest)

To flash the image there is really only one option available at this point in time as DreamUp is not available
(well not to me anyway). The one method I found is also described on full at http://developer.elitedvb.net

Here is a summary of the steps:

1. Power down the Dreambox, either using "shutdown" (to enter the deep-standby mode) or by using the power-switch. Standby is not enough!
2. Press and hold the lower frontpanel button.
3. Switch on the dreambox, either by using the powerswitch or, in deep-standby mode, press the power button. Still, hold the lower button.
4. The text "*** STOP ***" should appear. If something like "/flash".. appears, you didn't hold the right button.
5. Now you can release the button. The bootloader entered the "waiting" mode.
6. Above the "*** STOP ***" text, there should appear an IP-address (four decimal values with a dot in between). If there appears the string "dhcp" instead, the box still searches for a DHCP server. Wait a bit. If it doesn't change, something doesn't work with the DHCP server. Check whether network cable is plugged in etc. If it just doesn't work, set an IP using the serial terminal)
7. Now, open a browser on your PC. enter in the address line "http://ip/" (where ip must be replaced with the value in the LCD).
8. On the bottom of the page, there's a link called "firmware upgrade". Click it.
9. On the next page, you can select the flash image you want to flash. be sure that it has the ".nfi" extension. You can't flash other images (like .img)!
10. Click on "FLASH!" and wait. It might take some time to upload and flash the image.
11. Switch the box off again, and on again. The new image should be flashed and working.

It worked well and in my opinion is ALOT nicer than the other Dreambox methods (root.cramfs etc etc)

Well that's all I have to say. I'm sure I bored you all enough already

Please feel free to add your comments to this thread. As I discover more, I will update.

Understanding how frustrating it is to get people to share information I can assure you that anything I learn
will be shared with you all here at the Sat-Industry forum.

I hope this helps someone.
Attached Files
File Type: conf local.conf (768 Bytes, 320 views)
File Type: bz2 mtd-snapshot-20041113.tar.bz2 (885.9 KB, 226 views)

Last edited by xphile : 01-21-2005 at 12:21 PM.
Reply With Quote
Sponsored links
  #2 (permalink)  
Old 01-21-2005
Astra_Boy's Avatar
Admin (aka Nokia_Rulez)
 
Join Date: Aug 2002
Posts: 1,928
Thanks: 0
Thanked 3 Times in 2 Posts
Astra_Boy is on a distinguished road
Thanks Xphile ,a good read and very informative
__________________
Australian Dreambox Repairs + Humax Repairs and Allcamming - For Australia only Email: dreambox.repairs@gmail.com
Reply With Quote
  #3 (permalink)  
Old 01-21-2005
MrBandwidth's Avatar
Registered User
 
Join Date: Jun 2003
Posts: 1,614
Thanks: 0
Thanked 2 Times in 2 Posts
MrBandwidth is on a distinguished road
WOW WOW WOW and wow again!
Your post makes me bark like an old dog and I must say I am impressed!
Good work mate!

I trust this will help a lot of people who climb into their new DM7020 to manage the usual first hurdles!

Thank you! Well done
Reply With Quote
  #4 (permalink)  
Old 01-21-2005
sateo's Avatar
S.HELL_MOD
 
Join Date: Oct 2003
Posts: 1,298
Thanks: 0
Thanked 26 Times in 15 Posts
sateo is on a distinguished road
thanks m8, its very usefull your discoverys .hope to get soon a unit to play with this new toy
sateo
Reply With Quote
  #5 (permalink)  
Old 01-21-2005
Registered User
 
Join Date: Sep 2004
Posts: 339
Thanks: 0
Thanked 0 Times in 0 Posts
noggie is on a distinguished road
Thanks xphile,

One question: Do you see any differences between the image you make yourself and the one provided with the box?
Reply With Quote
  #6 (permalink)  
Old 01-21-2005
xphile's Avatar
Super Moderator
 
Join Date: Aug 2003
Posts: 885
Thanks: 0
Thanked 0 Times in 0 Posts
xphile is on a distinguished road
The image I built and flashed looks and behaves like the default one installed in the box.

I have not looked any deeper but my enigma version is 1901 so i'm guessing there are some differences.
Reply With Quote
  #7 (permalink)  
Old 01-21-2005
xphile's Avatar
Super Moderator
 
Join Date: Aug 2003
Posts: 885
Thanks: 0
Thanked 0 Times in 0 Posts
xphile is on a distinguished road
Another observation (and I hope someone else can confirm this) is that the boot JFFS2 partition is in fact empty when you do the OE make.

If this is the case, this tells me that the existing boot partition (the one already flashed on the box) is kept when you flash the new NIF if the new boot partition is an empty dir in this NIF.
Reply With Quote
  #8 (permalink)  
Old 01-22-2005
Registered User
 
Join Date: Sep 2004
Posts: 339
Thanks: 0
Thanked 0 Times in 0 Posts
noggie is on a distinguished road
Quote:
Originally Posted by xphile
Another observation (and I hope someone else can confirm this) is that the boot JFFS2 partition is in fact empty when you do the OE make.
Hmmm. Strange. It's there in my build. I can unpack the image and mount the boot jffs2 partition, and it contains the expected kernel, autoexec.bat, and some pictures.

It will be deleted by the build process from .../build/tmp/rootfs/boot directory so that the root image doesn't contain a copy of what's in boot.
Reply With Quote
  #9 (permalink)  
Old 01-22-2005
Registered User
 
Join Date: Sep 2003
Posts: 202
Thanks: 0
Thanked 0 Times in 0 Posts
cwispy is on a distinguished road
Great job xphile. Excellent info to give the rest of us a jumpstart.
Reply With Quote
  #10 (permalink)  
Old 01-22-2005
xphile's Avatar
Super Moderator
 
Join Date: Aug 2003
Posts: 885
Thanks: 0
Thanked 0 Times in 0 Posts
xphile is on a distinguished road
Yes noggie you are right!!!!

I was merely checking the ..../build/tmp/rootfs/boot directory for files. The build process does indeed remove the files after doing the mkfs.jffs2 step for the boot partition.

Good input m8.

One thing noggie. You mention you were able to mount the jffs2 partitions. When I try to mount any of these 2 partitions on PC linux as -o loop and -t jffs2 I get:

mount: wrong fs type, bad option, bad superblock on /dev/loop0,
or too many mounted file systems

Any ideas?
Reply With Quote
Reply


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Howto build a complete Image for any dreambox! hemertje Dreambox Development 266 09-29-2008 02:42 AM
How to use USB Memory sticks on Dreambox MrBandwidth Accessories 2 07-10-2007 03:00 PM
How to build a Dreambox Source Raph4el DB Images 27 12-09-2005 05:06 AM
Multiboot for 7020 - public beta noggie Dreambox Development 265 08-22-2005 08:29 AM
bitcontrolŽ MPEG-2 Decoder and Dreambox Receiver for Windows hemertje DB Images 3 10-27-2004 04:22 PM


All times are GMT +10. The time now is 01:38 AM.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Page generated in 0.34295 seconds with 11 queries