devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Daniel Golle <daniel-g5gK2j5usbvCyp4qypjU+w@public.gmane.org>
To: Richard Weinberger <richard-/L3Ra7n9ekc@public.gmane.org>
Cc: Hauke Mehrtens <hauke-5/S+JYg5SzeELgA04lAiVw@public.gmane.org>,
	mark.rutland-5wv7dgnIgG8@public.gmane.org,
	devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	dedekind1-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org,
	robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org,
	linux-mtd-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
	computersforpeace-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org,
	dwmw2-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org
Subject: Re: [PATCH 1/2] ubi: mount partitions specified in device tree
Date: Sun, 19 Jun 2016 13:25:10 +0200	[thread overview]
Message-ID: <20160619112510.GA820@makrotopia.org> (raw)
In-Reply-To: <57665D96.1070804-/L3Ra7n9ekc@public.gmane.org>

Hi Richard,

On Sun, Jun 19, 2016 at 10:53:42AM +0200, Richard Weinberger wrote:
> Am 19.06.2016 um 01:20 schrieb Daniel Golle:
> > In MBR there used to be an 'active' flag stored for each partition.
> > Maybe it'd be nice to introduce something similar to mark UBI volumes
> > to be the default rootfs.
> > Currently we solve this issue by convention: If a volume is named
> > 'rootfs' it is automatically mounted during boot. Depending on the
> > filesystem in use a ubiblock device has to be created as well.
> > This is mostly just the continuation of the existing naming convention
> > of mtd partitions, a patch OpenWrt is carrying around for a long
> > while already.
> > To support the same on UBI, another set of patches was made.
> 
> Sorry, I still have troubles to understand your use case.
> Both of you seem to hate the kernel command line for reasons
> I don't fully understand so far.

I like the kernel command line a lot :)
And *being the end-user* I like to be the one defining and modifying it
according to my current needs. For that reason I do *not* like firmware
bootloaders to prepend/append or even overwrite the cmdline for things
like selecting the rootfs, because usually that restricts the use of
the relevant parameters by device owners.
Imagine: The device runs a bootloader which already sets rootfs= or
overwrites the cmdline of the stock firmware. How will an end-user
who cannot change the bootloader use an alternative OS which uses e.g.
a USB pendrive as it's rootfs? This is why we end up with things like
renaming kernel cmdline parameters in alternative firmware projects,
e.g. rootfs2=...., so end-users can re-gain access to cmdline
parameters augmented by the bootloader.
For that reason I believe that using the cmdline to pass
*non-user-defined* details from the bootloader to the kernel is just
not such a nice thing to do.

> 
> > I agree that there should be a way to pass this through the of_node
> > of the mtd partition which is defined in the device tree.
> > Selecting to-be-ubi-attached mtd partitions in device-tree would
> > replace patch:
> > 
> > https://git.lede-project.org/?p=source.git;a=blob;f=target/linux/generic/patches-4.4/490-ubi-auto-attach-mtd-device-named-ubi-or-data-on-boot.patch
> 
> What is the need of this? Use use the kernel command line to tell UBI from which MTD to attach.

The same kernel gets used on many devices having different $vendor
mtd-partition layouts. A way other than the kernel cmdline allows
to specify the default behaviour without restricting the user to
manually use those cmdline options.

> 
> > To auto-select the rootfs, we currently carry another bunch of patches
> > 
> > https://git.lede-project.org/?p=source.git;a=blob;f=target/linux/generic/patches-4.4/491-ubi-auto-create-ubiblock-device-for-rootfs.patch
> 
> Same question here.
> 
> > https://git.lede-project.org/?p=source.git;a=blob;f=target/linux/generic/patches-4.4/492-try-auto-mounting-ubi0-rootfs-in-init-do_mounts.c.patch
> 
> Ditto.
> 
> > https://git.lede-project.org/?p=source.git;a=blob;f=target/linux/generic/patches-4.4/493-ubi-set-ROOT_DEV-to-ubiblock-rootfs-if-unset.patch
> 
> Ditto.
> 

