In commit 0aa61abe7 (armbian-audio-config: Massively speed up script)
this script was changed to not call amixer for each control, but just
once for each card, feeding commands for many controls in one invocation
with the `--stdin` option.
In that commit, two errors were introduced:
- Controls that were intended to be muted were turned on instead. This
affects the "CD", "Mic" and "Internal Speaker" controls.
This occured because there is a helper shell function whose arguments
were renumbered, but the last argument kept the old numbering,
keeping it always at the default value of "on", even when it should
have been "mute".
- Controls with a space in their name would be ignored. In the original
script, arguments (including these names) were quoted and passed
separately to the `amixer` command. Now, they are quoted when passed
to `echo`, but that produces an unstructured line with the quoting
removed that can no longer be correctly parsed by amixer for names
with spaces.
This commit fixes both problems be correctly numbering the arguments and
adding an additional layer of quoting.
- this issue was introduced by commit 7e9ebe1
- the variable sduuid is supposed to start with "UUID="
- fixed now by prepending UUID= to $sduuid, if the "raw" $sduuid is not empty
closes AR-1611
Previously, the u-boot binary files used to chainload u-boot for the
amlogic tv boxes were the ones produced by balbes150 in his old
tv box builds. There was no source code for them.
This commit is the first to convert from those old binary files
to newly built ones along with a u-boot patch file and instructions
on how to build/rebuild them. Eventually this needs to be incorporated into
the build framework to automate it. But for now one step at a time.
Changes to be committed:
new file: packages/bsp/aml-s9xx-box/boot/build-u-boot/readme.txt
new file: packages/bsp/aml-s9xx-box/boot/build-u-boot/u-boot-s905x-s912.patch
deleted: packages/bsp/aml-s9xx-box/boot/u-boot-readme.txt
modified: packages/bsp/aml-s9xx-box/boot/u-boot-s905x-s912
Co-authored-by: Igor Pečovnik <igor@armbian.com>
This is needed to bring this board in line with the expectations of
the new main build (armbian-next), which dropped uImage from meson64
kernel packages.
Changes to be committed:
modified: packages/bsp/aml-s9xx-box/boot/extlinux/extlinux.conf
* Don't display RX today: Error: No interface matching when wrong NIC is detected
* Improve checking
* Address shellcheck problem
* Switch conditions order
* Fix variable $root_partition_device to be a device path
- variable $root_partition_device is intended to be a
device path as /dev/$root_partition_device_name
* Fix determination and usage of variable $sduuid
- a) lookup mmc devices excluding the mmc device probably providing
the current root partition
- b) if there is no sduuid determined by this lookup,
then lookup any mmc partition matching /dev/mmcblk*p1
- c) move the sduuid calculation to the script header
to enable usage for scenario selection filtering
- d) hide installation scenario #1 selection,
if $sduuid is empty, since $sduuid is essential for that scenario
* Hide current root partition device from destination selection
- add new variable $root_partition_name
- use this variable to filter current root partition
from destination selection in check_partitions()
* Fix behavior in case of no available partition
- The logic in check_partitions() in case of no available
partition is improved not to fail for a hidden reason
and UX for fresh disk devices is improved
- Fix the calculation of $FREE_SPACE for devices without or
with an empty partition table
- Ask the user to proceed AFTER the minimum free capacity
required is verified
- Improve the logic for auto-creating initial partitions
as follows:
1. Check for a minimum free space of 4GB for a partition
2. Ask user to proceed with auto-created partition(s) or not
3. Distinguish between UEFI and non UEFI device
4. Create a partition of full free size for non UEFI devices also
* Add support for MTD char driven flash
- replace $spicheck by $mtdcheck
- add probable MTD char device partitions to $mtdcheck
- update comments and dialog content:
- replace "SPI Flash" by "MTD Flash"
- replace call of "create_armbian 'spi' ..." by "create_armbian 'mtd' ..."
- update description for /dev/nand1 /dev/nand2 as "legacy SUNXI NAND"
- additional parameters passed to import function "write_uboot_platform_mtd":
$3 - Log file name
$4 - SPACE separated list of all MTD device partition(s)
- function check_partitions():
- remove file system filter on lsblk commands
for listing probable target partitions
- fix typo "Destnation" -> "Destination"
- fix indentation on if scopes
fixes#4576
There is no way to support this on s905 TV Boxes while reusing the
android u-boot as the android uboot on s905 conflicts with the partition
table location of standard mainline linux.
Changes to be committed:
modified: config/sources/families/meson-gxl.conf
deleted: packages/bsp/aml-s9xx-box/root/install-aml-s905-emmc.sh
* 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.