GithubHelp home page GithubHelp logo

canonical / ubuntu-core-docs Goto Github PK

View Code? Open in Web Editor NEW
12.0 30.0 36.0 1.14 MB

Documentation for Ubuntu Core systems

Python 12.46% Shell 8.87% Dockerfile 0.22% HTML 78.45%
docs web-and-design

ubuntu-core-docs's Introduction

Archived

The whole core.docs.ubuntu.com domain now redirects to ubuntu.com/core/docs, which is now served from Discourse in the ubuntu.com app.

This project is no longer used, and the repo is being archived.


Ubuntu Core documentation repository

This documentation will walk you through the steps of building and managing an Ubuntu Core device.

You can find it published on core.docs.ubuntu.com.

Building

To begin with building this documentation, first git clone this repository to a working directory on your local computer.

Next, to be able to build the documentation, you need to install documentation-builder:

 snap install documentation-builder

Then install the git-repo utility:

snap install git-repo

From the root of the documentation source tree (e.g. ubuntu-core-docs) do the following to get the Ubuntu Core Stacks sub-repositories:

 repo init -u https://github.com/canonical-docs/ubuntu-core-docs.git
 repo sync

Then build the documentation via:

 documentation-builder

All of the generated documentation will be placed under build/

Contributing new or updated documentation

Follow the same steps as the above Building section to get a full working source tree for the Ubuntu Core documentation. Note that the use of git-repo for managing this source tree means that the core Ubuntu Core documentation is at the root git repository located on GitHub while other documentation for Stacks snaps are located in various sub-repositories, with a typical upstream location on Launchpad. repo init and sync bring all of these sub-repositories into one working tree as defined in default.xml, located in the root directory of the ubuntu-core-docs working tree.

Here is a recommended work flow for contributing documentation changes:

  1. If you're changing documentation that is part of the Ubuntu Core base documentation, then you'll simply want to create a new local branch, make changes and commit them, followed by pushing your changes up to your own GitHub project area. Create a new pull request against the master branch of the Ubuntu Core documentation on GitHub.

  2. If you're changing the documentation of one of the Stack snap sub-repositories, such as bluez or network-manager snaps, then you'll want to do a similar thing to step #1 except that you'll push a merge request up to Launchpad instead of to GitHub. Each of the Stacks documentation is contained inline in the snap's source directory.

  3. If you are contributing a new Stacks sub-repository and want to enable it to be built when running documentation-builder at the root directory, then you'll need to add an entry to default.xml located at the root of the ubuntu-core-docs source tree. You'll add a new entry to make sure that git-repo pulls the sub-repository down when executing repo sync. This line would look like the following:

The location of my-new-stack-snap will be placed relative to the root of your ubuntu-core-docs source directory.

It's recommended that you push a copy to your own GitHub repository with your changes to ubuntu-core-docs and use a custom repo init line for testing purposes like so:

repo init -u https://github.com/your_username/ubuntu-core-docs.git

This will allow you to be able to build the complete ubuntu-core-docs documentation source along with your new Stacks snap documentation. Just like above, the output will be placed in the build/ directory.

ubuntu-core-docs's People

Contributors

adglkh avatar alexmurray avatar alfonsosanchezbeato avatar anthonydillon avatar arapulido avatar caldav avatar caleb-ellis avatar carkod avatar cprov avatar degville avatar doismellburning avatar ejfinneran avatar evilnick avatar jkfran avatar jocave avatar knitzsche avatar matiasb avatar morphis avatar niedbalski avatar nottrobin avatar ogra1 avatar pmahnke avatar roadmaster avatar ssweeny avatar steverydz avatar teknoraver avatar tobias-grasse avatar vosst avatar willmoggridge avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ubuntu-core-docs's Issues

Documenting the limits for restricted interfaces

There are some gotchas that need to be documented as the solution is not always obvious.