Same arguments as above. In addition, we do not want to hard-code the
filesystem type used for the rootfs volume, as it can either be UBIFS
or a read-only filesystem needing a ubiblock device. Thus we would
need the bootloader to know which filesystem *type* is being used and
then decide wether to pass 'rootfs=ubiX:Y' or
'ubiblock=... rootfs=/dev/ubiblock0'.


> > This is more or less filesystem-agnostic and works fine as long as
> > there is only one volume called 'rootfs' and this volume is always
> > used as rootfs.
> > 
> > Dual-boot setups will need some way to pass the active rootfs volume to
> > the kernel. While I agree that this is possible by appending or
> > prepending to the cmdline string passed to the kernel, this either
> > limits the users' ability to manually specify the rootfs using the
> > cmdline or becomes a more complex task to only append/prepend the
> > cmdline in case the user-defined string doesn't already contain
> > relevant parameters...
> 
> Sorry, but this is just a tooling problem and not to be addressed in the kernel.
> There is also the possibility to use an initramfs (either as file or embedded in the kernel)
> if the mount/attach logic becomes *really* complicated...
> 
> > Thus it'd be nicer to flag the default rootfs volume via the device-
> > tree.
> 
> As I said, as far I'm informed device tree is for configuring Linux, it describes
> the hardware. We also don't have LVM, DM or iSCSI bindings in DT. ;)
> Maybe device tree folks will tell more...

But we do have MTD and MTD partitions in DT. To me it'd feel more
consistent if MTD devices, partitioning and which MTD partition(s) to
use as UBI would be defined in the same place.


Cheers


