Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

OLIMEX Teres A64: Official support #4756

Closed
wants to merge 804 commits into from
Closed

Conversation

Kreyren
Copy link
Contributor

@Kreyren Kreyren commented Jan 26, 2023

Details
Details

My effort to implement an official armbian support for OLIMEX Teres A64, the end goal is to provide a minimal armbian image using current stable release

Checklist

  • End-Goal reached

    • Minimal image with current kernel and stable debian
      • Address issue of non-working WiFi (replace armbian-firmware with firmware-realtek?)
    • Minimal Image with current kernel and stable ubuntu
    • Full GNOME Desktop image with current kernel and testing debian (stable gnome is too slow) + optimizations
      • Disable animations by default
      • Remove firefox and replace it with epiphany-browser as firefox is too heavy to the point of disfuctionality
    • Full XFCE4 Desktop image with current kernel and stable debian
  • Misc

    • Replace firmware-armbian with firmware-realtek as we only need the non-free driver for the WiFi/BLE rtlwifi/rt18723bs[2]
    • Install pulseaudio and configure it to use Pro Audio output by default
    • Add myself in CODEOWNERS
      • ./config/boards/olimex-terex-a64.conf
    • Update the armbian website
    • Change extension of ./config/boards/olimex-teres-a64.csc to .conf signaling an official support
    • rtw_enusbss parameter removed from options on RELEASE=bookworm as it's not recognized
    • include wpasupplicant for debian as it's not possible to connect to the wifi without it

How to help

Testing of the image

To capture any bugs i need testers if you want to help then:
1. Install the provided image on a class 10 A1 or higher SDCard and use it to boot the system using command # dd if=/path/to/file/img of=/dev/SDCARD_HERE conv=sync status=progress && sync
* Armbian_23.02.0-trunk_Teres-a64_bullseye_current_5.15.89_minimal.img
* Armbian_23.02.0-trunk_Teres-a64_bullseye_current_5.15.89_minimal.img.sha
* Armbian_23.02.0-trunk_Teres-a64_bullseye_current_5.15.89_minimal.img.txt

  1. DO NOT update/upgrade the system! (apt update or apt upgrade or apt dist-upgrade)
    * We need reproducible results and updates will only introduce variables to the testing

  2. Pick a desktop environment for testing:

    • GNOME (tested by @Kreyren - No evident issues were noticed)
    • XFCE4 (tested by @Kreyren - No evident issues were noticed)
    • KDE (wanted)
    • others?
  3. Report any bugs

Help solving issues

No Audio

The current image has no audio which is currently being investigated, if you have any relevant info then let me know

The issue has been identified as a configuration issue with pipewire+alsa+pulseaudio where pulseaudio's audio configuration needs to be set on Pro Audio for the sound to work.

JACK is still not working and needs to be investigated..

  • Add pulseaudio package to the build for this board

GNOME

Laggy af

The animations needs to be disabled for it to be usable or the gnome build optimized

SOLVED: Got much better in newer GNOME release to the point of usability, but animations should still be disabled and more research done in terms of optimizations

Suspension doesn't work

Closing the lid and opening it after ~8 hours results from full battery to nearly none instead of preserving the charge through suspending the system activities.

How to contribute

a. Clone the repository

  • $ git clone --branch=armbian-next https://github.com/armbian/build armbian-build-next

b. Build the image

  • $ ./combile.sh docker-shell

optionally this is the current most functional build:

./compile.sh BOARD=teres-a64 BRANCH=current RELEASE=bookworm BUILD_MINIMAL=yes BUILD_DESKTOP=no KERNEL_ONLY=no KERNEL_CONFIGURE=no COMPRESS_OUTPUTIMAGE=sha,img

c. Put the image on your OLIMEX Teres A64 system

  • # dd if=./armbian-build-next/output/images/armbian..img of=/dev/SDCARD_HERE conv=sync status=progress

Relevants

  1. This source code has been highlighted as relevant to making a hardware-specific optimizations -- https://github.com/armbian/build/blob/master/packages/bsp/common/usr/lib/armbian/armbian-hardware-optimization#L375
  2. Information on the non-free driver on the community olimex wiki -- https://olimex.miraheze.org/wiki/Products/Teres-1#Non-Free
  3. The command pactl set-card-profile <card> <profile> can be used to change the profile of a card

Checklist:

  • My code follows the style guidelines of this project
    • rpardini flooded your merge request with garbage and closed it
    • No POSIX compilance
    • Software Specification? What is that?
    • Call krey a troll if he proposes rewrite in scheme which is recommended frameworking language by the GNU project and fits the design much better
  • 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
  • Any dependent changes have been merged and published in downstream modules

Superseeds: #4749

…from_repo()` handles submodules separately

- also remove `du` working copy size debugging
… can find `.gitconfig` and Python can find `git`

- add sanity check before handling the Git repo in Python (call `status()` to make sure access is OK)
…ut` to original pre-sudo UID before exiting, even with failure/abort
… using NetworkManager

- why is it even installed? dunno, but fix anyway.
…he dir in ./cache; use unbuffered stdout/stderr
…ground.sh` executable, otherwise does nothing
…g & escaping for git add/commit/format-patch

- seems like I indulged in the same mistakes I've been correcting for years ("&> /dev/null") - d'oh
…`armv7-a` so uboot compiles with modern gcc

- have absolutely no idea if this works. there's also some other `armv5` variants to try if this does not.
- XU4's CPU is Exynos5422 ARM Cortex-A15 which should be armv7-a indeed, so why not?
- i.MX 6 series is ARM Cortex-A9 or Cortex-A7, which should be armv7-a indeed, so why not?
- ARMADA A388 is 32-bit Cortex A9, which should be armv7-a indeed, so why not?
…` instead of `export`

- config might run on a non-Linux, bash-capable, GNU coreutils enabled machine, so avoid `linux-version`
- use `declare -g` instead of `export` for most of `prepare_and_config_main_build_single()`
…-enabled machine; remove some useless vars from dump
rpardini and others added 11 commits January 26, 2023 22:27
…t unconfirmed)

- docker: curb logging about stdin
…ion`, `rootfs_cache_id` and `rootfs_out_filename_relative`
…e patches; archeology: `--find-copies-harder`; try to get GHA to run GH pages

- try to convince GHA to actually run my kernel patching summary workflow on push
…c on Darwin; enable for `docker-shell` and `kernel-patches-to-git`

- don't check/verify/update SSH-related hostkey etc for git tree push
…for `kernel-patches-to-git` / archeology; use fast archeology

- include FAST_ARCHEOLOGY in call to Python, default yes; sync kernel & u-boot call
@Kreyren
Copy link
Contributor Author

Kreyren commented Jan 26, 2023

In such a case - how can I do testing? I have a spare Teres and want to see it work. -- @alshopov (#4749 (comment))

Sorry had to make a new merge request so that it's developing against armbian next :p

Check back in ~30 min i will upload image and update the original post with it to test and if you get any relevant informations to the known issues then let me know

@rpardini rpardini force-pushed the armbian-next branch 2 times, most recently from 5605ccf to 34bd971 Compare January 27, 2023 19:07
@rpardini
Copy link
Member

@Kreyren if you're targeting armbian-next, you gotta be familiar with rebases.
armbian-next is right now rebased on master at least once a day.
so if you target it on a PR, every time we rebase, you're gonna be out of date, by some 300 commits or more.
You gotta then rebase your branch, and push.
I will then cherry pick (not merge) your changes.
I suggest you read, in full: https://git-scm.com/book/en/v2/Git-Branching-Rebasing (and the whole book too).

Also, send consolidated rational changes in chunks that make sense.

@rpardini rpardini closed this Jan 28, 2023
@Kreyren
Copy link
Contributor Author

Kreyren commented Feb 1, 2023

@rpardini Change this back to draft i will manage the issue of (seemingly insane) rebasing though blocking changes from maintainers and then sync it prior to submission

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

6 participants