Thanks Steve! This will be very helpful to me - a clear and simple "lay of the land".
I'll try to put this information to use shortly. Cheers, Mike On Fri, Sep 9, 2016 at 2:04 AM, Steve Langasek <[email protected] > wrote: > Hi Mike, > > On Thu, Sep 08, 2016 at 06:16:58PM -0400, MikeB wrote: > > I feel like I am stumbling around in the dark as I'm learning about > getting > > Ubuntu-Core running on new devices. I'm discovering things in a > bottom-up > > direction and I think I'm not seeing some basic concepts that Canonical > > engineers take for granted. I've trolled through the Ubuntu sites and > > mailing lists trying to get good overview and understanding about > subjects > > but have come up empty or, at best, sparse. Learning about concepts > > through a mailing list "keyhole" is very difficult. > > > > I think I'm way off on my knowledge about the following. > > > > * Assertions/Model Assertions - I see them mentioned, but have no idea > what > > they are. > > * Gadgets - Again hear and see them a lot, but no clue what they are. > How > > can I create and use one for my target platforms. > > * ubuntu-image - No idea of its status or how to use it. > > * ubuntu-device-flash - Using it now from a recipe but don't know much > else > > about it. Is it obsolete? > > > Any pointers to good overviews or documentation would be appreciated. > > > Regards, Mike > > These are some wonderfully timely questions, that I'm happy to help answer > for you! This should also help with the problems of your other post, about > the image you've built with ubuntu-device-flash not letting snapd run. > > To answer the last question first: up until this week, ubuntu-device-flash > has been The Way to make ubuntu-core images. However, we've known for some > time that this needed to be replaced, and this in-progress replacement is > called ubuntu-image. > > We haven't been writing much about the status of ubuntu-image here because > it's been pre-alpha, and would likely only add to people's frustrations > around image building. ;) But the images released this week were all made > using ubuntu-image, which is a good indicator that it's now ready to be > shared more widely. > > ubuntu-image is now available as a snap. For the moment, it's only on the > edge channel and requires devmode, so it can be installed as: > > sudo snap install --channel=edge --devmode ubuntu-image > > You can also find the source repository for ubuntu-image at: > > https://github.com/CanonicalLtd/ubuntu-image/ > > Now, ubuntu-image has a number of commandline options, most of which are > only of interest if you're working on ubuntu-image itself (we will clean up > the --help output soon). The basic usage is just: > > UBUNTU_IMAGE_SKIP_COPY_UNVERIFIED_MODEL=1 \ > ubuntu-image -c edge my-model.assertion -o my_output.img > > So, what is a model assertion? Others can speak more authoritatively than > I > can about the definition of a model assertion, but the summary is that this > is a text document declaring what should go into your image. Instead of > specifying the gadget, kernel, and os snaps as commandline arguments to > ubuntu-device-flash, you declare these in the model assertion, which can > then be signed and referenced by the store and snapd. > > If you are making your own image, you will need your own model assertion. > > You can find some practical examples here: > > http://people.canonical.com/~vorlon/amd64-generic-model.assertion > http://people.canonical.com/~vorlon/pi2-model.assertion > > These are 90% of the way to what was used in producing this week's images, > which should be enough to get you going for your own local builds. Note > that current snapd requires model assertions to be signed, so the above > include a signature - but the signature is not valid (and obviously won't > be > valid when you make your changes), thus the need for setting > UBUNTU_IMAGE_SKIP_COPY_UNVERIFIED_MODEL=1. > > And the main thing you're going to want to permute in your model assertion, > vs. one of our reference assertions, are the snaps that you're using. > You're already using a custom kernel snap; you will also want a custom > gadget snap. > > A gadget snap is a snap that details how the kernel and os snap should be > combined into an image for a given device. This includes partition > layouts, > what bootloader snappy uses (grub or uboot), and how to integrate with the > firmware. > > The backbone of a gadget snap is the meta/gadget.yaml. You can find > documentation of this yaml file here: > > https://github.com/CanonicalLtd/ubuntu-image/ > blob/master/docs/gadget-yaml.rst > > And you can find the source for the reference gadget snaps at: > > https://code.launchpad.net/~snappy-dev/snappy-hub/snappy-systems/ > > > And since ubuntu-image is calling 'snap prepare-image' under the hood to > create your ubuntu-core root filesystem, this will also take care of all > the > problems with /var/lib/snapd/seed in your other mail! > > Hope that helps, > -- > Steve Langasek Give me a lever long enough and a Free OS > Debian Developer to set it on, and I can move the world. > Ubuntu Developer http://www.debian.org/ > [email protected] [email protected] >
-- Devices mailing list [email protected] Modify settings or unsubscribe at: https://lists.snapcraft.io/mailman/listinfo/devices
