Created
February 22, 2020 22:38
-
-
Save amalbuquerque/6d2bbfb8ba80b606a4b68d200661800a to your computer and use it in GitHub Desktop.
Building and burning the Nerves firmware
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
~/projs/personal/minefield | |
❯ mix firmware | |
Nerves environment | |
MIX_TARGET: rpi0 | |
MIX_ENV: dev | |
==> socket | |
Compiling 11 files (.ex) | |
Generated socket app | |
==> uboot_env | |
Compiling 7 files (.ex) | |
Generated uboot_env app | |
==> ring_logger | |
Compiling 4 files (.ex) | |
Generated ring_logger app | |
==> dns | |
Compiling 7 files (.ex) | |
Generated dns app | |
==> mdns | |
Compiling 5 files (.ex) | |
Generated mdns app | |
==> system_registry | |
Compiling 13 files (.ex) | |
Generated system_registry app | |
==> elixir_make | |
Compiling 1 file (.ex) | |
Generated elixir_make app | |
==> nerves_runtime | |
mkdir -p /home/andre/projs/personal/minefield/_build/rpi0_dev/lib/nerves_ | |
runtime/ebin/../obj | |
mkdir -p /home/andre/projs/personal/minefield/_build/rpi0_dev/lib/nerves_runtime/ebin/../priv | |
/home/andre/.nerves/artifacts/nerves_toolchain_armv6_rpi_linux_gnueabi-linux_x86_64-1.1.0/bin/armv6-rpi-linux-gnueabi-gcc -c -I/home/andre/.nerves | |
/artifacts/nerves_system_rpi0-portable-1.7.1/staging/usr/lib/erlang/erts-10.2.5/include -I/home/andre/.nerves/artifacts/nerves_system_rpi0-portable-1.7.1/staging/usr/lib/erlang/lib/erl_interface-3.10.4/include -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -pipe -Os -I/home/andre/.nerves/artifacts/nerves_system_rpi0-portable-1.7.1/staging/usr/include -std=gnu99 -o /home/andre/projs/personal/minefield/_build/rpi0_dev | |
/lib/nerves_runtime/ebin/../obj/nerves_runtime.o src/nerves_runtime.c | |
/home/andre/.nerves/artifacts/nerves_toolchain_armv6_rpi_linux_gnueabi-linux_x86_64-1.1.0/bin/armv6-rpi-linux-gnueabi-gcc -c -I/home/andre/.nerves | |
/artifacts/nerves_system_rpi0-portable-1.7.1/staging/usr/lib/erlang/erts-10.2.5/include -I/home/andre/.nerves/artifacts/nerves_system_rpi0-portable-1.7.1/staging/usr/lib/erlang/lib/erl_interface-3.10.4/include -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -pipe -Os -I/home/andre/.nerves/artifacts/nerves_system_rpi0-portable-1.7.1/staging/usr/include -std=gnu99 -o /home/andre/projs/personal/minefield/_build/rpi0_dev | |
/lib/nerves_runtime/ebin/../obj/uevent.o src/uevent.c | |
/home/andre/.nerves/artifacts/nerves_toolchain_armv6_rpi_linux_gnueabi-linux_x86_64-1.1.0/bin/armv6-rpi-linux-gnueabi-gcc -c -I/home/andre/.nerves | |
/artifacts/nerves_system_rpi0-portable-1.7.1/staging/usr/lib/erlang/erts-10.2.5/include -I/home/andre/.nerves/artifacts/nerves_system_rpi0-portable-1.7.1/staging/usr/lib/erlang/lib/erl_interface-3.10.4/include -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -pipe -Os -I/home/andre/.nerves/artifacts/nerves_system_rpi0-portable-1.7.1/staging/usr/include -std=gnu99 -o /home/andre/projs/personal/minefield/_build/rpi0_dev | |
/lib/nerves_runtime/ebin/../obj/kmsg_tailer.o src/kmsg_tailer.c | |
/home/andre/.nerves/artifacts/nerves_toolchain_armv6_rpi_linux_gnueabi-linux_x86_64-1.1.0/bin/armv6-rpi-linux-gnueabi-gcc /home/andre/projs/personal/minefield/_build/rpi0_dev/lib/nerves_runtime/ebin/../obj/nerves_runtime.o /home/andre/projs/personal/minefield/_build/rpi0_dev/lib/nerves_runtime/ebin/../obj/uevent.o /home/andre/projs/personal/minefield/_build/rpi0_dev/lib/nerves_runtime/ebin/../obj/kmsg_tailer.o -L/home/andre/.nerves/artifacts/nerves_system_rpi0-portable-1.7.1/staging/usr/lib/erlang/erts-10.2.5/lib -L/home/andre/.nerves/artifacts/nerves_system_rpi0-portable-1.7.1 | |
/staging/usr/lib/erlang/lib/erl_interface-3.10.4/lib -lerts -lerl_interface -lei --sysroot=/home/andre/.nerves/artifacts/nerves_system_rpi0-portable-1.7.1/staging -lmnl -o /home/andre/projs/personal/minefield/_build/rpi0_dev/lib/nerves_runtime/ebin/../priv/nerves_runtime | |
Compiling 12 files (.ex) | |
Generated nerves_runtime app | |
==> toolshed | |
Compiling 8 files (.ex) | |
Generated toolshed app | |
==> nerves_firmware_ssh | |
Compiling 9 files (.ex) | |
Generated nerves_firmware_ssh app | |
==> one_dhcpd | |
mkdir -p /home/andre/projs/personal/minefield/_build/rpi0_dev/lib/one_dhcpd/ebin/../priv | |
mkdir -p /home/andre/projs/personal/minefield/_build/rpi0_dev/lib/one_dhcpd/ebin/../obj | |
/home/andre/.nerves/artifacts/nerves_toolchain_armv6_rpi_linux_gnueabi-linux_x86_64-1.1.0/bin/armv6-rpi-linux-gnueabi-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -pipe -Os -I/home/andre/.nerves/artifacts/nerves_system_rpi0-portable-1.7.1/staging/usr/include -o /home/andre/projs/personal/minefield/_build/rpi0_dev/lib/one_dhcpd/ebin/../obj/arp_set.o src/arp_set.c /home/andre/.nerves/artifacts/nerves_toolchain_armv6_rpi_linux_gnueabi-linux_x86_64-1.1.0/bin/armv6-rpi-linux-gnueabi-gcc -o /home/andre/projs/personal/minefield/_build/rpi0_dev/lib/one_dhcpd/ebin/../priv/arp_set --sysroot=/home/andre/.nerves/artifacts/nerves_system_rpi0-portable-1.7.1/staging /home/andre/projs/personal/minefield/_build/rpi0_dev/lib/one_dhcpd/ebin/../obj/arp_set.o | |
Compiling 9 files (.ex) | |
Generated one_dhcpd app | |
==> nerves_network_interface | |
mkdir -p /home/andre/projs/personal/minefield/_build/rpi0_dev/lib/nerves_network_interface/ebin/../priv | |
mkdir -p /home/andre/projs/personal/minefield/_build/rpi0_dev/lib/nerves_network_interface/ebin/../obj | |
/home/andre/.nerves/artifacts/nerves_toolchain_armv6_rpi_linux_gnueabi-linux_x86_64-1.1.0/bin/armv6-rpi-linux-gnueabi-gcc -c -I/home/andre/.nerves/artifacts/nerves_system_rpi0-portable-1.7.1/staging/usr/lib/erlang/erts-10.2.5/include -I/home/andre/.nerves/artifacts/nerves_system_rpi0-portable-1.7.1/staging/usr/lib/erlang/lib/erl_interface-3.10.4/include -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -pipe -Os -I/home/andre/.nerves/artifacts/nerves_system_rpi0-portable-1.7.1/staging/usr/include -std=c99 -D_XOPEN_SOURCE=600 -o /home/andre/projs/personal/minefield/_build/rpi0_dev/lib/nerves_network_interface/ebin/../obj/erlcmd.o src/erlcmd.c /home/andre/.nerves/artifacts/nerves_toolchain_armv6_rpi_linux_gnueabi-linux_x86_64-1.1.0/bin/armv6-rpi-linux-gnueabi-gcc -c -I/home/andre/.nerves/artifacts/nerves_system_rpi0-portable-1.7.1/staging/usr/lib/erlang/erts-10.2.5/include -I/home/andre/.nerves/artifacts/nerves_system_rpi0-portable-1.7.1/staging/usr/lib/erlang/lib/erl_interface-3.10.4/include -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -pipe -Os -I/home/andre/.nerves/artifacts/nerves_system_rpi0-portable-1.7.1/staging/usr/include -std=c99 -D_XOPEN_SOURCE=600 -o /home/andre/projs/personal/minefield/_build/rpi0_dev/lib/nerves_network_interface/ebin/../obj/netif.o src/netif.c | |
/home/andre/.nerves/artifacts/nerves_toolchain_armv6_rpi_linux_gnueabi-linux_x86_64-1.1.0/bin/armv6-rpi-linux-gnueabi-gcc /home/andre/projs/personal/minefield/_build/rpi0_dev/lib/nerves_network_interface/ebin/../obj/erlcmd.o /home/andre/projs/personal/minefield/_build/rpi0_dev/lib/nerves_network_interface/ebin/../obj/netif.o -L/home/andre/.nerves/artifacts/nerves_system_rpi0-portable-1.7.1/staging/usr/lib/erlang/erts-10.2.5/lib -L/home/andre/.nerves/artifacts/nerves_system_rpi0-portable-1.7.1/staging/usr/lib/erlang/lib/erl_interface-3.10.4/lib -lerts -lerl_interface -lei --sysroot=/home/andre/.nerves/artifacts/nerves_system_rpi0-portable-1.7.1/staging -lmnl -o /home/andre/projs/personal/minefield/_build/rpi0_dev/lib/nerves_network_interface/ebin/../priv/netif | |
# setuid root net_basic so that it can configure network interfaces | |
SUDO_ASKPASS= true -- sh -c 'chown root:root /home/andre/projs/personal/minefield/_build/rpi0_dev/lib/nerves_network_interface/ebin/../priv/netif; chmod +s /home/andre/projs/personal/minefield/_build/rpi0_dev/lib/nerves_network_interface/ebin/../priv/netif' | |
Compiling 3 files (.ex) | |
Generated nerves_network_interface app | |
==> nerves_wpa_supplicant | |
mkdir -p /home/andre/projs/personal/minefield/_build/rpi0_dev/lib/nerves_wpa_supplicant/ebin/../priv | |
mkdir -p /home/andre/projs/personal/minefield/_build/rpi0_dev/lib/nerves_wpa_supplicant/ebin/../obj/wpa_ctrl | |
/home/andre/.nerves/artifacts/nerves_toolchain_armv6_rpi_linux_gnueabi-linux_x86_64-1.1.0/bin/armv6-rpi-linux-gnueabi-gcc -c -DCONFIG_CTRL_IFACE -DCONFIG_CTRL_IFACE_UNIX -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -pipe -Os -I/home/andre/.nerves/artifacts/nerves_system_rpi0-portable-1.7.1/staging/usr/include -o /home/andre/projs/personal/minefield/_build/rpi0_dev/lib/nerves_wpa_supplicant/ebin/../obj/wpa_ex.o src/wpa_ex.c | |
/home/andre/.nerves/artifacts/nerves_toolchain_armv6_rpi_linux_gnueabi-linux_x86_64-1.1.0/bin/armv6-rpi-linux-gnueabi-gcc -c -DCONFIG_CTRL_IFACE -DCONFIG_CTRL_IFACE_UNIX -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -pipe -Os -I/home/andre/.nerves/artifacts/nerves_system_rpi0-portable-1.7.1/staging/usr/include -o /home/andre/projs/personal/minefield/_build/rpi0_dev/lib/nerves_wpa_supplicant/ebin/../obj/wpa_ctrl/os_unix.o src/wpa_ctrl/os_unix.c | |
/home/andre/.nerves/artifacts/nerves_toolchain_armv6_rpi_linux_gnueabi-linux_x86_64-1.1.0/bin/armv6-rpi-linux-gnueabi-gcc -c -DCONFIG_CTRL_IFACE -DCONFIG_CTRL_IFACE_UNIX -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -pipe -Os -I/home/andre/.nerves/artifacts/nerves_system_rpi0-portable-1.7.1/staging/usr/include -o /home/andre/projs/personal/minefield/_build/rpi0_dev/lib/nerves_wpa_supplicant/ebin/../obj/wpa_ctrl/wpa_ctrl.o src/wpa_ctrl/wpa_ctrl.c | |
/home/andre/.nerves/artifacts/nerves_toolchain_armv6_rpi_linux_gnueabi-linux_x86_64-1.1.0/bin/armv6-rpi-linux-gnueabi-gcc /home/andre/projs/personal/minefield/_build/rpi0_dev/lib/nerves_wpa_supplicant/ebin/../obj/wpa_ex.o /home/andre/projs/personal/minefield/_build/rpi0_dev/lib/nerves_wpa_supplicant/ebin/../obj/wpa_ctrl/os_unix.o /home/andre/projs/personal/minefield/_build/rpi0_dev/lib/nerves_wpa_supplicant/ebin/../obj/wpa_ctrl/wpa_ctrl.o --sysroot=/home/andre/.nerves/artifacts/nerves_system_rpi0-portable-1.7.1/staging -lrt -o /home/andre/projs/personal/minefield/_build/rpi0_dev/lib/nerves_wpa_supplicant/ebin/../priv/wpa_ex | |
# setuid root wpa_ex so that it can interact with the wpa_supplicant | |
SUDO_ASKPASS= true -- sh -c 'chown root:root /home/andre/projs/personal/minefield/_build/rpi0_dev/lib/nerves_wpa_supplicant/ebin/../priv/wpa_ex; chmod +s /home/andre/projs/personal/minefield/_build/rpi0_dev/lib/nerves_wpa_supplicant/ebin/../priv/wpa_ex' | |
Compiling 3 files (.ex) | |
Generated nerves_wpa_supplicant app | |
==> nerves_network | |
mkdir -p /home/andre/projs/personal/minefield/_build/rpi0_dev/lib/nerves_network/ebin/../obj | |
mkdir -p /home/andre/projs/personal/minefield/_build/rpi0_dev/lib/nerves_network/ebin/../priv | |
/home/andre/.nerves/artifacts/nerves_toolchain_armv6_rpi_linux_gnueabi-linux_x86_64-1.1.0/bin/armv6-rpi-linux-gnueabi-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -pipe -Os -I/home/andre/.nerves/artifacts/nerves_system_rpi0-portable-1.7.1/staging/usr/include -std=c99 -o /home/andre/projs/personal/minefield/_build/rpi0_dev/lib/nerves_network/ebin/../obj/udhcpc_wrapper.o src/udhcpc_wrapper.c | |
/home/andre/.nerves/artifacts/nerves_toolchain_armv6_rpi_linux_gnueabi-linux_x86_64-1.1.0/bin/armv6-rpi-linux-gnueabi-gcc /home/andre/projs/personal/minefield/_build/rpi0_dev/lib/nerves_network/ebin/../obj/udhcpc_wrapper.o -L/home/andre/.nerves/artifacts/nerves_system_rpi0-portable-1.7.1/staging/usr/lib/erlang/erts-10.2.5/lib -L/home/andre/.nerves/artifacts/nerves_system_rpi0-portable-1.7.1/staging/usr/lib/erlang/lib/erl_interface-3.10.4/lib -lerts -lerl_interface -lei --sysroot=/home/andre/.nerves/artifacts/nerves_system_rpi0-portable-1.7.1/staging -o /home/andre/projs/personal/minefield/_build/rpi0_dev/lib/nerves_network/ebin/../priv/udhcpc_wrapper | |
# setuid root udhcpc_wrapper so that it can call udhcpc | |
SUDO_ASKPASS= true -- sh -c 'chown root:root /home/andre/projs/personal/minefield/_build/rpi0_dev/lib/nerves_network/ebin/../priv/udhcpc_wrapper; chmod +s /home/andre/projs/personal/minefield/_build/rpi0_dev/lib/nerves_network/ebin/../priv/udhcpc_wrapper' | |
Compiling 12 files (.ex) | |
Generated nerves_network app | |
==> nerves_init_gadget | |
Compiling 5 files (.ex) | |
Generated nerves_init_gadget app | |
==> shoehorn | |
Compiling 7 files (.ex) | |
Generated shoehorn app | |
==> minefield | |
Compiling 2 files (.ex) | |
Generated minefield app | |
|nerves_bootstrap| Building OTP Release... | |
Updating base firmware image with Erlang release... | |
Copying rootfs_overlay: /home/andre/projs/personal/minefield/rootfs_overlay | |
Parallel mksquashfs: Using 8 processors | |
Creating 4.0 filesystem on /home/andre/projs/personal/minefield/_build/_nerves-tmp/combined.squashfs, block size 131072. | |
Exportable Squashfs 4.0 filesystem, gzip compressed, data block size 131072 | |
compressed data, compressed metadata, compressed fragments, compressed xattrs | |
duplicates are removed | |
Filesystem size 24522.59 Kbytes (23.95 Mbytes) | |
56.12% of uncompressed filesystem size (43696.65 Kbytes) | |
Inode table size 19705 bytes (19.24 Kbytes) | |
29.35% of uncompressed inode table size (67139 bytes) | |
Directory table size 21669 bytes (21.16 Kbytes) | |
42.33% of uncompressed directory table size (51185 bytes) | |
Number of duplicate files found 11 | |
Number of inodes 2046 | |
Number of files 1644 | |
Number of fragments 191 | |
Number of symbolic links 142 | |
Number of device nodes 0 | |
Number of fifo nodes 0 | |
Number of socket nodes 0 | |
Number of directories 260 | |
Number of ids (unique uids + gids) 3 | |
Number of uids 3 | |
root (0) | |
www-data (33) | |
andre (1000) | |
Number of gids 3 | |
root (0) | |
www-data (33) | |
andre (1000) | |
Building /home/andre/projs/personal/minefield/_build/rpi0_dev/nerves/images/minefield.fw... | |
~/projs/personal/minefield 30s | |
❯ mix firmware.burn | |
Nerves environment | |
MIX_TARGET: rpi0 | |
MIX_ENV: dev | |
|nerves_bootstrap| Building OTP Release... | |
Updating base firmware image with Erlang release... | |
Copying rootfs_overlay: /home/andre/projs/personal/minefield/rootfs_overlay | |
Parallel mksquashfs: Using 8 processors | |
Creating 4.0 filesystem on /home/andre/projs/personal/minefield/_build/_nerves-tmp/combined.squashfs, block size 131072. | |
Exportable Squashfs 4.0 filesystem, gzip compressed, data block size 131072 | |
compressed data, compressed metadata, compressed fragments, compressed xattrs | |
duplicates are removed | |
Filesystem size 24522.58 Kbytes (23.95 Mbytes) | |
56.12% of uncompressed filesystem size (43696.65 Kbytes) | |
Inode table size 19703 bytes (19.24 Kbytes) | |
29.35% of uncompressed inode table size (67139 bytes) | |
Directory table size 21658 bytes (21.15 Kbytes) | |
42.31% of uncompressed directory table size (51185 bytes) | |
Number of duplicate files found 11 | |
Number of inodes 2046 | |
Number of files 1644 | |
Number of fragments 191 | |
Number of symbolic links 142 | |
Number of device nodes 0 | |
Number of fifo nodes 0 | |
Number of socket nodes 0 | |
Number of directories 260 | |
Number of ids (unique uids + gids) 3 | |
Number of uids 3 | |
root (0) | |
www-data (33) | |
andre (1000) | |
Number of gids 3 | |
root (0) | |
www-data (33) | |
andre (1000) | |
Building /home/andre/projs/personal/minefield/_build/rpi0_dev/nerves/images/minefield.fw... | |
Use 28.83 GiB memory card found at /dev/sda? [Yn] Y | |
|====================================| 100% (31.74 / 31.74) MB | |
Success! | |
Elapsed time: 6.805 s |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment