GithubHelp home page GithubHelp logo

balena-odroid's Introduction

resin-odroid repository

Clone/Initialize the repository

There are two ways of initializing this repository:

  • Clone this repository with "git clone --recursive".

or

  • Run "git clone" and then "git submodule update --init --recursive". This will bring in all the needed dependencies.

Build information

balenaOS currently only builds with cgroups v1. If your distribution defaults to using cgroups v2, please boot with the following kernel command line argument: systemd.unified_cgroup_hierarchy=0

Containerized build

  • If you have a working docker installation, you can build in a containerized environment as follows: ./balena-yocto-scripts/build/balena-build.sh -d <device type> -s <shared directory>

    Where:

    • Device type is one of the supported devices with a valid <device type name>.coffee description file.
    • Shared directory is the absolute path to the build folder

Native build

To build all supported device types natively, please make sure your Linux distribution is supported by Yocto Project.

Additional host tools need to be installed for native builds to work.

  • Run the barys build script: ./balena-yocto-scripts/build/barys

  • You can also run barys with the -h switch to inspect the available options

Custom build using this repository

  • Run the barys build script in dry run mode to setup an empty build directory ./balena-yocto-scripts/build/barys --remove-build --dry-run

  • Edit the local.conf in the build/conf directory

  • Prepare build's shell environment source layers/poky/oe-init-build-env

  • Run bitbake (see message outputted when you sourced above for examples)

Build flags

  • Consult layers/meta-balena/README.md for info on various build flags (setting up serial console support for example) and build prerequisites. Build flags can be set by using the build scripts (barys or balena-build) or by manually modifying local.conf.

Contributing

Issues

For issues we use an aggregated github repository available here. When you create issue make sure you select the right labels.

Pull requests

To contribute send github pull requests targeting this repository.

Please refer to: Yocto Contribution Guidelines and try to use the commit log format as stated there. Example:

test.bb: I added a test

