From b952d2bb0472c3ff1ea92223fd12509fcdb864a7 Mon Sep 17 00:00:00 2001 From: Justin Schneck Date: Thu, 22 Feb 2018 19:54:55 -0500 Subject: [PATCH] v1.0.0-rc.0 --- .circleci/config.yml | 8 +- .travis.yml | 86 --------------- CHANGELOG.md | 253 ++++++++++++++++++++++--------------------- README.md | 14 ++- VERSION | 2 +- mix.exs | 25 +++-- mix.lock | 12 +- nerves_defconfig | 2 +- test/mix.exs | 12 +- test/mix.lock | 14 +-- 10 files changed, 190 insertions(+), 238 deletions(-) delete mode 100644 .travis.yml diff --git a/.circleci/config.yml b/.circleci/config.yml index a689658..b459bba 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1,11 +1,11 @@ defaults: &defaults working_directory: /nerves/build docker: - - image: nervesproject/nerves:0.13.5 + - image: nervesproject/nerves:1.0.0-rc.0 environment: ENV: CI MIX_ENV: test - ELIXIR_VERSION: 1.5.2 + ELIXIR_VERSION: 1.6.1 install_elixir: &install_elixir run: @@ -19,7 +19,6 @@ install_hex_rebar: &install_hex_rebar run: name: Install hex and rebar command: | - cd /tmp mix local.hex --force mix local.rebar --force @@ -27,8 +26,7 @@ install_nerves_bootstrap: &install_nerves_bootstrap run: name: Install nerves_bootstrap command: | - cd /tmp - mix archive.install github nerves-project/nerves_bootstrap --force + mix archive.install hex nerves_bootstrap 1.0.0-rc.0 --force version: 2.0 diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 0571328..0000000 --- a/.travis.yml +++ /dev/null @@ -1,86 +0,0 @@ -language: erlang -otp_release: - - 20.0 - -# It would be possible to use the container-based infrastructure if -# it ran trusty. However, it doesn't and wget is too old to use for -# HTTPS to buildroot.net. -sudo: required -dist: trusty - -# Install dependencies -addons: - apt: - packages: - - bc - - libssl-dev - -# Cache downloaded files between builds -cache: - directories: - - $HOME/.nerves/cache/buildroot - -env: - - NERVES_TARGET=rpi3 CI_SYSTEM_NAME=nerves_system_$NERVES_TARGET REPO=nerves-project/$CI_SYSTEM_NAME NERVES_SYSTEM_CACHE=none NERVES_SYSTEM_COMPILER=local NERVES_PACKAGE=`pwd` - -before_install: - - git clone https://github.com/elixir-lang/elixir - - cd elixir - - git checkout v1.4.2 - - make clean - - make - - cd .. - -before_script: - - export PATH=`pwd`/elixir/bin:$PATH - -script: - - mix local.hex --force - - mix local.rebar --force - - mix deps.get - - mix archive.install https://github.com/nerves-project/archives/raw/master/nerves_bootstrap.ez --force - - mix compile - # Testing should be moved to locally execute mix test. - # This will centralize the test suite for systems to the nerves package - # Removing these for now - # - export NERVES_SYSTEM=$NERVES_PACKAGE/_build/dev/nerves/system - # - export NERVES_TOOLCHAIN=$NERVES_PACKAGE/_build/dev/nerves/toolchain - # - git clone https://github.com/nerves-project/nerves-examples - # - cd nerves-examples/hello_gpio - # - MIX_ENV=travis mix deps.get - # - MIX_ENV=travis mix compile - # - MIX_ENV=travis mix firmware - -# Deploy the build products -before_deploy: - - cd $NERVES_PACKAGE/.nerves/artifacts/* - - make system - - cd $NERVES_PACKAGE - - $NERVES_PACKAGE/deps/nerves_system_br/scripts/ci-deploy.sh -deploy: - # Deploy tagged releases to GitHub - - provider: releases - api_key: $GITHUB_API_KEY - file: - - "artifacts/$CI_SYSTEM_NAME-$TRAVIS_TAG.tar.gz" - - "artifacts/$CI_SYSTEM_NAME-$TRAVIS_TAG.fw" - skip_cleanup: true - overwrite: true - on: - repo: $REPO - tags: true - - provider: s3 - access_key_id: $S3_ID - secret_access_key: $S3_KEY - bucket: $S3_BUCKET - skip_cleanup: true - local_dir: artifacts - upload-dir: test - acl: public_read - on: - repo: $REPO - all_branches: true - -# Display build log on failure -after_failure: - - tail -n 1000 $NERVES_PACKAGE/build.log diff --git a/CHANGELOG.md b/CHANGELOG.md index d6b26db..d911525 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,222 +1,233 @@ # Changelog +## v1.0.0-rc.0 + +* Updated dependencies + * [nerves_system_br v1.0.0-rc.0](https://github.com/nerves-project/nerves_system_br/releases/tag/v1.0.0-rc.0) + * [nerves_toolchain v1.0.0-rc.0](https://github.com/nerves-project/toolchains/releases/tag/v1.0.0-rc.0) + * [nerves v1.0.0-rc.0](https://github.com/nerves-project/nerves/releases/tag/1.0.0-rc.0) + ## v0.20.0 - Updated dependencies +* Updated dependencies * [nerves_system_br v0.17.0](https://github.com/nerves-project/nerves_system_br/releases/tag/v0.17.0) * [nerves_toolchain v0.13.0](https://github.com/nerves-project/toolchains/releases/tag/v0.13.0) * [nerves v0.9.0](https://github.com/nerves-project/nerves/releases/tag/v0.9.0) ## v0.19.1 - Updated dependencies +* Updated dependencies * [nerves_system_br v0.16.3](https://github.com/nerves-project/nerves_system_br/releases/tag/v0.16.3) This fixes the call to otp_build so that it always uses Buildroot's version the autoconf tools. ## v0.19.0 - Updated dependencies +* Updated dependencies * [nerves_system_br v0.16.1-2017-11](https://github.com/nerves-project/nerves_system_br/releases/tag/v0.16.1-2017-11) - * Enhancements - * Reboot automatically if Erlang VM exits - This is consistent with other - Nerves systems. See rootfs_overlay/etc/erlinit.config if undesired. - * Start running nerves_system_linter to check for configuration errors. - * Disable console blanking for HDMI to make it easier to capture error messages. - * Automount the boot partition readonly at `/boot` - * Support for reverting firmware. +* Enhancements + * Reboot automatically if Erlang VM exits - This is consistent with other + Nerves systems. See rootfs_overlay/etc/erlinit.config if undesired. + * Start running nerves_system_linter to check for configuration errors. + * Disable console blanking for HDMI to make it easier to capture error messages. + * Automount the boot partition readonly at `/boot` + * Support for reverting firmware. - See [Reverting Firmware](https://hexdocs.pm/nerves_runtime/readme.html#reverting-firmware) for more info on reverting firmware. + See [Reverting Firmware](https://hexdocs.pm/nerves_runtime/readme.html#reverting-firmware) for more info on reverting firmware. - See [fwup-revert.conf](https://github.com/nerves-project/nerves_system_rpi/blob/master/fwup-revert.conf) for more information on how fwup handles reverting. + See [fwup-revert.conf](https://github.com/nerves-project/nerves_system_rpi/blob/master/fwup-revert.conf) for more information on how fwup handles reverting. ## v0.18.0 - Updated dependencies +* Updated dependencies * [nerves_system_br v0.15.0](https://github.com/nerves-project/nerves_system_br/releases/tag/v0.15.0) * [toolchain v0.12.1](https://github.com/nerves-project/toolchains/releases/tag/v0.12.1) - * Enhancements - * Support for nerves 0.8. Moves nerves.exs into mix.exs - * Support for the Raspberry Pi Compute Module - * Select ARM Cortex A53 as CPU for Buildroot +* Enhancements + * Support for nerves 0.8. Moves nerves.exs into mix.exs + * Support for the Raspberry Pi Compute Module + * Select ARM Cortex A53 as CPU for Buildroot ## v0.17.1 - Updated dependencies + +* Updated dependencies * [nerves_system_br v0.14.1](https://github.com/nerves-project/nerves_system_br/releases/tag/v0.14.1) ## v0.17.0 - Updated dependencies +* Updated dependencies * [nerves_system_br v0.14.0](https://github.com/nerves-project/nerves_system_br/releases/tag/v0.14.0) * [Buildroot 2017.08](https://git.busybox.net/buildroot/plain/CHANGES?id=2017.08) * [fwup 0.17.0](https://github.com/fhunleth/fwup/releases/tag/v0.17.0) * [erlinit 1.2.0](https://github.com/nerves-project/erlinit/releases/tag/v1.2.0) * [nbtty 0.3.0](https://github.com/fhunleth/nbtty/releases/tag/v0.3.0) - * Enhancements - * Add global patch directory +* Enhancements + * Add global patch directory - This is required to pull in the e2fsprogs patch that's needed now that - util-linux's uuid_generate function calls getrandom and can block - indefinitely for the urandom pool to initialize + This is required to pull in the e2fsprogs patch that's needed now that + util-linux's uuid_generate function calls getrandom and can block + indefinitely for the urandom pool to initialize ## v0.16.1 - Updated dependencies +* Updated dependencies * nerves_system_br v0.13.7 ## v0.16.0 - This release contains an updated toolchain with Linux 4.1 Headers. - You will have to clean and compile any c/c++ code in your project and - dependencies. Failure to do so will result in an error when producing firmware. +This release contains an updated toolchain with Linux 4.1 Headers. +You will have to clean and compile any c/c++ code in your project and +dependencies. Failure to do so will result in an error when producing firmware. - * nerves_system_br v0.13.5 - * fwup 0.15.4 +* nerves_system_br v0.13.5 + * fwup 0.15.4 - * Nerves toolchain v0.11.0 - https://github.com/nerves-project/toolchains/releases/tag/v0.11.0 +* Nerves toolchain v0.11.0 ## v0.15.0 - * nerves_system_br v0.13.3 - * erlinit 1.1.4 +* nerves_system_br v0.13.3 + * erlinit 1.1.4 - * New features - * Firmware updates verify that they're updating the right target. If the target - doesn't say that it's an `rpi3` through the firmware metadata, the update - will fail. - * Added meta-misc and meta-vcs-identifier to the `fwup.conf` metadata for use - by users and for the regression test framework - * Use String.trim instead of String.strip to silence Elixir 1.5 warnings +* New features + * Firmware updates verify that they're updating the right target. If the target + doesn't say that it's an `rpi3` through the firmware metadata, the update + will fail. + * Added meta-misc and meta-vcs-identifier to the `fwup.conf` metadata for use + by users and for the regression test framework + * Use String.trim instead of String.strip to silence Elixir 1.5 warnings ## v0.14.0 - * nerves_system_br v0.13.2 - * OTP 20 - * erlinit 1.1.3 - * fwup 0.15.3 +* nerves_system_br v0.13.2 + * OTP 20 + * erlinit 1.1.3 + * fwup 0.15.3 ## v0.13.0 - * nerves_system_br v0.12.1 - * erlinit 1.1.1 - * fwup 0.15.0 +* nerves_system_br v0.12.1 + * erlinit 1.1.1 + * fwup 0.15.0 - * New features - * The application data partition is now `ext4`. This greatly improves its - robustness to corruption. Nerves.Runtime contains code to initialize it on - first boot. - * Firmware images now contain metadata that can be queried at runtime (see - Nerves.Runtime.KV - * Increased GPU memory to support Pi Camera V2 +* New features + * The application data partition is now `ext4`. This greatly improves its + robustness to corruption. Nerves.Runtime contains code to initialize it on + first boot. + * Firmware images now contain metadata that can be queried at runtime (see + Nerves.Runtime.KV + * Increased GPU memory to support Pi Camera V2 ## v0.12.0 - * nerves_system_br v0.10.0 - * Buildroot 2017.02 - * Erlang/OTP 19.3 +* nerves_system_br v0.10.0 + * Buildroot 2017.02 + * Erlang/OTP 19.3 - * New features - * Upgraded the Linux kernel from 4.4.43 -> 4.4.50. Due to the coupling - between the Linux kernel and rpi-firmware and possibly rpi-userland, if - you have a custom system based off this, you should update your Linux - kernel as well. (see `nerves_defconfig`) +* New features + * Upgraded the Linux kernel from 4.4.43 -> 4.4.50. Due to the coupling + between the Linux kernel and rpi-firmware and possibly rpi-userland, if + you have a custom system based off this, you should update your Linux + kernel as well. (see `nerves_defconfig`) ## v0.11.0 - * New features - * Enabled USB_SERIAL and FTDI_SIO support. Needed for connecting with Arduino to the USB ports - * Support for Nerves 0.5.0 +* New features + * Enabled USB_SERIAL and FTDI_SIO support. Needed for connecting with Arduino to the USB ports + * Support for Nerves 0.5.0 ## v0.10.0 - * New features - * Upgraded the Linux kernel to 4.4.43. This also removes the - call to mkknlimg which is no longer needed. - * Bump toolchain to use gcc 5.3 (previously using gcc 4.9.3) - * Bug Fixes - * brcmfmac is being compiled as a module. This means that in order to use wifi you will need to `modprobe brcmfmac`. This addresses an issue where the module would not initialize properly on some boards. +* New features + * Upgraded the Linux kernel to 4.4.43. This also removes the + call to mkknlimg which is no longer needed. + * Bump toolchain to use gcc 5.3 (previously using gcc 4.9.3) +* Bug Fixes + * brcmfmac is being compiled as a module. This means that in order to use wifi you will need to `modprobe brcmfmac`. This addresses an issue where the module would not initialize properly on some boards. ## v0.9.1 * Bug Fixes - * Fixed issues with wifi not starting on some devices +* Fixed issues with wifi not starting on some devices ## v0.9.0 This version switches to using the `nerves_package` compiler. This will consolidate overall deps and compilers. - * Nerves.System.BR v0.8.1 - * Support for distillery - * Support for nerves_package compiler +* Nerves.System.BR v0.8.1 + * Support for distillery + * Support for nerves_package compiler ## v0.7.0 When upgrading to this version, be sure to review the updates to nerves_defconfig if you have customized this system. - * nerves_system_br v0.6.2 - * Package updates - * Buildroot 2016.08 - * Linux 4.4 +* nerves_system_br v0.6.2 + * Package updates + * Buildroot 2016.08 + * Linux 4.4 ## v0.6.1 - * Package versions - * Nerves.System.BR v0.6.1 +* Package versions + * Nerves.System.BR v0.6.1 - * New features - * All Raspberry Pi 3-specific configuration is now in this repository +* New features + * All Raspberry Pi 3-specific configuration is now in this repository ## v0.6.0 - * Nerves.System.BR v0.6.0 - * Package updates - * Erlang OTP 19 - * Elixir 1.3.1 - * fwup 0.8.0 - * erlinit 0.7.3 - * bborg-overlays (pull in I2C typo fix from upstream) - * Bug fixes - * Synchronize file system kernel configs across all platforms + +* Nerves.System.BR v0.6.0 + * Package updates + * Erlang OTP 19 + * Elixir 1.3.1 + * fwup 0.8.0 + * erlinit 0.7.3 + * bborg-overlays (pull in I2C typo fix from upstream) + * Bug fixes + * Synchronize file system kernel configs across all platforms ## v0.5.2 - * Enhancements - * Enabled USB Printer kernel mod. Needs to be loaded with `modprobe` to use - * Bug Fixes(raspberry pi) - * Enabled multicast in linux config + +* Enhancements + * Enabled USB Printer kernel mod. Needs to be loaded with `modprobe` to use +* Bug Fixes(raspberry pi) + * Enabled multicast in linux config ## v0.5.1 - * Nerves.System.BR v0.5.1 - * Bug Fixes(nerves-env) - * Added include paths to CFLAGS and CXXFLAGS - * Pass sysroot to LDFLAGS + +* Nerves.System.BR v0.5.1 + * Bug Fixes(nerves-env) + * Added include paths to CFLAGS and CXXFLAGS + * Pass sysroot to LDFLAGS ## v0.5.0 - * Nerves.System.BR v0.5.0 - * New features - * WiFi drivers enabled by default on RPi2 and RPi3 - * Include wireless regulatory database in Linux kernel by default - on WiFi-enabled platforms. Since kernel/rootfs are read-only and - coupled together for firmware updates, the normal CRDA/udev approach - isn't necessary. - * Upgraded the default BeagleBone Black kernel from 3.8 to 4.4.9. The - standard BBB device tree overlays are included by default even though the - upstream kernel patches no longer include them. - * Change all fwup configurations from two step upgrades to one step - upgrades. If you used the base fwup.conf files to upgrade, you no - longer need to finalize the upgrade. If not, there's no change. + +* Nerves.System.BR v0.5.0 + * New features + * WiFi drivers enabled by default on RPi2 and RPi3 + * Include wireless regulatory database in Linux kernel by default + on WiFi-enabled platforms. Since kernel/rootfs are read-only and + coupled together for firmware updates, the normal CRDA/udev approach + isn't necessary. + * Upgraded the default BeagleBone Black kernel from 3.8 to 4.4.9. The + standard BBB device tree overlays are included by default even though the + upstream kernel patches no longer include them. + * Change all fwup configurations from two step upgrades to one step + upgrades. If you used the base fwup.conf files to upgrade, you no + longer need to finalize the upgrade. If not, there's no change. ## v0.4.1 - * Nerves.System.BR v0.4.1 - * Bug fixes - * syslinux fails to boot when compiled on some gcc 5 systems - * Fixed regression when booting off eMMC on the BBB +* Nerves.System.BR v0.4.1 + * Bug fixes + * syslinux fails to boot when compiled on some gcc 5 systems + * Fixed regression when booting off eMMC on the BBB - * Package updates - * Erlang 18.3 - * Elixir 1.2.5 + * Package updates + * Erlang 18.3 + * Elixir 1.2.5 diff --git a/README.md b/README.md index 032f6c4..739d20d 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,7 @@ # Raspberry Pi 3 Model B + [![CircleCI](https://circleci.com/gh/nerves-project/nerves_system_rpi3.svg?style=svg)](https://circleci.com/gh/nerves-project/nerves_system_rpi3) +[![Hex version](https://img.shields.io/hexpm/v/nerves_system_rpi3.svg "Hex version")](https://hex.pm/packages/nerves_system_rpi3) This is the base Nerves System configuration for the Raspberry Pi 3 Model B. @@ -28,7 +30,15 @@ WiFi modules almost always require proprietary firmware to be loaded for them to Linux kernel handles this and firmware blobs are maintained in the `linux-firmware` project. The firmware for the built-in WiFi module on the RPi3 hasn't made it to the `linux-firmware` project nor Buildroot, so it is included -here in a `rootfs_overlay` overlay directory. The original firmware files came from -https://github.com/RPi-Distro/firmware-nonfree/blob/master/brcm80211/brcm. +here in a `rootfs_overlay` overlay directory. The original firmware files came from [github:RPi-Distro/firmware-nonfree](https://github.com/RPi-Distro/firmware-nonfree/blob/master/brcm80211/brcm). + +## Linux kernel and RPi firmware/userland + +There's a subtle coupling between the `nerves_system_br` version and the Linux +kernel version used here. `nerves_system_br` provides the versions of +`rpi-userland` and `rpi-firmware` that get installed. I prefer to match them to +the Linux kernel to avoid any issues. Unfortunately, none of these are tagged +by the Raspberry Pi Foundation so I either attempt to match what's in Raspbian +or take versions of the repositories that have similar commit times. [Image credit](#fritzing): This image is from the [Fritzing](http://fritzing.org/home/) parts library. diff --git a/VERSION b/VERSION index 5a03fb7..49cd325 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -0.20.0 +1.0.0-rc.0 diff --git a/mix.exs b/mix.exs index 71367ef..5d547f6 100644 --- a/mix.exs +++ b/mix.exs @@ -16,9 +16,8 @@ defmodule NervesSystemRpi3.Mixfile do description: description(), package: package(), deps: deps(), - aliases: [ - "deps.precompile": ["nerves.env", "deps.precompile"], - "deps.get": ["deps.get", "nerves.deps.get"]] + aliases: [loadconfig: [&bootstrap/1], docs: ["docs", ©_images/1]], + docs: [extras: ["README.md"], main: "readme"] ] end @@ -26,6 +25,12 @@ defmodule NervesSystemRpi3.Mixfile do [] end + defp bootstrap(args) do + System.put_env("MIX_TARGET", "rpi3") + Application.start(:nerves_bootstrap) + Mix.Task.run("loadconfig", args) + end + def nerves_package do [ type: :system, @@ -42,10 +47,11 @@ defmodule NervesSystemRpi3.Mixfile do defp deps do [ - {:nerves, "~> 0.9", runtime: false }, - {:nerves_system_br, "0.17.0", runtime: false}, - {:nerves_toolchain_arm_unknown_linux_gnueabihf, "~> 0.13.0", runtime: false}, - {:nerves_system_linter, "~> 0.2.2", runtime: false} + {:nerves, "~> 1.0-rc", runtime: false }, + {:nerves_system_br, "~> 1.0-rc", runtime: false}, + {:nerves_toolchain_arm_unknown_linux_gnueabihf, "~> 1.0-rc", runtime: false}, + {:nerves_system_linter, "~> 0.3.0", runtime: false}, + {:ex_doc, "~> 0.18", only: :dev} ] end @@ -81,4 +87,9 @@ defmodule NervesSystemRpi3.Mixfile do "config.txt" ] end + + # Copy the images referenced by docs, since ex_doc doesn't do this. + defp copy_images(_) do + File.cp_r("assets", "doc/assets") + end end diff --git a/mix.lock b/mix.lock index ec94e08..8fdd868 100644 --- a/mix.lock +++ b/mix.lock @@ -1,9 +1,11 @@ %{ "distillery": {:hex, :distillery, "1.5.2", "eec18b2d37b55b0bcb670cf2bcf64228ed38ce8b046bb30a9b636a6f5a4c0080", [:mix], [], "hexpm"}, - "nerves": {:hex, :nerves, "0.9.0", "41f95cb299565f0b759924430f62d1ae7399f4552d8dcbf83699103fda8fd5ad", [:mix], [{:distillery, "~> 1.4", [hex: :distillery, repo: "hexpm", optional: false]}], "hexpm"}, - "nerves_system_br": {:hex, :nerves_system_br, "0.17.0", "f7c0d1b6b11e9a1c187b17f2401a00956bebd5c45946bfe2a332ad26ecbf18f9", [:mix], [], "hexpm"}, - "nerves_system_linter": {:hex, :nerves_system_linter, "0.2.3", "288a04f3d6dd08f97c839b5a5480c511f4c55bd193bc9dffe6f025de79108cea", [:mix], [], "hexpm"}, - "nerves_toolchain_arm_unknown_linux_gnueabihf": {:hex, :nerves_toolchain_arm_unknown_linux_gnueabihf, "0.13.0", "998a206d011351be34a95f63362c8195a4e81be81496206390258442166a8353", [:mix], [{:nerves, "~> 0.9", [hex: :nerves, repo: "hexpm", optional: false]}, {:nerves_toolchain_ctng, "~> 1.3", [hex: :nerves_toolchain_ctng, repo: "hexpm", optional: false]}], "hexpm"}, + "earmark": {:hex, :earmark, "1.2.4", "99b637c62a4d65a20a9fb674b8cffb8baa771c04605a80c911c4418c69b75439", [:mix], [], "hexpm"}, + "ex_doc": {:hex, :ex_doc, "0.18.3", "f4b0e4a2ec6f333dccf761838a4b253d75e11f714b85ae271c9ae361367897b7", [:mix], [{:earmark, "~> 1.1", [hex: :earmark, repo: "hexpm", optional: false]}], "hexpm"}, + "nerves": {:hex, :nerves, "1.0.0-rc.0", "5c6cf122611d0024d06b88593aa9af46180d30712fc6ff07fa25fb9100125f1e", [:mix], [{:distillery, "~> 1.4", [hex: :distillery, repo: "hexpm", optional: false]}], "hexpm"}, + "nerves_system_br": {:hex, :nerves_system_br, "1.0.0-rc.0", "63400e1a12baa307603d9d0b30fe87de1f67623f71156b278f0be5ce74c7d117", [:mix], [], "hexpm"}, + "nerves_system_linter": {:hex, :nerves_system_linter, "0.3.0", "84e0f63c8ac196b16b77608bbe7df66dcf352845c4e4fb394bffd2b572025413", [:mix], [], "hexpm"}, + "nerves_toolchain_arm_unknown_linux_gnueabihf": {:hex, :nerves_toolchain_arm_unknown_linux_gnueabihf, "1.0.0-rc.0", "978ce20c1a819d68d25f4968e12af39b342960bcb98a541ccdae981e74848acf", [:mix], [{:nerves, "~> 1.0-rc", [hex: :nerves, repo: "hexpm", optional: false]}, {:nerves_toolchain_ctng, "~> 1.4-rc", [hex: :nerves_toolchain_ctng, repo: "hexpm", optional: false]}], "hexpm"}, "nerves_toolchain_armv6_rpi_linux_gnueabi": {:hex, :nerves_toolchain_armv6_rpi_linux_gnueabi, "0.12.1", "b4960a83b27d682b902d72615f657e8326ff0d87c886244f5585e614332f5678", [], [{:nerves, "~> 0.8", [hex: :nerves, repo: "hexpm", optional: false]}, {:nerves_toolchain_ctng, "~> 1.2", [hex: :nerves_toolchain_ctng, repo: "hexpm", optional: false]}], "hexpm"}, - "nerves_toolchain_ctng": {:hex, :nerves_toolchain_ctng, "1.3.0", "37486214f043e695b256785647f33e00b0ea4dcec2dfacd6e2c044c15d656e9d", [:mix], [{:nerves, "~> 0.9", [hex: :nerves, repo: "hexpm", optional: false]}], "hexpm"}, + "nerves_toolchain_ctng": {:hex, :nerves_toolchain_ctng, "1.4.0-rc.0", "1766752c2a854af5e0f102892d947f787f8f47ee500f564e7fdb50c4d1c4789c", [:mix], [{:nerves, "~> 1.0-rc", [hex: :nerves, repo: "hexpm", optional: false]}], "hexpm"}, } diff --git a/nerves_defconfig b/nerves_defconfig index 531fae6..f75d45f 100644 --- a/nerves_defconfig +++ b/nerves_defconfig @@ -5,7 +5,7 @@ BR2_GLOBAL_PATCH_DIR="${BR2_EXTERNAL_NERVES_PATH}/patches" BR2_TOOLCHAIN_EXTERNAL=y BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y -BR2_TOOLCHAIN_EXTERNAL_URL="https://github.com/nerves-project/toolchains/releases/download/v0.13.0/nerves_toolchain_arm_unknown_linux_gnueabihf-linux_x86_64-0.13.0-D25664C99BC7E3023A2C093C726649E7D50333B9F3887738634F124C9B5BA173.tar.xz" +BR2_TOOLCHAIN_EXTERNAL_URL="https://github.com/nerves-project/toolchains/releases/download/v1.0.0-rc.0/nerves_toolchain_arm_unknown_linux_gnueabihf-linux_x86_64-1.0.0-rc.0-04DCC43.tar.xz" BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX="arm-unknown-linux-gnueabihf" BR2_TOOLCHAIN_EXTERNAL_GCC_6=y BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_1=y diff --git a/test/mix.exs b/test/mix.exs index eccf60a..f6de1fd 100644 --- a/test/mix.exs +++ b/test/mix.exs @@ -15,10 +15,10 @@ defmodule Test.Mixfile do app: :test, version: "0.1.0", elixir: "~> 1.4", - archives: [nerves_bootstrap: "~> 0.7"], + archives: [nerves_bootstrap: "~> 1.0-rc"], build_embedded: Mix.env() == :prod, start_permanent: Mix.env() == :prod, - aliases: Nerves.Bootstrap.add_aliases([]), + aliases: [loadconfig: [&bootstrap/1]], deps: deps() ] end @@ -28,6 +28,12 @@ defmodule Test.Mixfile do # Type `mix help compile.app` for more information. def application, do: [] + defp bootstrap(args) do + System.put_env("MIX_TARGET", "rpi3") + Application.start(:nerves_bootstrap) + Mix.Task.run("loadconfig", args) + end + # Dependencies can be Hex packages: # # {:my_dep, "~> 0.3.0"} @@ -37,7 +43,7 @@ defmodule Test.Mixfile do # {:my_dep, git: "https://github.com/elixir-lang/my_dep.git", tag: "0.1.0"} # # Type "mix help deps" for more examples and options - def deps do + defp deps do [ {:nerves_system_rpi3, path: "../", runtime: false}, {:nerves_system_test, github: "nerves-project/nerves_system_test"} diff --git a/test/mix.lock b/test/mix.lock index dd11aea..1a13b33 100644 --- a/test/mix.lock +++ b/test/mix.lock @@ -1,23 +1,23 @@ %{ "bootloader": {:hex, :bootloader, "0.1.3", "7770e9953ae0f161e2fd26e9ddb7b50e81b97f61db92c633e7ed90f028abcd61", [:mix], [{:distillery, "~> 1.0", [hex: :distillery, repo: "hexpm", optional: false]}], "hexpm"}, "distillery": {:hex, :distillery, "1.5.2", "eec18b2d37b55b0bcb670cf2bcf64228ed38ce8b046bb30a9b636a6f5a4c0080", [:mix], [], "hexpm"}, - "elixir_make": {:hex, :elixir_make, "0.4.0", "992f38fabe705bb45821a728f20914c554b276838433349d4f2341f7a687cddf", [:mix], [], "hexpm"}, - "nerves": {:hex, :nerves, "0.9.0", "41f95cb299565f0b759924430f62d1ae7399f4552d8dcbf83699103fda8fd5ad", [:mix], [{:distillery, "~> 1.4", [hex: :distillery, repo: "hexpm", optional: false]}], "hexpm"}, + "elixir_make": {:hex, :elixir_make, "0.4.1", "6628b86053190a80b9072382bb9756a6c78624f208ec0ff22cb94c8977d80060", [:mix], [], "hexpm"}, + "nerves": {:hex, :nerves, "1.0.0-rc.0", "5c6cf122611d0024d06b88593aa9af46180d30712fc6ff07fa25fb9100125f1e", [:mix], [{:distillery, "~> 1.4", [hex: :distillery, repo: "hexpm", optional: false]}], "hexpm"}, "nerves_network": {:hex, :nerves_network, "0.3.6", "c95779283ace071e9d12882d6a80e31edc8c476012adc61aba2ff6c306ef97b3", [:make, :mix], [{:elixir_make, "~> 0.4", [hex: :elixir_make, repo: "hexpm", optional: false]}, {:nerves_network_interface, "~> 0.4.0", [hex: :nerves_network_interface, repo: "hexpm", optional: false]}, {:nerves_wpa_supplicant, "~> 0.3.0", [hex: :nerves_wpa_supplicant, repo: "hexpm", optional: false]}, {:system_registry, "~> 0.4", [hex: :system_registry, repo: "hexpm", optional: false]}], "hexpm"}, "nerves_network_interface": {:hex, :nerves_network_interface, "0.4.4", "200b1a84bc1a7fdeaf3a1e0e2d4e9b33e240b034e73f39372768d43f8690bae0", [:make, :mix], [{:elixir_make, "~> 0.4", [hex: :elixir_make, repo: "hexpm", optional: false]}], "hexpm"}, "nerves_runtime": {:hex, :nerves_runtime, "0.5.3", "7447a3e718762f3901046f72cc824e528f8d0565a581b8ae58f4f5b6436bca7f", [:make, :mix], [{:elixir_make, "~> 0.4", [hex: :elixir_make, repo: "hexpm", optional: false]}, {:system_registry, "~> 0.5", [hex: :system_registry, repo: "hexpm", optional: false]}], "hexpm"}, - "nerves_system_br": {:hex, :nerves_system_br, "0.17.0", "f7c0d1b6b11e9a1c187b17f2401a00956bebd5c45946bfe2a332ad26ecbf18f9", [:mix], [], "hexpm"}, - "nerves_system_linter": {:hex, :nerves_system_linter, "0.2.3", "288a04f3d6dd08f97c839b5a5480c511f4c55bd193bc9dffe6f025de79108cea", [:mix], [], "hexpm"}, + "nerves_system_br": {:hex, :nerves_system_br, "1.0.0-rc.0", "63400e1a12baa307603d9d0b30fe87de1f67623f71156b278f0be5ce74c7d117", [:mix], [], "hexpm"}, + "nerves_system_linter": {:hex, :nerves_system_linter, "0.3.0", "84e0f63c8ac196b16b77608bbe7df66dcf352845c4e4fb394bffd2b572025413", [:mix], [], "hexpm"}, "nerves_system_test": {:git, "https://github.com/nerves-project/nerves_system_test.git", "e2c1b8efb0eb2ae5ed80d48dd3f11fcb1022a68a", []}, - "nerves_toolchain_arm_unknown_linux_gnueabihf": {:hex, :nerves_toolchain_arm_unknown_linux_gnueabihf, "0.13.0", "998a206d011351be34a95f63362c8195a4e81be81496206390258442166a8353", [:mix], [{:nerves, "~> 0.9", [hex: :nerves, repo: "hexpm", optional: false]}, {:nerves_toolchain_ctng, "~> 1.3", [hex: :nerves_toolchain_ctng, repo: "hexpm", optional: false]}], "hexpm"}, + "nerves_toolchain_arm_unknown_linux_gnueabihf": {:hex, :nerves_toolchain_arm_unknown_linux_gnueabihf, "1.0.0-rc.0", "978ce20c1a819d68d25f4968e12af39b342960bcb98a541ccdae981e74848acf", [:mix], [{:nerves, "~> 1.0-rc", [hex: :nerves, repo: "hexpm", optional: false]}, {:nerves_toolchain_ctng, "~> 1.4-rc", [hex: :nerves_toolchain_ctng, repo: "hexpm", optional: false]}], "hexpm"}, "nerves_toolchain_armv6_rpi_linux_gnueabi": {:hex, :nerves_toolchain_armv6_rpi_linux_gnueabi, "0.11.0", "74ee72f15baffe773e41bae1baeef3942fc8f97fa47d9d1bf9db07c17eca90bd", [:mix], [{:nerves, "~> 0.7", [hex: :nerves, repo: "hexpm", optional: false]}, {:nerves_toolchain_ctng, "~> 1.1", [hex: :nerves_toolchain_ctng, repo: "hexpm", optional: false]}], "hexpm"}, - "nerves_toolchain_ctng": {:hex, :nerves_toolchain_ctng, "1.3.0", "37486214f043e695b256785647f33e00b0ea4dcec2dfacd6e2c044c15d656e9d", [:mix], [{:nerves, "~> 0.9", [hex: :nerves, repo: "hexpm", optional: false]}], "hexpm"}, + "nerves_toolchain_ctng": {:hex, :nerves_toolchain_ctng, "1.4.0-rc.0", "1766752c2a854af5e0f102892d947f787f8f47ee500f564e7fdb50c4d1c4789c", [:mix], [{:nerves, "~> 1.0-rc", [hex: :nerves, repo: "hexpm", optional: false]}], "hexpm"}, "nerves_watchdog": {:git, "https://github.com/mobileoverlord/nerves_watchdog.git", "660f5de7d075ad41c5a0a0dcade073712087b4e7", []}, "nerves_wpa_supplicant": {:hex, :nerves_wpa_supplicant, "0.3.2", "19dc7e1248336e7f542b11b2b857ceb5b088d3eb41a6ca75b7b76628dcf67aad", [:make, :mix], [{:elixir_make, "~> 0.3", [hex: :elixir_make, repo: "hexpm", optional: false]}], "hexpm"}, "phoenix_gen_socket_client": {:hex, :phoenix_gen_socket_client, "1.1.1", "d1fbe7f053a0e91eb4f6fa527c1c8a365da1a07b1d5c2993626cc899d98b36d2", [:mix], [], "hexpm"}, "poison": {:hex, :poison, "2.2.0", "4763b69a8a77bd77d26f477d196428b741261a761257ff1cf92753a0d4d24a63", [:mix], [], "hexpm"}, "shoehorn": {:hex, :shoehorn, "0.2.0", "6aa80804145c545c59af01980d255209483b14826f53411b4a8797b24c323c20", [:mix], [{:distillery, "~> 1.0", [hex: :distillery, repo: "hexpm", optional: false]}], "hexpm"}, "system_registry": {:hex, :system_registry, "0.7.0", "cd3aaf2c15392fa60f93869dde49f536fcf60e54f3b15db737e7d4ebcac108f4", [:mix], [], "hexpm"}, - "system_registry_term_storage": {:hex, :system_registry_term_storage, "0.1.0", "fdded792eb9b5428fa2804a50e25e7140056a48a3086b8efde77b97308236b22", [:mix], [{:system_registry, "~> 0.7", [hex: :system_registry, repo: "hexpm", optional: false]}], "hexpm"}, + "system_registry_term_storage": {:hex, :system_registry_term_storage, "0.1.1", "342fa1d3ce881fee435d3c3109ac8bd371f6ecb6ff4855a52bf2e212853b2408", [:mix], [{:system_registry, "~> 0.7", [hex: :system_registry, repo: "hexpm", optional: false]}], "hexpm"}, "websocket_client": {:hex, :websocket_client, "1.2.4", "14ec1ca4b6d247b44ccd9a80af8f6ca98328070f6c1d52a5cb00bc9d939d63b8", [:rebar3], [], "hexpm"}, }