#9457 BLOC 1.5-F11: XO-1.5 OS30 boot scripts aren't quite right
Zarro Boogs per Child
bugtracker at laptop.org
Wed Nov 11 11:42:31 EST 2009
#9457: XO-1.5 OS30 boot scripts aren't quite right
---------------------------------+------------------------------------------
Reporter: wad | Owner: dsd
Type: defect | Status: new
Priority: blocker | Milestone: 1.5-F11
Component: initramfs | Version: not specified
Resolution: | Keywords:
Next_action: design | Verified: 0
Deployment_affected: | Blockedby: 9558
Blocking: |
---------------------------------+------------------------------------------
Comment(by dsd):
OK, not quite as easy as I hoped. The problem is trying to distinguish
between internal and external cards from the initramfs.
If there is no internal card and you boot from an external one, then that
external one becomes mmcblk0.
udev can't tell the difference between the 2, so it's not like we can
write a udev rule to rename it to mmcblk0. (or at least I can't think of
how)
I see 2 possible paths forward.
1. Modify sdhci driver to expose port information in sysfs. I figure that
sdhci itself must realise that there's nothing in the "first" slot but
there is one in the 2nd, so if it could export a "slot" attribute then we
could pick that up in a udev rule.
2. Use OFW's chosen information as a hint but use guessing as a fallback.
For example, if OFW says the bootpath is /pci/sd at c/disk at 2 (external SD)
then we try to find the root at /dev/mmcblk1p2 (this is the name it would
have if both SD cards are present). but if that device can't be found,
then fall back on /dev/mmcblk0p2
(this approach could have repercussions, given that there's no definitive
way to know when sdhci has finished enumerating all the buses. so that
check could run too early, before the cards and partitions have been
detected)
--
Ticket URL: <http://dev.laptop.org/ticket/9457#comment:16>
One Laptop Per Child <http://laptop.org/>
OLPC bug tracking system
More information about the Bugs
mailing list