* armbian-audio-config: Massively speed up script
This script calls amixer to set various mixer volumes, by simply trying
a bunch of mixer names for each sound card in the system. In practice,
this meant the amixer command was called 158 times for each sound card.
The overhead of all these forks and probably also amixer startup added
together to produce a noticable slowdown in startup.
For example on an Orange Pi PC, the script took about 6 seconds per
soundcard. This was on a system with a few extra USB soundcards (6 alsa
cards in total):
$ time bash ./armbian-audio-config.original
real 0m35.662s
user 0m20.145s
sys 0m15.145s
This commit modifies the script to spawn amixer only once per alsa card,
passing all the mixer set commands through stdin. This pretty much
completely kills the slowdown. On the same 6-card system:
$ time bash ./armbian-audio-config
real 0m0.406s
user 0m0.345s
sys 0m0.229s
* armbian-audio-config: Add quotes to fix lint errors
image file instead of Image as some of the included uboot files do not support the Image format and require the uImage.
Changes to be committed:
modified: packages/bsp/aml-s9xx-box/boot/extlinux/extlinux.conf
Commit c909864922 removed a prompt
asking the user if they want to change display settings, but didn't
remove the checks that later used the answer. Since it's been like
this for 2 years now apparently without issue, remove the checks and
the shellcheck workaround.
Make the two Y/n questions that firstlogin asks behave consistently
with each other, and more in line with user expectation:
- Reject anything that is not Y, y, N, n or <enter>. Previously the
"Connect via wireless? [Y/n]" question would interpret Y, y and
<enter> as "yes", and everything else as "no", whereas the
"Set user language based on your location? [Y/n]" question would
loop until the user selected Y, y, N or n.
- Make pressing enter equivalent to the default "Y", since that
is the capitalized option.
- Echo back what the user typed.
* Enable additional motd tips showing some internal ads
33% probability of showing, just like for the armbian-config
* Update quotes and add expiration date support
* Change variable names
* Add support to download quotes from our server
* Fix curl parameters
* Keep only weekly update
* `armbian-audio-config`: do nothing if aplay/amixer/alsactl missing; shfmt
* `armbian-hardware-optimization`: fix for `case` without `esac` introduced in #4417; `shfmt`
Without this, when mkimage fails (for example because the boot partition
is too small), install.log shows an error like:
mkimage: Write only 16310208/17794920 bytes, probably no space left on the device
But this does not terminate the build, so the compile script shows no
error and an image is generated, but it is unbootable.
This runs the script with -e, so when mkimage fails, the script fails,
which makes update-initramfs fail, which makes the build fail.
* Proposal to create a Community Supported config for Amlogic based
TV Boxes to pickup the work that was done previously by balbes150
but is no longer supported by him.
This also provides a place where development can occure within the
Armbian framework since others on the internet are producing builds
called Armbian that are not done from within the Armbian community.
Changes to be committed:
new file: config/boards/aml-s9xx-box.tvb
modified: config/sources/families/include/meson64_common.inc
modified: config/sources/families/meson-gxl.conf
new file: packages/bsp/aml-s9xx-box/boot/aml_autoscript
new file: packages/bsp/aml-s9xx-box/boot/emmc_autoscript
new file: packages/bsp/aml-s9xx-box/boot/extlinux/extlinux.conf
new file: packages/bsp/aml-s9xx-box/boot/s905_autoscript
new file: packages/bsp/aml-s9xx-box/boot/u-boot-readme.txt
new file: packages/bsp/aml-s9xx-box/boot/u-boot-s905
new file: packages/bsp/aml-s9xx-box/boot/u-boot-s905x-s912
new file: packages/bsp/aml-s9xx-box/boot/u-boot-s905x2-s922
new file: packages/bsp/aml-s9xx-box/root/fstab.template
new file: packages/bsp/aml-s9xx-box/root/install-aml-s905-emmc.sh
new file: packages/bsp/aml-s9xx-box/root/install-aml.sh
* Merge sources
Co-authored-by: Igor <igor@armbian.com>
* Fix to flush volatile journald to prevent full /var/log at startup
* re-introduce directory / in non-rsync copy, and exclude journal* in this copy
Note: this may need some testing if someone doesn't use rsync
* Fix for non-rsync copy to Disk, since journal cannot be copied onto itself
* Backed up journal files are removed with vacuum, so no need to delete them separately
* Make room at boot by removing old logs, in addition to the removal later
every 15 minutes
* remove old archived journal files modified more than 1 day ago
* make sure volatile logging is used, since journald sometimes turns persistent at boot
remove unused commented lines in ramlog
* Fix check for configured journald volatile logging
* revert #3799, the rsync --delete
* Exclude /var/log/journal from install, and create empty /var/log/journal directory when it exists during install
Co-authored-by: dennis laptop <dennis@smartstatetechnolgy.nl>
Co-authored-by: Igor Pečovnik <igorpecovnik@users.noreply.github.com>
Co-authored-by: Dennis <bijwaard@gmail.com>
Co-authored-by: dennis laptop <dennis@smartstatetechnolgy.nl>
* Add support for apt-mark hold warning
- we need to know if kernel packages are on hold
- when upgrade is finished, fix numbers and update list
* Add postupdate hook
* Bugfix
* Bugfix
* Small refactoring
* Improve UX
* Improve detection and change wording
* RockPI-S board has no video I/O
* udev rule to fix MAC address of iface based on UUID
Deals with WiFi chip lacking any EEPROM to store its unique Ethernet MAC address
Generic mechanism -- could be utilized for other boards having similar issues
* Handy Device Tree overlays for the RockPI S
Use armbian-add-overlay to install these
Reduce CPU voltage for the RK3308 B-S
Option to overclock RK3308 B-S to 1.3Ghz
Increase SDIO clock rate from 1Mhz to 10Mhz
This increases WiFi throughput from 300K bytes/s to 2.4M bytes/s
* corrected comment
* No longer repeat standard opp's in this dts
Require that the standard bs dts already be installed
* User README for adding RockPI-S board variant specific dts overlays
* "enabled" --> "okay"
* added mention of sdnand.dts, fixed typo
* added p2p0 to interfaces whose MAC address should be "fixed"
* RK3308 CPU serial number in nvmem replaces UUID for derivation of fixed MAC addr
Restored use of install utility
* Use RK3308 specific CPU serial number
rather than rootfs UUID
* remove generic fixMACaddress
* Install fixMACaddr file-by-file via install utility
* Drive SDIO bus signals faster
setting RK3308_SOC_CON0_VCCIO3 reduces signal rise/fall times to WiFi SDIO chip
from 30ns to 5ns.
This odd fix forward ported from legacy kernel.
Allows Rock Pi-S WiFi to operate at full speed.
* Set RK3308 I/O voltage domains before SDIO initializes
This patch moves responibility form the io-domain to the pinctrl driver because
the io-domain driver is probed after the SDIO devices are discovered.
This was causing multiple SDIO I/O failures during boot.
A new pinctrl property is added:
io-1v8-domains
is a u32 interpreted as a bit mask where each set bit corresponds to
a 1.8V I/O domain (as opposed to the default of 3.3V for I/O)
The mask is writted to the RK3308_SOC_CON0 GRF register
(once) when the pinctrl driver starts
The default mask is 0x10 where only I/O domain 4 runs at 1.8V
This is necessary for the RockPI-S to run the SDIO clock at high (50Mhz) speed
* align whitespace
* factored rk3308bs overlays out up sdio speedup patch
* factored dts for RK3308 iodomains and pinctrl patches out of speedup patch
* remains of sdio speedup patch merely add iodomains support for rk3308
* factored rockpis dts modification out from rk3308 io voltage domains
replaced rk3308 support from iodomains with
new io-voltage-domains property added to pinctrl
io-voltage-domains specific to rk3308 for now, others SOCs may be added later.
* add sequence numbering to names of rk3308 patches
* corrected tab alignment
* Add fallback for debug upload
in case ix.io is unreachable
* Update packages/bsp/common/usr/bin/armbianmonitor
Co-authored-by: hzyitc <h1260071766@126.com>
* adjust url
* fix missing sentence
* Fix broken logic
* Set paste.armbian.com as default service
y
Co-authored-by: hzyitc <h1260071766@126.com>
Co-authored-by: Igor Pečovnik <igorpecovnik@users.noreply.github.com>
Co-authored-by: Igor <igor@armbian.com>
* Root partition is not recognised properly
* Add support for ARM64 UEFI install
Work if installed to eMMC, installs also to NVME (T4), but u-boot fails to init PCI. Also u-boot 2022.10
Needs more testings.
* Lets clean the drive before
* Add ssv6051p wifi driver for rockchip64 current and edge kernel
* also reorders and tidies device tree overlays for rk3318-box
* increase ssv6051 sdio bus to 50MHz in the driver
* Add preliminary support for UEFI install to nand-sata-install
Signed-off-by: Igor <igor@armbian.com>
* Add symbolic link
* Hardening and cleaning
* Removing obsolete NAND support
- create swal size of memory
- enable hibernation (S4) to have additional power saving mode
- enable GRUB search for another OS
* Move nand cleaning into separate commit
* Add support for UEFI install to eMMC
* Add support for install to empty UEFI target
Tested install to eMMC powered UP Square board
* Add UEFI improved script as standalone armbian-config
Once we are happy with functionality, remove the old and add a link
* Switch to a single 32 MB offset scheme.
* Improve readme
Signed-off-by: Igor <igor@armbian.com>
* Add wallpaper to grup, set fixed screen size, enable hidpi mode on lightdm
* Enable graphics terminal on UEFI x86, ARM64 can't test
* Missing folder
* Enable `Plymouth`
* Add proper HiDpi support and enable intel graphics auto probing
Tested on Intel and Nvidia, both works OOB. Plymouth works as expected, no text logs on screen, if OEM vendor logo is present, it picks it up auto, otherwise shows armbian (chip) logo
Co-authored-by: hzy <hzyitc@outlook.com>
* Install xfce4-power-manager by default on xfce desktop
- remove x11 config which is obsolete and prevent dkms functinality
- remove per board power manager install
* Update xfce4 configs
* Add plymouth-theme-armbian package
* Adjust all bootscripts to adapt plymouth
* Auto show logo accroding to BOOT_LOGO
* Enable plymouth detail mode when bootlogo=false
* Add a new board config var - HAS_VIDEO_OUTPUT
This var is used to indicate whether device has a HW video output.
If it's set to "no", we will disable kernel bootsplash, plymouth and BUILD_DESKTOP
* Rename package to be aligned with others
* Disable kernel bootloader, but keep the code for it
* Rather keep bootlogo in the kernel for a while, otherwise kernel upgrade will turn bootup into the darkness
Co-authored-by: Igor Pečovnik <igorpecovnik@users.noreply.github.com>
Co-authored-by: Igor <igor@armbian.com>
* bsp: quote pattern passed to grep
This fixes a regression from #4013
Signed-off-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
* bsp: refactor DISTRIBUTION_CODENAME logic
There's no need to repeat the check for /etc/armbian-distribution-status
over and over again, let's just use an if-statement instead.
Similarly, let's not repeat the logic to look up DISTRIBUTION_STATUS in
/etc/armbian-distribution-status; we can just do it at the end instead.
Signed-off-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
* bsp: only fallback to /etc/os-release if /etc/lsb-release failed
This fixes a regression from #3619
Signed-off-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
* bsp: only fallback to "lsb_release -c" if all else failed
Debian Bookwork and Sid both neither have the debian-edu-config package
by default (which provodes /etc/lsb-release in Debian), nor does their
version of base-files (12.2) contain the VERSION_CODENAME field.
So we need another fallback. We *do* have lsb_release, which can provide
this information as well. So let's do that, but add a check as well in
case neither the lsb-release nor the lsb-release-minimal packages is
installed on a user's system.
Signed-off-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Signed-off-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
* Show more informations in first-login
* Keep 1st login as minimal as possible.
* Add line space
Co-authored-by: Igor Pecovnik <igor.pecovnik@gmail.com>
* enable 5.19.y edge kernel for the radxa zero 2 builds
* Update packages
* Update packages
* Update packages
* Set wayland as default on KDE plasma
Co-authored-by: Igor Pecovnik <igor.pecovnik@gmail.com>
* Fix to flush volatile journald to prevent full /var/log at startup
* re-introduce directory / in non-rsync copy, and exclude journal* in this copy
Note: this may need some testing if someone doesn't use rsync
* Fix for non-rsync copy to Disk, since journal cannot be copied onto itself
* Backed up journal files are removed with vacuum, so no need to delete them separately
* Make room at boot by removing old logs, in addition to the removal later
every 15 minutes
* remove old archived journal files modified more than 1 day ago
* make sure volatile logging is used, since journald sometimes turns persistent at boot
remove unused commented lines in ramlog
* Fix check for configured journald volatile logging
* revert #3799, the rsync --delete
Co-authored-by: dennis laptop <dennis@smartstatetechnolgy.nl>
Co-authored-by: Igor Pečovnik <igorpecovnik@users.noreply.github.com>