[Issue #01]

I'm going to explain here what my commit does in a way that history
would be useful.

Signed-off-by: Joe Developer <[email protected]>

Make sure you mention the issue addressed by a PR. See:

balena-odroid's People

Contributors

acostach avatar agherzan avatar alexgg avatar balena-ci avatar balena-renovate[bot] avatar emirotin avatar floion avatar flowzone-app[bot] avatar garethtdavies avatar klutchell avatar page- avatar renovate-bot avatar renovate[bot] avatar spanceac avatar telphan avatar vicgal avatar willnewton avatar zubairlk avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

balena-odroid's Issues

Old linux kernel (3.18) is not suitable with Docker usage. Better shift on mainline kernel.

I see that it is the old kernel 3.18 which is used maybe it is time to use mainline kernel. You cannot say that docker is supported on this resinOS because i had lots of problem with docker and odroid c1 with old kernel.

Old kernel cannot be used in Docker Swarm mode. The overlay networks are not working. This means Docker is not well supported on this release. I ran the https://raw.githubusercontent.com/moby/moby/master/contrib/check-config.sh

and there is missing a lot of module.

odroid-xu4 resin-image.bb:do_image_hostapp_ext4 fails

Tried building odroid-xu4 via barys, and the image generation failed with the following:

DEBUG: Executing python function set_image_size
DEBUG: Python function set_image_size finished
DEBUG: Executing shell function do_image_hostapp_ext4
0+0 records in
0+0 records out
0 bytes copied, 1.6342e-05 s, 0.0 kB/s
Loaded image ID: sha256:7c5249a5d0a76f2a43248c26614fce4cecf26beca8ca0bf3b4eff58bc6be34e4
+ SYSROOT=/mnt/sysroot/inactive
+ pid=7
+ sleep 5
+ balenad -s=overlay2 --data-root=/mnt/sysroot/inactive/balena -H unix:///var/run/balena-host.sock
time="2018-02-04T07:37:26.912989966Z" level=warning msg="could not change group /var/run/balena-host.sock to balena: group balena not found"
time="2018-02-04T07:37:27.042885733Z" level=info msg="libcontainerd: new containerd process, pid: 22"
time="2018-02-04T07:37:28.121243846Z" level=warning msg="failed to rename /mnt/sysroot/inactive/balena/tmp for background deletion: rename /mnt/sysroot/inactive/balena/tmp /mnt/sysroot/inactive/balena/tmp-old: no such file or directory. Deleting synchronously"
time="2018-02-04T07:37:28.123444031Z" level=error msg="'overlay' not found as a supported filesystem on this host. Please ensure kernel is new enough and has overlay support loaded."
Error starting daemon: error initializing graphdriver: driver not supported
+ hostapp-update -f /input -n
Cannot connect to the balena daemon at unix:///var/run/balena-host.sock. Is the balena daemon running?
Cannot connect to the balena daemon at unix:///var/run/balena-host.sock. Is the balena daemon running?
Cannot connect to the balena daemon at unix:///var/run/balena-host.sock. Is the balena daemon running?
invalid reference format
Deleted: sha256:7c5249a5d0a76f2a43248c26614fce4cecf26beca8ca0bf3b4eff58bc6be34e4
Deleted: sha256:e42e59479afe88262b877c7046da059d5e37f14f3ab5c3a706b32a7cf7d7ea73
Deleted: sha256:0714cbc18526aa96551a3e0de507ac54e6c8da09751b6540181d6151031af7dc
WARNING: exit code 1 from a shell command.
ERROR: Function failed: do_image_hostapp_ext4 (log file is located at /mnt/data/ryan/odroid-resin/build/tmp/work/odroid_xu4-poky-linux-gnueabi/resin-image/1.0-r0/temp/log.do_image_hostapp_ext4.29564)

This was a clean build from master (4867de4).

Dependency Dashboard

This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

Open

These updates have all been created already. Click a checkbox below to force a retry/rebase of any.

Detected dependencies

git-submodules
.gitmodules
  • layers/poky sumo@b39f4146de84d7b36861859ec669d9c8e2ca77c6
  • layers/meta-openembedded sumo@8760facba1bceb299b3613b8955621ddaa3d4c3f
  • layers/meta-odroid thud@f43a28ca491c7fd560173c6a8616c50d246488c7
  • layers/meta-balena master@a20f839eb56d1636e9905c4809e27c4c318977e8
  • balena-yocto-scripts master@58b4dd401dd6dd27262675b8061c7fddf5a593d4
  • contracts master@59752b7f99c1e5576c605a2f4188f9661468319f
github-actions
.github/workflows/build_and_deploy.yml
  • balena-os/github-workflows v0.0.27@0192d70429dd7bce1aee056ec3369514f682d48a
.github/workflows/esr.yml
  • balena-os/github-workflows master
.github/workflows/flowzone.yml
  • product-os/flowzone master

Avoid local.conf migrations by fixing the local.conf.sample

Currently the builds carries migrations of the local.conf:

NOTE: Your conf/bblayers.conf has been automatically updated.
NOTE: Your conf/bblayers.conf has been automatically updated.

This means that the sample one we are using are outdated.

Support for ODROID-HC1

Could you please add support for the ODROID-HC1? It is nearly the same as XU4 but optimized for NAS usage. All tested XU4 images run on it but not the balena-os one. Odroid doesn't even give the HC1 an own Wiki page because of the similarity.

Wrong for SERIAL_CONSOLE odroid-c1

The yocto BSP advertises the serial console as ttyAML0 while the BSP (kernel) actually exposes ttyS0. This breaks login on this device for development images.

Bluetooth Support by including kernel Modules

After using cat /proc/config.gz | gunzip to pull the following, I noticed with the help of Balena support that there are lines missing on the Odroid that are present on the Fin.

I understand this is the kernel configuration file and the versions don't match at the top.
The fin has:
4.14.98
The Odroid has:
4.19.1

I don't have enough experience to know if that may be an issue or not.

We need Bluetooth support for our application of this board, and including these modules seems like it might add that.

Relevant lines that are on the Fin but not the Odroid:

#
# CAN USB interfaces
#
# CONFIG_CAN_EMS_USB is not set
# CONFIG_CAN_ESD_USB2 is not set
CONFIG_CAN_GS_USB=m
# CONFIG_CAN_KVASER_USB is not set
# CONFIG_CAN_PEAK_USB is not set
# CONFIG_CAN_8DEV_USB is not set
# CONFIG_CAN_MCBA_USB is not set
# CONFIG_CAN_DEBUG_DEVICES is not set
CONFIG_BT=m
CONFIG_BT_BREDR=y
CONFIG_BT_RFCOMM=m
CONFIG_BT_RFCOMM_TTY=y
CONFIG_BT_BNEP=m
CONFIG_BT_BNEP_MC_FILTER=y
CONFIG_BT_BNEP_PROTO_FILTER=y
CONFIG_BT_HIDP=m
CONFIG_BT_HS=y
CONFIG_BT_LE=y
CONFIG_BT_6LOWPAN=m
# CONFIG_BT_LEDS is not set
# CONFIG_BT_SELFTEST is not set
CONFIG_BT_DEBUGFS=y

#
# Bluetooth device drivers
#
CONFIG_BT_INTEL=m
CONFIG_BT_BCM=m
CONFIG_BT_RTL=m
CONFIG_BT_HCIBTUSB=m
CONFIG_BT_HCIBTUSB_BCM=y
CONFIG_BT_HCIBTUSB_RTL=y
# CONFIG_BT_HCIBTSDIO is not set
CONFIG_BT_HCIUART=m
CONFIG_BT_HCIUART_SERDEV=y
CONFIG_BT_HCIUART_H4=y
# CONFIG_BT_HCIUART_NOKIA is not set
# CONFIG_BT_HCIUART_BCSP is not set
# CONFIG_BT_HCIUART_ATH3K is not set
# CONFIG_BT_HCIUART_LL is not set
CONFIG_BT_HCIUART_3WIRE=y
# CONFIG_BT_HCIUART_INTEL is not set
CONFIG_BT_HCIUART_BCM=y
# CONFIG_BT_HCIUART_QCA is not set
# CONFIG_BT_HCIUART_AG6XX is not set
# CONFIG_BT_HCIUART_MRVL is not set
CONFIG_BT_HCIBCM203X=m
CONFIG_BT_HCIBPA10X=m
CONFIG_BT_HCIBFUSB=m
CONFIG_BT_HCIVHCI=m
CONFIG_BT_MRVL=m
CONFIG_BT_MRVL_SDIO=m
CONFIG_BT_ATH3K=m
CONFIG_BT_WILINK=m

I am going to spend the next few hours/days trying to figure if I can make these changes myself (and how to build the kernel) to make this more of a pull request, but I don't expect to be successful.

Support odroid C2 for resin build

I've done some basic work in trying to get the odroid C2 booting resin, however I'm not terribly familiar with the resin build system. Using the master branch of resin-odroid, and simply adding the *.coffee files, I get an issue with recursive dependencies shortly after initializing tasks.

If I pull master of meta-odroid, I can get rid of the recursion error by adding
IMAGE_FSTYPES_remove_odroid-c2 = "sdcard"
to layers/meta-resin-odroid/recipes-core/images/resin-image-initramfs.bbappend, however when doing this, I will later get an issue with being unable to patch the kernel for AUFS support.

Any help or aid in getting this to build and run would be greatly appreciated.

Resin WebGL support.

Does the current iteration of the resin OS allow for support for WebGL in chrome or electron or chromium?

usb broken on reboot on xu4

At every few reboots usb is broken on xu4 (direct consequence is that eth is no longer available)

This was observed on 2.45.1+rev1 but may be happening in older versions

[ 4.477033] hub 3-1:1.0: USB hub found
[ 4.479736] hub 3-1:1.0: 2 ports detected
[ 5.862821] dma-pl330 3880000.adma: Loaded driver for PL330 DMAC-241330
[ 5.868000] dma-pl330 3880000.adma: DBUFF-4x8bytes Num_Chans-6 Num_Peri-16 Num_Events-6
[ 5.898165] dma-pl330 3880000.adma: PM domain MAU will not be powered off
[ 10.168152] xhci-hcd xhci-hcd.6.auto: Timeout while waiting for setup device command
[ 15.448138] xhci-hcd xhci-hcd.6.auto: Timeout while waiting for setup device command
[ 15.668116] usb 6-1: device not accepting address 2, error -62
[ 20.968142] xhci-hcd xhci-hcd.6.auto: Timeout while waiting for setup device command
[ 26.248138] xhci-hcd xhci-hcd.6.auto: Timeout while waiting for setup device command
[ 26.468114] usb 6-1: device not accepting address 3, error -62
[ 26.508307] usb usb6-port1: attempt power cycle
[ 32.088140] xhci-hcd xhci-hcd.6.auto: Timeout while waiting for setup device command
[ 37.368138] xhci-hcd xhci-hcd.6.auto: Timeout while waiting for setup device command
[ 37.588084] usb 6-1: device not accepting address 4, error -62
[ 42.888136] xhci-hcd xhci-hcd.6.auto: Timeout while waiting for setup device command
[ 48.168136] xhci-hcd xhci-hcd.6.auto: Timeout while waiting for setup device command
[ 48.388095] usb 6-1: device not accepting address 5, error -62
[ 48.428299] usb usb6-port1: unable to enumerate USB device
[ 48.472397] usb usb6-port1: config error
[ 48.551931] CP437: Invalid argument

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.