Skip to content

Commit

Permalink
init
Browse files Browse the repository at this point in the history
  • Loading branch information
quintenvandamme committed Jan 30, 2024
0 parents commit 50a0ef4
Show file tree
Hide file tree
Showing 10 changed files with 5,346 additions and 0 deletions.
35 changes: 35 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
---
name: Bug report
about: Create a report to help us improve the buildroot
title: ''
labels: ''
assignees: ''

---

**Describe the bug**
A clear and concise description of what the bug is.

**What kind of a bug is it?**
Describe what kind of a bug it is.

**To Reproduce**
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error

**Expected behavior**
A clear and concise description of what you expected to happen.

**Screenshots**
If applicable, add screenshots to help explain your problem.

**Desktop (please complete the following information):**
- OS: [e.g. dahliaOS Linux, dahliaOS Zircon]
- Device: [e.g. MacbookPro9,1, QEMU]


**Additional context**
Add any other context about the problem here.
8 changes: 8 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
blank_issues_enabled: false
contact_links:
- name: Help
url: https://dahliaos.io/discord
about: 'If you have a question or need help, join our Discord!'
- name: Documentation issue
url: https://github.com/dahliaos/documentation
about: 'For documentation issues, suggest changes on our documentation repository.'
26 changes: 26 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
---
name: Feature request
about: Suggest an idea for buildroot
title: ''
labels: ''
assignees: ''

---

**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

**Describe the solution you'd like**
A clear and concise description of what you want to happen.

**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.

**Do you have an idea of how we would add it?**
If you know how we would approach adding this feature, tell us how.

**Why should we add it?**
Explain to use how our project can benefit of your feature request.

**Additional context**
Add any other context or screenshots about the feature request here.
72 changes: 72 additions & 0 deletions .github/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
<p align="center">
<a href="https://dahliaos.io">Website</a> •
<a href="https://dahliaos.io/discord">Discord</a> •
<a href="https://dahliaos.io/download">Releases</a> •
<a href="https://dahliaos.io/donate">Donate</a> •
<a href="https://docs.dahliaos.io">Documentation</a>

# OS

