[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: MTD and UBI support in d-i



On Thu, Jul 9, 2009 at 12:59 PM, Colin Watson<cjwatson@debian.org> wrote:
>> Since partman is tightly connected with libparted, what is the
>> best way to keep track of UBI devices and volumes? I.e.
>> a) should partman be made to understand MTD and UBI, or
>> b) is it better to keep all of this outside parted (and let the
>> shell scripts create device and id related directories and files),
>> or
>> c) should parted_server be altered to understand and handle
>> MTD and UBI?
>
> If in a) you meant "should parted be made ...", then I think that's
> clearly the best option. Trying to get partman to handle things that
> parted doesn't is problematic at various layers and best avoided.
>
>> When creating a loop label, it seems parted writes this to
>> the device. This is not really what I want. Connecting to the
>> questions above, is it possible to use the infrastructure given
>> by partman/parted_server but without any of it being written
>> to device.
>
> Not to my knowledge; you'd be best advised to arrange for libparted to
> be smart enough not to do this for UBI devices, I think.

Concerning the above answers and personal correspondence with
Wookey, I aim at the following procedure.

* Recognize device (do we know partition scheme, proceed only if so)
  + Read partition table?
  + Otherwise?
  + Stop if device is not recognized, since continuing would probably
    be fatal.
* List MTD
  + Make parted understand (thus report) MTD properly?
* Attach MTD to UBI
  + Prepare
    - Create device files indicating it should be formatted and attached to UBI
      upon commit.
  + Commit
    - Format selected MTD
    - Attach selected MTD to UBI
    - Create loop label with one big partition (don't write label to MTD).
    - Set partition flag ubi.
* Create UBI volumes
  + Use mtd-utils here.
  + Create user interface (similar to LVM/MD).
* List UBI volumes
  + Make parted understand UBI (add ability to read UBI volume tables),
     alternatively,
  + create similar scheme as LVM (loop through LVs and add to a loop label).
     The former seems preferable.
* Use UBI volume
  + Select as mountpoint basically.


For now I am leaving the "Recognize device" step for later.

If any suggestions or comments exist, please submit them. :-)


-- Per


Reply to: