From: Stefan Christ <s.christ@phytec.de>
To: Sascha Hauer <s.hauer@pengutronix.de>
Cc: barebox@lists.infradead.org
Subject: Re: [PATCH for next 08/15] ARM: phytec-som-imx6: add boot device emmc and automount
Date: Fri, 29 Apr 2016 09:25:28 +0200 [thread overview]
Message-ID: <20160429072528.GA2685@lws-christ> (raw)
In-Reply-To: <20160428083449.GB7860@pengutronix.de>
Hi Sascha,
> > diff --git a/arch/arm/boards/phytec-som-imx6/defaultenv-physom-imx6-mira/boot/emmc b/arch/arm/boards/phytec-som-imx6/defaultenv-physom-imx6-mira/boot/emmc
> > new file mode 100644
> > index 0000000..e3cc9e3
> > --- /dev/null
> > +++ b/arch/arm/boards/phytec-som-imx6/defaultenv-physom-imx6-mira/boot/emmc
> > @@ -0,0 +1,5 @@
> > +#!/bin/sh
> > +
> > +global.bootm.image="/mnt/emmc/linuximage"
> > +global.bootm.oftree="/mnt/emmc/oftree"
> > +global.linux.bootargs.dyn.root="root=/dev/mmcblk3p2 rootwait rw"
>
> Does this work reliably? Is there finally a patch upstream that creates
> fixed numbers for MMC/SD block devices?
Our kernel tree contains a patch for that. The mmcblk id is derived from the
device tree alias index. It isn't a mainline ready solution, since there are
some unhandled edge cases in the patch and it's implemented currently only for
the driver "sdhci-esdhc-imx".
> When I see patches like this it's probably time to remind how barebox can
> handle bootloader spec ;)
>
> Put a file like this to /loader/entries/loader.conf:
>
> title Phytec-Monster-Linux
> version 4.6
> options rootwait
> linux-appendroot true
> linux /boot/zImage
> devicetree /boot/imx6q-phytec-pflaxy.dtb
We already looked at the bootspec and currently evaluating it to use it for MMC
and eMMC boot devices. It nicely decouples the bootloader and kernel/userspace
handling. E.g. maintaining the kernel arguments in the bootloader is not good
thing, because they are product, rootfs, kernel and usecase specific. (Same
argument holds for NAND/NOR partitions in the bootloader device tree ;-)
> The above also works with NAND/UBI. "boot nand0.root.ubi.root" will boot
> from the root volume on the ubi found on the root partition from the
> nand0 device. Again, no further barebox configuration and no manual
> ubiattach required. the root= and ubi.mtd= arguments to the kernel will
> be automatically generated.
Using the bootspec for NAND is not an ideal solution yet. Attaching UBI in the
bootloader to read kernel/devicetree from UBIFS and then reattaching the UBI
again in the kernel, is very time consuming. For a 1GB NAND the UBI attach can
take couple of seconds. Without UBI fastmap it will delay the boot process to
much. And UBI fastmap has still an experimental touch, but will be the way to
go in the future.
Additionally placing the kernel and device tree on NOR is not handled by the
bootspec, but this will mostly be an embedded special case forever :-)
Mit freundlichen Grüßen / Kind regards,
Stefan Christ
On Thu, Apr 28, 2016 at 10:34:49AM +0200, Sascha Hauer wrote:
> On Wed, Apr 27, 2016 at 12:04:42PM +0200, Stefan Christ wrote:
> > Add boot file 'emmc' and automount configuration for phyCORE-i.MX6.
> >
> > Signed-off-by: Stefan Christ <s.christ@phytec.de>
> > ---
> > .../arm/boards/phytec-som-imx6/defaultenv-physom-imx6-mira/boot/emmc | 5 +++++
> > .../phytec-som-imx6/defaultenv-physom-imx6-mira/init/automount | 3 +++
> > 2 files changed, 8 insertions(+)
> > create mode 100644 arch/arm/boards/phytec-som-imx6/defaultenv-physom-imx6-mira/boot/emmc
> >
> > diff --git a/arch/arm/boards/phytec-som-imx6/defaultenv-physom-imx6-mira/boot/emmc b/arch/arm/boards/phytec-som-imx6/defaultenv-physom-imx6-mira/boot/emmc
> > new file mode 100644
> > index 0000000..e3cc9e3
> > --- /dev/null
> > +++ b/arch/arm/boards/phytec-som-imx6/defaultenv-physom-imx6-mira/boot/emmc
> > @@ -0,0 +1,5 @@
> > +#!/bin/sh
> > +
> > +global.bootm.image="/mnt/emmc/linuximage"
> > +global.bootm.oftree="/mnt/emmc/oftree"
> > +global.linux.bootargs.dyn.root="root=/dev/mmcblk3p2 rootwait rw"
>
> Does this work reliably? Is there finally a patch upstream that creates
> fixed numbers for MMC/SD block devices?
>
> When I see patches like this it's probably time to remind how barebox can
> handle bootloader spec ;)
>
> Put a file like this to /loader/entries/loader.conf:
>
> title Phytec-Monster-Linux
> version 4.6
> options rootwait
> linux-appendroot true
> linux /boot/zImage
> devicetree /boot/imx6q-phytec-pflaxy.dtb
>
> Then you can boot the system with "boot mmc3.0", no further barebox
> configuration is needed. Set nv.boot to mmc3.0 if you always want to
> boot from there. The same can be done with nfsroot: Put the rootfs
> somewhere reachable via NFS and do:
>
> boot nfs://nfshost//path/to/rootfs
>
> (You'll need a "ip=dhcp" in the options in your loader.conf)
>
> You can also create multiple loader.conf files with different device
> trees, barebox will then pick the one which is compatible to the current
> board.
>
> The above also works with NAND/UBI. "boot nand0.root.ubi.root" will boot
> from the root volume on the ubi found on the root partition from the
> nand0 device. Again, no further barebox configuration and no manual
> ubiattach required. the root= and ubi.mtd= arguments to the kernel will
> be automatically generated.
>
> Configuration files in the environment have become pretty much
> unnecessary for the common case.
>
> Sascha
>
> --
> Pengutronix e.K. | |
> Industrial Linux Solutions | http://www.pengutronix.de/ |
> Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
> Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
next prev parent reply other threads:[~2016-04-29 7:26 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-04-27 10:04 [PATCH for next 00/15] New Phytec i.MX6 Patches Stefan Christ
2016-04-27 10:04 ` [PATCH for next 01/15] ARM: imx_v7_defconfig: enable NANDTEST command Stefan Christ
2016-04-27 10:04 ` [PATCH for next 02/15] ARM: imx_v7_defconfig: add command mmc_extcsd Stefan Christ
2016-04-27 10:04 ` [PATCH for next 03/15] ARM: imx6q: add support for phyBOARD-SUBRA-i.MX6 Quad Stefan Christ
2016-04-27 10:04 ` [PATCH for next 04/15] imx6qdl-phytec-pfla02.dtsi: add i2c eeprom Stefan Christ
2016-04-27 10:04 ` [PATCH for next 05/15] ARM: dts: imx6: phyboards: reduce clock speed for usdhc3 Stefan Christ
2016-04-27 10:04 ` [PATCH for next 06/15] ARM: dts: pfla02: use long enough reset for ethernet phy Stefan Christ
2016-04-27 10:04 ` [PATCH for next 07/15] ARM: phytec-som-imx6: add barebox partitions for MMC Stefan Christ
2016-04-27 10:04 ` [PATCH for next 08/15] ARM: phytec-som-imx6: add boot device emmc and automount Stefan Christ
2016-04-28 8:34 ` Sascha Hauer
2016-04-28 11:56 ` Holger Schurig
2016-04-28 20:31 ` Trent Piepho
2016-04-29 7:25 ` Stefan Christ [this message]
2016-05-02 7:51 ` Sascha Hauer
2016-05-02 9:03 ` Stefan Christ
2016-05-03 7:12 ` Sascha Hauer
2016-04-27 10:04 ` [PATCH for next 09/15] ARM: phytec-som-imx6: fix bootsource for phyCORE-i.MX6 Stefan Christ
2016-04-27 10:04 ` [PATCH for next 10/15] ARM: phytec-som-imx6: add phyCORE-i.MX6 Quad 2GiB RAM Stefan Christ
2016-04-27 10:04 ` [PATCH for next 11/15] ARM: phytec-som-imx6: add phyCORE-i.MX6 DualLite Stefan Christ
2016-04-27 10:04 ` [PATCH for next 12/15] ARM: phytec-som-imx6: update RAM calibration for phycore-imx6dl Stefan Christ
2016-04-27 10:04 ` [PATCH for next 13/15] ARM: phytec-som-imx6: rename environment folder Stefan Christ
2016-04-27 10:04 ` [PATCH for next 14/15] ARM: phytec-som-imx6: adapt main update handler for eMMC Stefan Christ
2016-04-27 10:04 ` [PATCH for next 15/15] ARM: phytec-som-imx6: add NOR for phycore-imx6 emmc Stefan Christ
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20160429072528.GA2685@lws-christ \
--to=s.christ@phytec.de \
--cc=barebox@lists.infradead.org \
--cc=s.hauer@pengutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox