/dev/disk0 vs /dev/mmc0
David Jander
david.jander at protonic.nl
Fri Oct 4 03:17:39 EDT 2013
Hi Jean-Christophe,
On Thu, 3 Oct 2013 21:23:49 +0200
Jean-Christophe PLAGNIOL-VILLARD <plagnioj at jcrosoft.com> wrote:
> On 17:17 Thu 03 Oct , David Jander wrote:
> >
> > Hi all,
> >
> > I am following barebox git closely and noticed a change recently: Device
> > names for MMC (MCI) and USB mass-storage devices have changed to the
> > generic "/dev/diskX". Earlier an MMC device was named "/dev/mmc0".
> > Unfortunately this change breaks my /env/bin/init script and I don't know
> > how to fix it. I relied on the existence of certain devices to distinguish
> > between USB mass-storage device presence and/or SD-card presence. How can
> > I do this with this new device naming convention?
> >
> > I used to have these kind of checks in /env/bin/init:
> >
> > # Mount MMC (first partition) if available
> > if [ -e "/dev/mmc0.0" ]; then
> > mkdir /mmc
> > mount /dev/mmc0.0 /mmc
> > if [ -e "/mmc/uImage" ]; then
> > boot_target="mmc"
> > fi
> > fi
> >
> > Booting like this is only allowed from MMC and not from USB, and now it
> > seems impossible to distinguish between them anymore.
> >
> > Btw, why was this changed in the first place?
>
> now you an use devname parameter to specify a specifc name for mmc
My board is fully device-tree based, but your suggestion pointed me in the
right direction: the "alias" section seems to have a whole new meaning now ;-)
I hope this won't interfere with Linux, since I intend to use a single DT for
both Barebox _and_ Linux.
> not all the drivers have the platform_data update to support but it will be
> easy enough to add it
>
> I recently add this to atmel_mci and animeo_ip board
Didn't find that one... probably not in mainline yet? Never mind.
> and I recomment you to switch to defaultenv-2 for this
>
> and use boot sequence this will simplify your env hugely
Although I agree defaultenv-2 looks pretty cool and will add a lot of
convenience and flexibility for complex systems, IMHO it will not simplify the
env of this board the least bit :-)
In fact, on a simple embedded system that has to have a strictly predefined
boot-behavior with a few simple rules, it is overly complex and if an
"outsider" ever needs to understand how it works, that can be a bit of a
problem (the default boot path probably going through some 5 different
scripts with lots of compound config-variables).
Best regards,
--
David Jander
Protonic Holland.
More information about the barebox
mailing list