This is the build system for dahliaOS. It is based on [Buildroot](https://buildroot.org/) and ran in a Docker container.

This project is a fork from [AdvancedClimateSystems/docker-buildroot](https://github.com/AdvancedClimateSystems/docker-buildroot).
- Buildroot is a simple, efficient and easy-to-use tool to generate embedded Linux systems through cross-compilation.
- This tool compiles dahliaOS Linux-based builds.


## Install Docker

- We use Docker so that we don't have to install all sorts of packages, everything is already included in this Docker image.

- You can find Docker installation instructions [here](https://docs.docker.com/get-docker/).

## Usage

1. Build dahliaOS WIP

``` shell
make build
```

## Requirements

It is recommended to have at miniumum an Ethernet connection (directly to thr router), a dual-core x86 CPU and at least 4GB of RAM when compiling.

We personally recommend a 4C/8T or better CPU with 16GB of RAM for optimal speeds.

You will also need a decent amount of hard drive space, we recommend around 50GB if you clear out the build directory often.

It takes around 6 hours to build a full image from scratch on a Dell Optiplex 790 with a 3GHZ i5-2400 and 16GB of RAM.

We are sure a Threadripper or a newer Xeon CPU could easily handle compiling.

## Warning:

- If you are using a laptop, make sure that you are aware of its temperature, some laptops easily heat up to 93-100c when compiling.

## To do

- [ ] Add flatpak

- [ ] Add the Surface touchscreen patches to the kernel via Buildroot: https://github.com/linux-surface/linux-surface

- [x] Add Nvidia support

- [x] Add AMD support

## Contribute

If you're wondering how to contribute to the project, please refer to [CONTRIBUTING.md](../CONTRIBUTING.md)

## License

<p align="left">
<img width="30%" src="https://github.com/dahliaOS/brand/blob/main/dahliaOS/logotype/svg/logotype-dark.svg#gh-dark-mode-only"/>
<img width="30%" src="https://github.com/dahliaOS/brand/blob/main/dahliaOS/logotype/svg/logotype-light.svg#gh-light-mode-only"/>
</p>

Copyright @ 2019-2024 - The dahliaOS Authors - [email protected]

Copyright @ 2017 - Auke Willem Oosterhoff and [Advanced Climate Systems](https://acs-buildings.com/).

This project is licensed under the [Mozilla Public License](/LICENSE)
36 changes: 36 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# Pull request template

* Please make sure you read and fill this template out entirely
* PRs that don't have the template filled out will be ignored

## Description

- Please include a summary of the change and which issue is fixed
- Please also include relevant motivation and context (Why is this change required? What problem does it solve?)
- List any dependencies that are required for this change
- If it fixes an open issue, plase link to the issue here

Fixes #(issue)

## Screenshots (if appropriate):

## Type of change

Please tick the relevant option by putting an X inside the bracket

- [ ] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
- [ ] This change requires a documentation update

## Checklist:

- [ ] My code follows the guidelines of this project
- [ ] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [ ] All current GitHub actions pass
- [ ] Any dependent changes have been merged and published in downstream modules
- [ ] I have checked my code and corrected any misspellings
- [ ] I have read the [CONTRIBUTING](../CONTRIBUTING.md) document
30 changes: 30 additions & 0 deletions .github/workflows/docker-linux.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
name: Build and deploy linux buildroot docker image

on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
schedule:
- cron: "0 1 * * 1"
workflow_dispatch:

jobs:
Build_and_publish_dahliaOS_buildroot_docker_image:
runs-on: ubuntu-latest
steps:
- name: 'Checkout GitHub Action'
uses: actions/checkout@main

- name: 'Login to GitHub Container Registry'
uses: docker/[email protected]
with:
registry: ghcr.io
username: ${{github.actor}}
password: ${{secrets.GITHUB_TOKEN}}

- name: 'Build Docker Image'
run: |
docker build . --tag ghcr.io/dahliaos/linux:latest
docker run ghcr.io/dahliaos/linux:latest
docker push ghcr.io/dahliaos/linux:latest
63 changes: 63 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
FROM ubuntu:latest

RUN apt-get update && \
apt-get upgrade -y && \
apt-get install -y \
build-essential \
bash \
bc \
binutils \
bzip2 \
cpio \
g++ \
gcc \
git \
gzip \
locales \
libncurses5-dev \
libdevmapper-dev \
libsystemd-dev \
make \
mercurial \
whois \
patch \
perl \
python3 \
python3-dev \
rsync \
sed \
tar \
vim \
unzip \
zip \
wget \
curl \
bison \
flex \
file \
libssl-dev \
libfdt-dev \
libgtk-3-dev \
clang \
syslinux-utils \
libelf-dev

# Sometimes Buildroot need proper locale, e.g. when using a toolchain
# based on glibc.
RUN locale-gen en_US.utf8

ENV USER root

RUN git clone git://git.buildroot.net/buildroot --depth=1 --branch=master /root/buildroot

# copy and run the flutter manager script
COPY scripts/dahlia_flutter_manager.sh /root/dahlia_flutter_manager.sh
RUN bash ./root/dahlia_flutter_manager.sh install

COPY buildroot/.config /root/buildroot/.config
# copy the config also to /buildroot_output because it will use that config to build
COPY buildroot/.config /buildroot_output/

WORKDIR /root/buildroot

RUN ["/bin/bash"]
21 changes: 21 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
OUTPUT_DIR=/buildroot_output

DOCKER_RUN=docker run \
--security-opt seccomp=unconfined \
--rm \
-ti \
--volumes-from buildroot_output \
-v $(pwd)/images:$(OUTPUT_DIR)/images \
ghcr.io/dahliaos/linux:latest

.PHONY: build

pull:
docker pull ghcr.io/dahliaos/linux:latest

volumes:
docker run -i --name buildroot_output ghcr.io/dahliaos/linux:latest /bin/true

build: pull volumes
@echo "make O=$(OUTPUT_DIR)"
$(DOCKER_RUN) make O=$(OUTPUT_DIR)
Loading

0 comments on commit 50a0ef4

Please sign in to comment.