Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/source-academy/ev3-source
https://github.com/source-academy/ev3-source
ev3dev hacktoberfest source-academy
Last synced: about 2 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/source-academy/ev3-source
- Owner: source-academy
- Created: 2019-09-28T13:17:29.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2024-08-09T09:56:14.000Z (5 months ago)
- Last Synced: 2024-08-09T11:23:04.757Z (5 months ago)
- Topics: ev3dev, hacktoberfest, source-academy
- Language: Shell
- Homepage: https://source-academy.github.io/ev3-source/
- Size: 1.89 MB
- Stars: 0
- Watchers: 3
- Forks: 2
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Build scripts for the EV3 Source image
This repository contains scripts used to build a customised EV3 image containing Sling and Sinter.
If you want to know exactly how the build process works, read the [GitHub workflow](.github/workflows/build.yml).
In a nutshell:
- [`build_control_panel.sh`](./build_control_panel.sh): Cross-compiles the `service_control` binary to manage Source-Academy related services and settings directly from the EV3
- [`build_sling.sh`](./build_sling.sh): Cross-compiles Sling and Sinter for ARM using ev3dev's cross-compilation Docker image `ev3dev/debian-stretch-cross`, with some additional dependencies added in [`Dockerfile.sling`](./Dockerfile.sling)
- [`build_qrcode.sh`](./build_qrcode.sh): Cross-compiles the `show_qrcode` binary to display the QR code of the device secret on the EV3 screen
- [`build_uuidtob62.sh`](./build_uuidtob62.sh): Cross-compiles the `uuidtob62` CLI utility to represent the device secret in a more compact format
- [`build_image.sh`](./build_image.sh): Builds the EV3 root filesystem using [`image/Dockerfile`](image/Dockerfile) and [`image/bootstrap.sh`](image/bootstrap.sh), and then uses [Brickstrap](https://github.com/ev3dev/brickstrap) to build the final imageTo run this locally:
- You must be on Linux.
- You need a static build of QEMU configured for user-mode ARM emulation. It must be registered to handle ARM ELF files using `binfmt_misc`.
- You need libguestfs tools.
- To satisfy the above dependencies:
- On Ubuntu, install `libguestfs-tools qemu-user-static binfmt-support`.
- On Arch, install `binfmt-qemu-static qemu-user-static-bin libguestfs`. (Note, the first two are AUR packages.)
- Download [`brickstrap.sh`](https://raw.githubusercontent.com/ev3dev/brickstrap/master/src/brickstrap.sh) to the current directory.## TLDR
To build the image from the source code, make sure you are the the root of the repository, then run the following commands in order:
```bash
wget https://raw.githubusercontent.com/ev3dev/brickstrap/master/src/brickstrap.sh
./build_control_panel.sh
./build_sling.sh
./build_qrcode.sh
./build_uuidtob62.sh
./build_image.sh
```