Git Product home page Git Product logo

os's Introduction

elementary

elementary OS

Build scripts for image creation



Stable Daily 8.0 Daily ARM


Building Locally

As elementary OS is built with the Debian version of live-build, not the Ubuntu patched version, it's easiest to build an elementary .iso in a Debian VM or container. This prevents messing up your host system too.

The following examples assume you have Docker correctly installed and set up, and that your current working directory is this repo. When done, your image will be in the builds folder.

64-bit AMD/Intel

Configure the channel in the etc/terraform.conf (stable, daily), then run:

docker run --rm --privileged -it \
    -v /proc:/proc \
    -v ${PWD}:/working_dir \
    -w /working_dir \
    debian:latest \
    ./build.sh etc/terraform.conf

Raspberry Pi 4

docker run --rm --privileged -it \
    -v /proc:/proc \
    -v ${PWD}:/working_dir \
    -w /working_dir \
    ubuntu:22.04 \
    ./build-rpi.sh

Pinebook Pro

docker run --rm --privileged -it \
    -v /proc:/proc \
    -v ${PWD}:/working_dir \
    -w /working_dir \
    ubuntu:20.04 \
    ./build-pinebookpro.sh

Further Information

More information about the concepts behind live-build and the technical decisions made to arrive at this set of tools to build an .iso can be found on the wiki.

os's People

Contributors

aptonline avatar btkostner avatar cassidyjames avatar codygarver avatar danirabbit avatar davidmhewitt avatar dependabot[bot] avatar dwarburt avatar kgrubb avatar meisenzahl avatar nbering avatar openbagtwo avatar peteruithoven avatar pongloongyeat avatar tintou avatar yozachar avatar

Stargazers

 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  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  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  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  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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

os's Issues

Can't install elementary-sdk

Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 elementary-sdk : Depends: libgranite-dev but it is not going to be installed
                  Depends: valac but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

Remove wingpanel-indicator-ayatana

Now that we have a clear path for third-party apps (and due to the repeated issues we've seen with apps not made for elementary OS and their indicators) I think Juno is a good time to pull support for Ayatana indicators.

Boot waits for update-notifier timeout

casper runs a script that disabled update-notifier, but we don't ship it so it times out, adding more boot time. We need to rm /usr/share/initramfs-tools/scripts/casper-bottom/31disable_update_notifier.

Sign new releases with a GPG master signing key.

Currently, if a user wants to verify the integrity of their download, they are directed here:

https://elementary.io/docs/installation

...where the documentation walks them through the process of verifying the sha256 sum of the .iso file they downloaded.

This is a great first step, but the twin linchpins of this whole arrangement are the elementary.io TLS certificate and the admin access to the site.

Anyone who can issue root certificates is currently in a position to serve users malicious copies of elementary OS. Currently, there is no way to detect this.

In addition, if the elementary.io website were compromised, it would also be possible for an attacker to silently serve malicious binaries, even if they cannot issue root TLS certificates.

Offering users the option to check a GPG signature on either a sha256 checksum file or the .iso file itself would solve this problem.

Other projects, such as Debian and Qubes OS, among others, have opted for signing their releases with an offline GPG signing key.

As the Linux Mint developers discovered, you do not want your website to be the single point of failure in your release security:

http://blog.linuxmint.com/?p=2994

Update autostarts for Juno

syslog has some warnings that should be investigated:

WARNING: Error while executing session-migration: Failed to execute child process “session-migration” (No such file or directory)
WARNING: Could not parse desktop file gsettings-data-convert-pantheon.desktop or it references a not found TryExec binary
WARNING: Could not parse desktop file org.gnome.SettingsDaemon.XRANDR-pantheon.desktop or it references a not found TryExec binary
WARNING: Could not parse desktop file org.gnome.SettingsDaemon.DiskUtilityNotify-pantheon.desktop or it references a not found TryExec binary
WARNING: Could not parse desktop file gnome-user-share-pantheon.desktop or it references a not found TryExec binary

Patch gnome-settings-daemon to enable it

It now ships as separate components,
we need to add Pantheon; to the OnlyShowIn key in each desktop file that we want to use (they are located in /etc/xdg/autostart/ )

Backport the newest AppStream to xenial

In order to get AppStream release data properly parsed in a local system we need to backport libappstream4 and appstream from artful to xenial. The most important package here is the libappstream4, the appstream package only contains the CLI.

Can we please fix the emacs GUI version?

Emacs is one of the very very fe programs that insists on an old gtk2 bug beeing fixed, that everyone else was doing a workaround for ... So we need to set an environment Variable to fix this:

XLIB_SKIP_ARGB_VISUALS=1

Can we please add that to our session and have this problem finally be solved? I'm available for testing and anything you need 😉

Supply apt.conf file for more icon sizes

I currently have a file at /etc/apt/apt.conf.d/50appstream that claims to be put there by appstreamcli and it includes configuration for 64px, 64px@2, and 128px icons.

We should supply a config file that also includes 128px@2 icons as well as 48px and 48px@2

Disable AppCenter daemon on live session

Ubuntu disable theirs by adding a script to rm the autostart .desktop in /usr/share/initramfs-tools/scripts/casper-bottom/31disable_update_notifier. We could probably suffice by just killing it during iso build process.

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.