When using a snap with the restricted snapd-control interface, the snap cannot be installed from the store. The following error will be encountered:
ERROR installation not allowed by "snapd-control" plug rule of interface "snapd-control"

The restriction is set by https://github.com/snapcore/snapd/blob/master/interfaces/builtin/basedeclaration.go#L154, which means that the snap can only be installed from a local file.It is also possible to request the store reviewers to implement a snap-declaration that allows installation of this particular snap and the usage of snap-control.

repo command in building steps does not work

$ repo init -u <my_user>@github.com:CanonicalLtd/ubuntu-core-docs.git
or
$ repo init -u [email protected]:CanonicalLtd/ubuntu-core-docs.git

fail:

Get https://gerrit.googlesource.com/git-repo/clone.bundle
Get https://gerrit.googlesource.com/git-repo
Get [email protected]:CanonicalLtd/ubuntu-core-docs.git
Permission denied (publickey).
Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

$ repo init -u <my_user>@github.com:CanonicalLtd/ubuntu-core-docs.git

image building and extra snaps

This page [1] shows how to use the ubuntu-image --extra-snaps arg to install extra snaps in your image. This is fine for development, but for production I believe the proper way is to add a list the snaps in your model assertion ("registered snaps" key) and ensure they are published in the store associated with the current user.

The reason: if you use --extra-snaps arg the device does not have the info about these extra snaps installed in case of a reset so it would not reset to a complete state. But, if those snaps are listed in the model assertion, the device in theory has the info needed to restore to the original state (same snaps installed).

[1] https://github.com/CanonicalLtd/ubuntu-core-docs/blob/master/en/guides/build-device/image-building.md

Nav reorganization commit discussion

@jhodapp @morphis

I mistakenly pushed a nav change to trunk, that I actually wanted to discuss with you beforehand: 82181d7

  • Move Go to Production at the end

Nav renames:

  • Ubuntu Core Stacks -> Build a stack
  • Stack Items -> Features

The main purpose of the rename is to provide a visible path from having an empty board to a device ready for production:
Build a device -> Build a stack -> Go to production

By making "Build a stack" an action to enable features on the device, it give a better mental map of the entire process, and immediately puts the Ubuntu Core Stacks name in context when the user sees it as the title of the Introduction page.

Does that work for you?

Cross platform image building.

This page mentions: The ubuntu-image command needs to be run on the same architecture as the target image and needs only the filename of the model assertion to build an image. which turns out not to be true.

Add Serial Vault guide

Convert existing guide to markdown

  • Convert code examples
  • Update links
  • Redo screenshots

Automatic Refreshes page isn't accurate anymore...

A customer recently reported that the commands listed on the Ubuntu Core Automatic Refreshes page no longer works.

I tried this on a Dell Gateway 3000 running core 16-2.32.1.

admin@1K5JB02:~$ systemctl list-timers snapd.refresh.timer
0 timers listed.
Pass --all to see loaded but inactive timers, too.
admin@1K5JB02:~$ systemctl status -l snapd.refresh.service
โ— snapd.refresh.service
   Loaded: not-found (Reason: No such file or directory)
   Active: inactive (dead)
admin@1K5JB02:~$ sudo journalctl -u snapd.refresh.service
-- No entries --

Looks like the timer was removed by this commit: 7074e72

Uses really old version of the stylesheet

I was trying to add a new table for some extra detail on community images.

For some reason, these docs don't even use the out of date template in documentation-builder, but rather an even older version. Not sure which part (yarn I guess?) needs fixing or where it fetches the old template from.

This is what it pulls in - <style>
/* vanilla-docs-theme 1.3.5-candidate (not yet landed - see https://github.com/vanilla-framework/vanilla-docs-theme/pull/29) */

Which is worse than -

https://github.com/canonical-webteam/documentation-builder/blob/master/ubuntudesign/documentation_builder/resources/template.html

Add community supported SoCs / boards

Currently only officially supported boards have links in the docs

We should make a new page to highlight community supported efforts for various devices

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.