-
Notifications
You must be signed in to change notification settings - Fork 16
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
This is PR contains the changes for the EBcL release 1.3. With this update, the SDK and the image build process got a major rework. The image build was completely revised to solve the needs of building complex embedded images. All example images are updated to make use of the new image concept. A public SDK documentation is added using Github pages and mdbook. Also the dev container concept got a major rework. The dev container and dev tooling is not developed as separate public git repositories, which makes the ebcl_template really a template. Instead of providing a pre-built container, the container is cloned and built locally when the workspace is opened fo r the first time. ## ToDos: - [ ] rebuild RDB2 images with EBcL 1.3pre2 and check that RDB2 images are working - [x] new app development concept - [x] test and complete sysroot build ### Documentation - [x] Developing apps - [x] Embdgen overview - [x] EBcL build tools overview - [x] Update README ### Workspace - [x] VS code task integration not working ## Ideas for EBcL SDK 1.4 - [ ] GH actions for build tools, vscode tools and dev container releases - [ ] image images/arm64/nxp/rdb2/network: add only required kernel modules to final image - [ ] cominit support - [ ] Yocto-style SDK, like elbe does - [ ] example images using EB Hypervisor - [ ] arm64 build host support ### Build Tools - [ ] fix initrd modules dependencies ### EBcL build tools proxy - [ ] check apt signatures - [ ] HTTP apt proxy - [ ] proxy add local package - [ ] proxy record sessions - [ ] restore proxy from sessions ### EBcL build tools root generator - [ ] use deboostrap instead of kiwi-ng or elbe - [ ] us a minimal busybox environment instead of debootstrap ### EBcL template workspace - [ ] example image using docker and read-only root filesystem - [ ] example image using podman and read-only root filesystem - [ ] more robust setup and update of the workspace and container ### Documentation - [ ] Workspace overview - [ ] Dev Container overview - [ ] Embdgen overview - [ ] EBcL build tools overview --------- Signed-off-by: Thomas Irgang (thir820) <[email protected]> Signed-off-by: Simone Weiß <[email protected]> Co-authored-by: Tom Irgang <[email protected]> Co-authored-by: Simone Weiß <[email protected]> Co-authored-by: Matthias Beckert <[email protected]> Co-authored-by: Matthias Beckert <[email protected]>
- Loading branch information
1 parent
6f874c8
commit 6a2e1a0
Showing
630 changed files
with
12,823 additions
and
4,013 deletions.
There are no files selected for viewing
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,45 +1,41 @@ | ||
// For format details, see https://aka.ms/devcontainer.json. For config options, see the | ||
// README at: https://github.com/devcontainers/templates/tree/main/src/ubuntu | ||
{ | ||
"name": "EB corbos Linux SDK 1.2", | ||
// Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile | ||
"image": "linux.elektrobit.com/ebcl/sdk:1.2", | ||
// Features to add to the dev container. More info: https://containers.dev/features. | ||
// "features": {}, | ||
// Use 'forwardPorts' to make a list of ports inside the container available locally. | ||
// "forwardPorts": [], | ||
// Use 'postCreateCommand' to run commands after the container is created. | ||
// "postCreateCommand": "uname -a", | ||
// Configure tool-specific properties. | ||
"name": "EB corbos Linux SDK 1.3", | ||
// DO NOT MODIFY THE TAG!!! | ||
// The local container tag and used upstream container version is defined in .env. | ||
"image": "linux.elektrobit.com/ebcl/sdk:local", | ||
// This script will get the container and tag it with the local container tag. | ||
"initializeCommand": "${PWD}/init_workspace", | ||
"postCreateCommand": "${PWD}/init_container", | ||
"postStartCommand": "${PWD}/enter_container", | ||
"customizations": { | ||
// Configure properties specific to VS Code. | ||
"vscode": { | ||
// Set *default* container specific settings.json values on container create. | ||
"settings": { | ||
"editor.formatOnSave": true, | ||
"files.insertFinalNewline": true, | ||
"[makefile]": { | ||
"editor.insertSpaces": false, | ||
"editor.detectIndentation": false | ||
} | ||
"cmake.options.statusBarVisibility": "visible", | ||
"cmake.configureOnOpen": false | ||
}, | ||
// Add the IDs of extensions you want installed when the container is created. | ||
"extensions": [ | ||
"ms-vscode.makefile-tools", | ||
"ms-vscode.cpptools-extension-pack" | ||
"[email protected]" | ||
] | ||
} | ||
}, | ||
// Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root. | ||
"remoteUser": "ebcl", | ||
"privileged": false, | ||
"privileged": true, | ||
"mounts": [ | ||
{ | ||
// Local storage for kiwi build VM images | ||
"source": "ebcl-build-boxes", | ||
"target": "/home/ebcl/.kiwi_boxes", | ||
"type": "volume" | ||
}, | ||
{ | ||
// Bind-mount the /dev folder, to get access to losetup devices | ||
"source": "/dev", | ||
"target": "/dev", | ||
"type": "bind" | ||
} | ||
], | ||
"workspaceMount": "source=${localWorkspaceFolder},target=/build/workspace,type=bind,consistency=cached", | ||
"workspaceFolder": "/build/workspace" | ||
"workspaceMount": "source=${localWorkspaceFolder},target=/workspace,type=bind", | ||
"workspaceFolder": "/workspace" | ||
} |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
export WS_VERSION="1.3" | ||
export BUILD_CONTAINER=1 | ||
export REBUILD_CONTAINER=0 | ||
export PULL_CONTAINER=0 | ||
export CONTAINER_TAG="v1.3.6" | ||
export CONTAINER_BRANCH="v1.3.6" | ||
export LOG_LEVEL="INFO" | ||
export COPY_SSH=1 | ||
export EBCL_REPO_URL="http://linux.elektrobit.com/eb-corbos-linux" | ||
export EBCL_VERSION="1.3" |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,66 @@ | ||
# Sample workflow for building and deploying a mdBook site to GitHub Pages | ||
# | ||
# To get started with mdBook see: https://rust-lang.github.io/mdBook/index.html | ||
# | ||
name: Deploy mdBook site to Pages | ||
|
||
on: | ||
# Runs on pushes targeting the default branch | ||
push: | ||
branches: | ||
- main | ||
- SDK_1.3 | ||
|
||
# Allows you to run this workflow manually from the Actions tab | ||
workflow_dispatch: | ||
|
||
# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages | ||
permissions: | ||
contents: read | ||
pages: write | ||
id-token: write | ||
|
||
# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued. | ||
# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete. | ||
concurrency: | ||
group: "pages" | ||
cancel-in-progress: false | ||
|
||
jobs: | ||
# Build job | ||
build: | ||
runs-on: ubuntu-latest | ||
env: | ||
MDBOOK_VERSION: 0.4.37 | ||
MDBOOK_IMAGE_SIZE_VERSION: 0.1.0 | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- name: Install mdBook | ||
run: | | ||
curl --proto '=https' --tlsv1.2 https://sh.rustup.rs -sSf -y | sh | ||
rustup update | ||
cargo install --version ${MDBOOK_VERSION} mdbook | ||
- name: Install mdbook-image-size | ||
run: | | ||
cargo install --version ${MDBOOK_IMAGE_SIZE_VERSION} mdbook-image-size | ||
- name: Setup Pages | ||
id: pages | ||
uses: actions/configure-pages@v5 | ||
- name: Build with mdBook | ||
run: mdbook build | ||
- name: Upload artifact | ||
uses: actions/upload-pages-artifact@v3 | ||
with: | ||
path: ./book | ||
|
||
# Deployment job | ||
deploy: | ||
environment: | ||
name: github-pages | ||
url: ${{ steps.deployment.outputs.page_url }} | ||
runs-on: ubuntu-latest | ||
needs: build | ||
steps: | ||
- name: Deploy to GitHub Pages | ||
id: deployment | ||
uses: actions/deploy-pages@v4 |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,17 +1,65 @@ | ||
sysroot*/**/* | ||
!sysroot_x86_64/.gitkeep | ||
!sysroot_aarch64/.gitkeep | ||
|
||
# do not ignore .gitkeep files: | ||
result*/** | ||
!result/.gitkeep | ||
!result/image | ||
result/image/* | ||
!result/image/.gitkeep | ||
!result/app | ||
result/app/* | ||
!result/app/.gitkeep | ||
!sysroot_aarch64/.gitkeep | ||
!sysroot_x86_64/.gitkeep | ||
results*/** | ||
!results/.gitkeep | ||
!results/images | ||
results/image/* | ||
!results/images/.gitkeep | ||
!results/packages | ||
results/packages/* | ||
!results/packages/.gitkeep | ||
!results/apps | ||
results/apps/* | ||
!results/apps/.gitkeep | ||
!apt/.gitkeep | ||
!bin/.gitkeep | ||
|
||
images/berrymill* | ||
|
||
book | ||
.venv | ||
!/.venv | ||
|
||
log.html | ||
output.xml | ||
report.html | ||
interactive_console_output.xml | ||
|
||
**/__pycache__ | ||
**/__pycache__/**/* | ||
*.pyc | ||
|
||
# tasks are generated by tools/tasks/generate_tasks.py | ||
.vscode/tasks.json | ||
|
||
.vscode/settings.json | ||
|
||
.coverage | ||
htmlcov | ||
|
||
initrd.img | ||
|
||
/state | ||
|
||
/tools | ||
|
||
*.swp | ||
|
||
**/temp/ | ||
|
||
# Ignore additional images and apps and created submodules | ||
.gitmodules | ||
/images/user | ||
/apps/user | ||
/images/extra | ||
/apps/extra | ||
/images/ebcl-* | ||
|
||
|
||
fakedit | ||
/work* | ||
|
||
.mypy_cache |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
/build/venv |
This file was deleted.
Oops, something went wrong.
Oops, something went wrong.