Author Topic: Thoughts -  (Read 2507 times)

shanghailoz

  • Special Member
  • Newbie
  • ******
  • Posts: 20
  • Karma: +0/-0
Thoughts -
« on: January 16, 2011, 05:10:04 AM »
As the uBoot sits in a fixed position in address space on the MMC (Internal SD Card), it should be possible to put multiple OS's onto the card quite easily.  The uBoot decides what address space the secondary OS bootup loads from, so we can put images anywhere that fit onto the SD card.

We could even set a boot loader to choose from the OS's based on keypress.

http://www.denx.de/wiki/view/U-Bootdoc/KeyboardSupport says that we can set a "magic key".
Imagine we set the HOME button to choose between normal OS boot, and secondary OS boot.

We could install Android, and Ubuntu, or Windows CE6 for example on the MMC, and boot between them by resetting, and holding down home.

Haven't checked how much addressable space we have yet, but would assume we can use a 4G SD at the least as our boot device.

This would be fairly easy to implement too. 
Its just some calculating new offsets for boot, adding 3 lines to the uBoot and writing partitions at appropriate places in an image.


Thoughts?

Destroyer

  • Administrator
  • Jr. Member
  • *****
  • Posts: 60
  • Karma: +2/-0
    • Hardcore forensics
Re: Thoughts -
« Reply #1 on: January 16, 2011, 07:30:23 AM »
Quote
As the uBoot sits in a fixed position in address space on the MMC (Internal SD Card), it should be possible to put multiple OS's onto the card quite easily.
Unfortunately it depends on the 'image' and where the manufacturer 'borrowed' it from, I have seen at least three different U-Boot images, I have also seen multiple U-Boot platform bugs, that are affecting the correct initialization of the boards.

But yes you are correct, by simple key press we can allow the option to boot multiple os, unfortunately a lot of the options  available in the latest U-Boot manual do not apply.  because the specific track that Freescale spun off (V2009.08_Tue_Sep_01_2009) was over a year ago, since then massive amounts of work have been performed by the U-Boot community. (and bug fixes for the iMX51), add into that the 'hidden' hidden code development of the manufacturers and we really don't know where we are (other than U-Boot 2009.08-00165-ga98605 which could mean anything).

One of our other  forum members is currently trying to 'reconstruct' the boot-loader settings for at-least one of these pad devices.
 I myself am currently going  through some of the  free-scale UBoot code, but they have 'very' thoughtlessly implemented some  development boards by  commenting out code using  '#if... then' statments which is specifically a big 'no-no'.
 The result is that some of the more important U-Boot patches cannot be directly applied and need to be 'hand' factored.

Since my new Rigol scope is busted, I'm currently looking at methods to allow high-speed boot-loader development without the need to burn to SDcard. Once that is done I'm considering re-basing the U-Bootloader then applying any Freescale patches onto the latest version of U-Boot, and stripping out most of the crap not related to iMX51.

We will then have our 'own' forum U-Boot loader, completely independent of all these other tossers who will not share the code or insist on using  '#if... #endif' to patch the code, such working methodology is no maintainable and completely incorrect for any sort of long term coding project.
Once that is done we can keep in-step with current U-Boot development and apply any Freescale patches as needed.
« Last Edit: January 17, 2011, 09:52:20 AM by Admin »

theintersect

  • Newbie
  • *
  • Posts: 19
  • Karma: +0/-0
Re: Thoughts -
« Reply #2 on: May 03, 2011, 06:14:29 AM »
Not extremely helpful, but just would like to make it known, in case anyone is wondering...

2009.08-00165-ga98605;

It's the 2009.08 release of U-Boot; 00165 is *usually* a date, although 00 would signify 2000, so it's probably 2010, so May 16, 2010, and finally ga98605 is the git committish.