New features for U-Boot for Oneiric
Gather and discuss all the new upcoming u-boot features that are important and useful for Oneiric.
Blueprint information
- Status:
- Complete
- Approver:
- Ricardo Salveti
- Priority:
- High
- Drafter:
- John Rigby
- Direction:
- Approved
- Assignee:
- John Rigby
- Definition:
- Approved
- Series goal:
- Accepted for 11.11
- Implementation:
- Informational
- Milestone target:
- None
- Started by
- John Rigby
- Completed by
- John Rigby
Related branches
Related bugs
Sprints
Whiteboard
User Stories:
1. As a Ubuntu server user I'd like to have PXE support at my supported ARM platform boot loader.
2. As a Ubuntu server user I'd like to have TFTP support at my supported ARM platform boot loader.
3. As a platform developer I'd like to get rid of X-loader (on OMAP platforms) and replace it with the u-boot SPL. This will make easier maintain the boot loaders as only one source will generate both binaries.
4. As a platform user I want to avoid having 2 bootloaders at OMAP, by being able to use SPL to jump directly at the kernel, avoid loading the full u-boot first.
5. As a platform user I want to have fastboot support at my ARM platform boot loader, so I can write my kernel and initrd with my USB cable. This will help me flashing the netinstall files without the need to flash another sd card.
6. As a platform user I want to have splash screen support since the boot loader, so I can have a fast feedback from my board.
New U-Boot features that could be useful for Oneiric (Engineering Blueprints):
1. PXE support (patches from calxeda):
- useful for server effort
- useless without networking support
- calxeda is doing upstreaming so we need todo is put patches in out u-boot
- less than a day of effort
2. TFTP support
- needed in ubuntu
- loic says he can use it for linaro server
- need network support
3. network support
- get that via on board local bus networking or usb
4. USB networking
- recently introduced for panda
- rsalveti has it working on Panda but very buggy
- snowball?
- samsung?
5. On board networking
- mx5x platforms have there on SOC networking
- some omap boards (not panda or beagle) have on board ethernet
- vexpress has on board SMC911X
6. SPL
- This is the path to getting rid of x-loader
- SPL has existed in u-boot for years but only for nand
- Aneesh V at TI has recently submitted a new SPL that does nand and MMC (including vfat) so this can do everything x-loader does.
- Aneesh's patches have got favorable reviews on u-boot list but lots of work remains.
- Wolfgang has expressed the desire to be able to use SPL to load not just u-boot but a kernel for quick booting
- We need to watch this and support it as much as we can.
7. Android fastboot
- Could integrate support from rowboat today but that is not going upstream
- WD has some requirements for upstreaming the one that creates the most work is:
- Should be able to use over network as well as USB (currently usb only)
- This idea has appeal for the validation team, They could get by with fewer partitions on sd card.
- I believe it is image based only. It would be nice to be able to use it to download files as well as images.
- With fastboot in out u-boot our ubuntu vs android story would have one less difference.
8. Splash screen
- For OMAP3 patches went in as early as January 2010 but nothing was ever accepted
- Recently Jason Kridner has been working on this.
- Not sure how similar omap3 and omap4 dss is so not sure how much work it would be to make the omap3 patches work for panda
- The in house u-boot for U8500 has display support it was been stripped out as part of the upstreaming to make the upstreaming easier we can put it back in.
- mx5X display support has to be investigated
- samsung display support has to be investigated
Comments:
[rsalveti May 20] I think the only real work here would probably be the fastboot support. Usb network, with TFTP and PXE support is also important, and then with a lower priority SPL and Splash screen (though SPL would be nice to make the boot maintenance easier). So for a Linaro BP we should list what is needed to get these features working on upstream, and the Ubuntu one would be fine to carry the patches into the package itself.
[jcrigby July 11] These need to aligned with monthly releases and upstream merge windows. Also things have changed a bit with the omap4/panda spl going mainline.
[jcrigby 22Feb2012] This is an old BP from before we switched to monthly releases/BPs. How do we retire this old BP?
Work Items
Work items:
Finish design discussion on u-boot mailing list: TODO
Propose design for ethernet version: TODO
Do first prototype by pulling implementation from rowboat project on gitorious: TODO
Changes to allow fastboot, dfu, usb network gadget, usb serial gadget to all be compiled in concurrantly: TODO
Fastboot host app working as part of u-boot tree vs Android source tree: TODO
Enable test and debug USB only on OMAP[34]: TODO
Enable test and debug USB only of MX51: TODO
Send 1st RFC USB only patch series to U-Boot mailing list: TODO
Add file access (existing patch series is image only): TODO
Test file access on OMAP[34] and MX51: TODO
Send 2nd RFC USB only plus file access patch series to U-Boot mailing list: TODO
Add prototype ethernet version to host app: TODO
Add prototype ethernet version to u-boot: TODO
Enable, test and debug ethernet version on MX51 (on board networking): TODO
Enable, test and debug ethernet version on OMAP[34] (usb networking): TODO
Send Third RFC patch series (adds ethernet support) to U-Boot mailing list: TODO
Enable, test and debug ethernet and USB versions on Samsung: TODO
Enable, test and debug ethernet and USB versions on STE: TODO
Send first complete (USB & ethernet on all four flavours) patch series to U-Boot mailing list: TODO
Dependency tree
* Blueprints in grey have been implemented.