Daniel
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

  parent reply	other threads:[~2016-06-19 11:25 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-06-18 19:17 [PATCH 1/2] ubi: mount partitions specified in device tree Hauke Mehrtens
2016-06-18 19:30 ` Richard Weinberger
     [not found]   ` <5765A14F.6020201-/L3Ra7n9ekc@public.gmane.org>
2016-06-18 19:35     ` Hauke Mehrtens
     [not found]       ` <48242f26-7812-6957-6bf5-c12989b875b4-5/S+JYg5SzeELgA04lAiVw@public.gmane.org>
2016-06-18 19:46         ` Richard Weinberger
     [not found]           ` <5765A4F9.3050107-/L3Ra7n9ekc@public.gmane.org>
2016-06-18 22:54             ` Hauke Mehrtens
     [not found]               ` <8697ff77-218b-2bc6-5d36-bfb02360d223-5/S+JYg5SzeELgA04lAiVw@public.gmane.org>
2016-06-19  8:41                 ` Richard Weinberger
2016-06-24 18:28         ` Ezequiel Garcia
     [not found]           ` <CAAEAJfC8mYnohRxKg0b-onbGadk0vPDty=7Bh8emP92mazB=aA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2016-06-25 20:20             ` Hauke Mehrtens
     [not found]               ` <aedd029f-858b-97f8-7fc7-f224999ed24c-5/S+JYg5SzeELgA04lAiVw@public.gmane.org>
2016-06-25 20:33                 ` Richard Weinberger
2016-06-18 23:20       ` Daniel Golle
     [not found]         ` <20160618232054.GB29476-g5gK2j5usbvCyp4qypjU+w@public.gmane.org>
2016-06-19  8:53           ` Richard Weinberger
     [not found]             ` <57665D96.1070804-/L3Ra7n9ekc@public.gmane.org>
2016-06-19  9:16               ` Richard Weinberger
2016-06-19 11:25               ` Daniel Golle [this message]
     [not found]                 ` <20160619112510.GA820-g5gK2j5usbvCyp4qypjU+w@public.gmane.org>
2016-06-19 12:02                   ` Richard Weinberger
     [not found]                     ` <576689CC.3030809-/L3Ra7n9ekc@public.gmane.org>
2016-06-19 13:05                       ` Daniel Golle
2016-06-19 13:19                         ` Richard Weinberger
     [not found]                           ` <57669BEA.5030306-/L3Ra7n9ekc@public.gmane.org>
2016-06-19 14:09                             ` Daniel Golle
     [not found]                               ` <20160619140952.GC820-g5gK2j5usbvCyp4qypjU+w@public.gmane.org>
2016-06-19 14:35                                 ` Richard Weinberger
     [not found]                                   ` <5766AD99.1040809-/L3Ra7n9ekc@public.gmane.org>
2016-06-19 15:24                                     ` Daniel Golle
2016-06-19 15:31                                       ` Richard Weinberger
     [not found]                                         ` <5766BAB8.9090707-/L3Ra7n9ekc@public.gmane.org>
2016-06-19 16:13                                           ` Daniel Golle
2016-06-19 16:53                                             ` Boris Brezillon
2016-06-19 19:42                                               ` Daniel Golle
     [not found]                                                 ` <20160619194236.GA1222-g5gK2j5usbvCyp4qypjU+w@public.gmane.org>
2016-06-19 20:14                                                   ` Boris Brezillon
2016-06-19 21:48                                                     ` Daniel Golle
     [not found]                                                       ` <20160619214820.GB1222-g5gK2j5usbvCyp4qypjU+w@public.gmane.org>
2016-06-19 22:21                                                         ` Hauke Mehrtens
2016-06-20  8:09                                                           ` Arnd Bergmann
2016-06-20  8:26                                                             ` Richard Weinberger
2016-06-20 15:08                                                               ` Arnd Bergmann
2016-06-20 17:24                                                                 ` Brian Norris
2016-06-20 19:57                                                                 ` Richard Weinberger
     [not found]                                                                   ` <57684AB9.5040607-/L3Ra7n9ekc@public.gmane.org>
2016-06-20 21:18                                                                     ` Hauke Mehrtens
2016-06-20 17:05                                                             ` Brian Norris
     [not found]                                       ` <20160619152445.GG820-g5gK2j5usbvCyp4qypjU+w@public.gmane.org>
2016-06-19 15:43                                         ` Boris Brezillon
2016-06-19 16:23                                           ` Daniel Golle
2016-06-20 17:03                               ` Brian Norris
     [not found] ` <1466277476-14853-1-git-send-email-hauke-5/S+JYg5SzeELgA04lAiVw@public.gmane.org>
2016-06-18 19:17   ` [PATCH 2/2] ubi: open volumes define " Hauke Mehrtens
     [not found]     ` <1466277476-14853-2-git-send-email-hauke-5/S+JYg5SzeELgA04lAiVw@public.gmane.org>
2016-06-18 23:36       ` Daniel Golle
     [not found]         ` <20160618233654.GC29476-g5gK2j5usbvCyp4qypjU+w@public.gmane.org>
2016-06-19 21:21           ` Hauke Mehrtens
2016-06-24 18:45       ` Ezequiel Garcia
     [not found]         ` <CAAEAJfATWJL0fGEcBup+cWzhHUe_4CF4XHWuvp4NYOesmaTyZw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2016-06-25 20:24           ` Hauke Mehrtens
2016-06-18 23:56   ` [PATCH 1/2] ubi: mount partitions specified " Daniel Golle
2016-06-19 21:36     ` Hauke Mehrtens
     [not found]       ` <ecb7950d-9e07-5c5d-6668-1c67ba170ddf-5/S+JYg5SzeELgA04lAiVw@public.gmane.org>
2016-06-19 21:52         ` Daniel Golle

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=20160619112510.GA820@makrotopia.org \
    --to=daniel-g5gk2j5usbvcyp4qypju+w@public.gmane.org \
    --cc=computersforpeace-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=dedekind1-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=dwmw2-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org \
    --cc=hauke-5/S+JYg5SzeELgA04lAiVw@public.gmane.org \
    --cc=linux-mtd-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
    --cc=mark.rutland-5wv7dgnIgG8@public.gmane.org \
    --cc=richard-/L3Ra7n9ekc@public.gmane.org \
    --cc=robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
    /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;
as well as URLs for NNTP newsgroup(s).