* Split out decompress code from `download_and_verify`
* Clean the code to recieve keys
* Split out `aria2_options` array
* Tweak `aria2_options`
* `download_and_verify` always require `asc` file
* Download torrent from multi origin
* Refactor `get_urls` which renamed from `webseed`
* Add Github source to download rootfs cache
* Remove some useless check
* Change the argument of `download_and_verify`
* We don't need `complete` file
* Delete files when verification failed
* Adapt the refactored `download_and_verify`
* Remove useless config `ARMBIAN_MIRROR`
* Bugfix: verify never fail
* Specify directory argument instand of cd
* Add gdm3 as conflicting desktop package
Remove it from package base
To do: testing
* Add SKEL distribution to all existing users to the postinst script
+ fix permissions
* Enable PSD
* Move all 3rd party sources to CLI image
This will prevent from installing snap versions
* Bring PSD to remaining and address bug in postinst
* 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>
* Lint
* Rename: rootfs-cache for finding local cache easily
* Search local caches if we can't download any remote caches
* Use github api to get cache list instand of just try
* Use 0000 as default version to generate rootfs cache
* Use YYYYMMDD as rootfs version
* Rewrite the process
* Check local and remote cache at same time
* Add quote for jq to avoid a strange bug
* Remove creation of .current file
* Add package versions and silense debsums by default
* Typo
Co-authored-by: Igor Pecovnik <igor.pecovnik@gmail.com>
* Solve compatibility issues for some of wifi patches, disable those that needs more work
* Fix 8812au
* Update to re-enable RTL88x2CS driver for 5.19.2+
* Add 8723ds and rename others
* Following naming convention
* Name
* Adjust UWE5622 for 5.19.2
* Update UWE5622 patch for sunxi
* Enable last one
* Fixes for 8723DU
Co-authored-by: Vyacheslav Bocharov <adeep@lexina.in>
* First part of rootfs cache refactoring
* Add support for checking previous caches.
* New default starting number
* Move back to n
* Add zstd compressor to the host dependencies
* Change cache compression to ZST
* Cleaning cache support
* sunxi-5.19: Initial state for megous patches
* Add the ability to do 5.19
* Move to 5.19
- tested both
- removed broken Opi Zero xradio driver https://armbian.atlassian.net/browse/AR-1280
* sunxi-5.19: fix tag for switch
* sunxi-5.19: Initial state for armbian patches
* sunxi-5.19: Add armbian patches to series.conf file
* sanxi-5.19: Add other 2 patches
* sunxi-5.19: Limit to use the 'wireless/xradio' module
Limit the kernel version to less than 5.19 to use
the 'wireless/xradio' module
Co-authored-by: Igor Pecovnik <igor.pecovnik@gmail.com>
* Cache creation cleanup
Closing https://github.com/armbian/build/issues/3531
* Remove monthoffset parameter from action script
* - address displaying which variant is needed
- remove not needed text
- change ROOT_FS_CREATE_ONLY to yes / no
* Remove deprecated functionality
Since we are storing version number outside, we don't neet to deal with month cache rebuild here. Removing the code
* Change cron to more appropriate date
We tend to make releases by the end of the month, so cache rebuild in the middle is better then at the start of the month
* Typo in packaga name
* WIP: Test for packages integrity just before closing images
* Working debsum check
* Dialog is not needed
* Optimisations - uninstall debsums as we don't need it later on
* Cosmetics
Assuming this is related to both Ubuntu and Debian
Co-authored-by: Werner <EvilOlaf@users.noreply.github.com>
* Add support for month cache, limit push to master branch
* Bump cache version
* Add calculator
* Control file can't be zero lenght
* Remove non-existing package
* Remove non-existing pkg
* Wrong secret used
* Fix broken packages
* Improve download methods. No more errors
* Fix mechanism for using old cache files
* Refactor patches
* Fix bug: the USB closed to the HDMI doesn't work
* Fix bug: cpufreq doesn't work
* Fix bug: thermal_zone doesn't work
* More frequency governors
* Add bootscript
* Fix bug: add missing dependency
needed for gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf
* Update kernel configs
* Switch sunxi edge to 5.18.y
* Move sunxi to 5.18.y and re-enable AUFS
* Change version - temporally to make a build from here
* Update config
* 88xx was fixed in the mean time.
* Put version back
* Fix sunxi legacy, disable aufs on 5.10.y since its broken
* Upstream changed in the mean time
* Add a patch to enable 8821cu compilation at 5.18
https://github.com/armbian/build/pull/3814
* Re-enable CONFIG_RTL8822BU in edge
* Update CONFIG_RTL8XXXU
* Bump imx6
* Bump uefi kernels to 5.18.y
* Bump mvebu64 and switch odroid xu4 to 5.18
In the case when there are more than one pair of brackets,
the regular expression removes the names between the extreme
pair brackets. And dependencies cannot be installed.
Currently, the syntactic analysis of the resulting dependency
string is performed correctly by the installation function itself.
A regular expression is not needed here.
* Remove debug code
* Replace duplicate query
* Oh-my-zsh configuration has been changed. Adjusting our modifications
* Address changes to git client in a better way
* modifications of firstrun scripts
* Further making use of systemd statements to order firstboot scripts
* allow systemd ordering of ssh to avoid restarting in firstrun script
* suggested changes, add wants=first-boot-complete
* Remove SSH keys in debootstrap process
Co-authored-by: Igor Pecovnik <igor.pecovnik@gmail.com>
* Better manifest and fix for rsyslog.conf
Commit info about builder
Somebody does not use rsyslog...
* Bug fix for SRC_EXTLINUX=yes with BOOTFS_TYPE=...
* sunxi-5.17: Add series patches rtw88, rtw89 drivers
* Fix sunxi-5.17 for v5.17.4 version
* Print the error message and its contents
* rtl8822bs: used if kernel version less 5.16
Restrict the use of the wifi driver" "rtl8822bs" for
the kernel version less than 5.16
* Add reg_ahci_5v status okay for bananapro board
* Bananapro: add AXP209 regulators
* Fix series.conf, Disable the patch that is not being applied.
* Fix linux-sunxi64-edge.config for v5.17.3
* Fix linux-sunxi-edge.config to v5.17.3
* Switch EDGE to core 5.17 for sunxi
* Remove the old rtl8723cs driver which is incompatible with the new kernel and cannot be used.
* Use AUFS if the kernel version is less than 5.16
* Print the last 20 lines of the log if the kernel compilation failed.
* Set KERNEL_VERSION_LEVEL to 5.17
Co-authored-by: Igor Pecovnik <igor.pecovnik@gmail.com>
* Remove conflicting package
Aptly does not want gnupg1 that is shipped with Jammy anymore. We need to check what does that means for generating repos
* Fixing broken chroot dependency for Jammy
* Remove rng-tool package. It seems not relevant anymore
https://git.kernel.org/linus/c51f8f88d705e06bd696d7510aff22b33eb8e638
* Add missing packages creation to build train
* Improved HASH calculation
Now it also checks series which were before invisible.
* Revert
* Bugfix
* Save git hash of patch files and kernel configuration file (#3636)
* Save git hash of patch files and kernel configuration file
* Storing values to the file. Now we have config hash separate.
todo: adjust on the checking side
Co-authored-by: Igor Pecovnik <igor.pecovnik@gmail.com>
Co-authored-by: The-going <48602507+The-going@users.noreply.github.com>
* Add tested Docker files for current Debian / Ubuntu, defaulting to Jammy
* Update update-docker.yml
* Update update-docker.yml
* Solving with Docker run parameters
* Just variable name change
* Update update-docker.yml
* Change to master
Also merge https://github.com/armbian/scripts/pull/6
* Set default values
* Add missing libssl1.1
* Detach Jammy from focal due to package changes
Fix font package name
* Resolve broken packages for Jammy / i3 / gnome / xmonad
printer-gnome is also obsolete
* Bump rootfs cache number
* Rename "git" to "improved_git" if the command accesses a remote server
* Rename by meaning
* fetch_from_repo: Remove dependency for related functions.
* waiter_local_git: Add an option for the whole family
if present in the configuration
* Correct the comment
* Fix rename git to improved_git
* Prepare xu4 edge for 5.16.y, move current of imx6 to 5.15.y and edge to 5.16.y
- fix bootsplash on 5.16.y
* rk322x: advance current to 5.15 and edge to 5.16
* rockchip: advance current kernel to 5.15, edge to 5.16
* - adjust configs
- fix bootsplash patches
- adjust aufs
* Switch sunxi / sunxi64 current to 5.15.y, edge to 5.16.y
- cleanup bootsplash patches
- adjust configs
* Update mvebu64
Co-authored-by: Paolo Sabatino <paolo.sabatino@gmail.com>
* Remove an aged patch from use #3443
Allwinner-Add-frame-inversion-to-correct-audio-chann.patch
* Rename and prepare for the series 5.15
* Split and rename files for sun50i-h616-dtsi
* Split and rename files for sunxi overlays
* Remove mutually exclusive patches
* Add fifty redesigned patches to the series
Signed-off-by: The-going <48602507+The-going@users.noreply.github.com>
* Remove fifty-four old patches
* Fix compile error
* Delete unused ones and sort if possible for megous series
* sunxi-5.15: Sort, fix compile warning, remove unused
* Rework print log for patching
* Move artefact creation directory into from deboostrap into configuration
This is needed to support function of early checking for artefacts. Useful for CI
* Introduce IMAGE_PRESENT parameter which we can use when creating a lot of images so we don't need to recreate whole CI if one image fails
* waiter_local_repo: Fixed incomplete logic
Signed-off-by: The-going <48602507+The-going@users.noreply.github.com>
* A series of patches for sunxi v5.15.16
Signed-off-by: The-going <48602507+The-going@users.noreply.github.com>
* DEBUG
* check 70
* check 101
* Add 101 Armbian patches as series
Patches are renamed using the logic of the file structure
and the essence of the changes, sorted in the order
of their receipt. Fixed a lot of incorrect overlay
of some pieces in patches. Several small patches are
combined, because they changed one file.
Signed-off-by: The-going <48602507+The-going@users.noreply.github.com>
* Remove old patches that have been reworked into a series
Signed-off-by: The-going <48602507+The-going@users.noreply.github.com>
* Fix for apply to v5.15.17
* Two Bluetooth-BTRTL patches for sunxi will be applied in the series.
Signed-off-by: The-going <48602507+The-going@users.noreply.github.com>
* check 113
* Fix print output
* Revert "DEBUG"
This reverts commit 49e2c7fdc0.
* Add initial series patches for sunxi-5.16
Signed-off-by: The-going <48602507+The-going@users.noreply.github.com>
* Now all patches are applied to the v5.16 kernel without errors
Signed-off-by: The-going <48602507+The-going@users.noreply.github.com>
* Handle an exception if the initial tag is the top of the branch.
Remove the handling of the old exception.
Signed-off-by: The-going <48602507+The-going@users.noreply.github.com>
* sunxi64_common.inc: Fix for 5.16
* sunxi-common.inc: Fix for 5.16
* Revert debug for EDGE: KERNEL_VERSION_LEVEL to "5.15"
* Add new patches from megous and switch to v5.16.1
Signed-off-by: The-going <48602507+The-going@users.noreply.github.com>
* waiter_local_repo: Fixed comment
Signed-off-by: The-going <48602507+The-going@users.noreply.github.com>
* Bugfix - toolchain download only from a single source
* - replaced hardcoded continent value with dynamic
- set https download as default since its downloading from multiple closest servers by default
* Refactor armbian-bsp-cli package creation
- added general distro status for all in separate file inside BSP
- remove branch and distro specifics
* Looking for prebuild pack
* Small fixes
* separate joint and own lists for architecture
Signed-off-by: The-going <48602507+The-going@users.noreply.github.com>
* Remove duplicate selection
* Final add Installing build dependencies
* libncurses: Do not use transitional package
Signed-off-by: The-going <48602507+The-going@users.noreply.github.com>
* add arch i386: Remove duplicate selection
* lib32ncurses-dev: Dependency only for amd64
* install_pkg_deb: parameter verbose to log
* Sync kernel config with radxa and remove packaging patch
* Merge the rockchip64 legacy config as well
* Lower priority of EFI partitioning against DOS partitioning which is used by Armbian
Co-authored-by: Catalin Toda <catalinii@yahoo.com>
This was previously done automatically with BUILD_ALL but since we are building images differently, we need a new name. BUILD_ALL covers other functions, so we need to detach and make a new VARIABLE.
* Remove the garbage from the `install.log` file
You cannot use `--info=progress2` for the `rsync`
command when all output is sent to a file.
This creates a large garbage file.
Signed-off-by: The-going <48602507+The-going@users.noreply.github.com>
* Changes megous reverse commit. Just disable the patch
commit bd592ec43b76b298be29126e667850113b84376d (tag: orange-pi-5.15-20211125-1352)
Author: Ondrej Jirman <megous@megous.com>
Date: Thu Nov 25 13:51:59 2021 +0100
Revert "rtw88: Add more channels"
This reverts commit cb1e3839822d4f782a9af6c27568540414093ba6.
* Add new option UBOOT_MIRROR to select mainline U-Boot mirror
- set to `github` to use mirror provided by GitHub, the same as `USE_GITHUB_UBOOT_MIRROR=yes`.
- set to `gitee` to use mirror provided by Gitee, a Chinese git service.
- leave it unset to use offical `source.denx.de`.
* Add GITHUB_MIRROR option
Usage similar to UBOOT_MIRROR.
* Add REGIONAL_MIRROR option
Chinese users (the main user of mirror options) can have use this one instead of configure many different options.
We had an issues with some mirrors on exceeding its predicted size for several times. EDGE kernels are updated very often, so we have a lot of packages. Which actually have no point to be stored for a very long time
- try this on your bash shell:
- `ONEVAR="testing" eval 'bash -c "echo value once $ONEVAR && false && echo value twice $ONEVAR"' '| grep value' '| grep value' ; echo ${PIPESTATUS[*]}`
- Notice how PIPESTATUS has only one element. and it is always true, although we failed explicitly with false in the middle of the bash.
- That is because eval itself is considered a single command, no matter how many pipes you put in there, you'll get a single value, the return code of the LAST pipe.
- Lets export the value of the pipe inside eval so we know outside what happened:
- `ONEVAR="testing" eval 'bash -e -c "echo value once $ONEVAR && false && echo value twice $ONEVAR"' '| grep value' '| grep value' ';EVALPIPE=(${PIPESTATUS[@]})' ; echo ${EVALPIPE[*]}`
- also: pass LC_ALL=C LANG=C to avoid locale warnings
Signed-off-by: Ricardo Pardini <ricardo@pardini.net>
CONFIG_DEBUG_INFO_BTF relies on libelf-dev and pahole (provided by dwarves
package).
This commit add dwarves package both as hostdeps and to Dockerfile.
- disabling samba on desktop builds since it delays 1st login and throws out an error in case we have no network (laptop usage)
- disabling broken build target
- now we have proper amd64 repo published!, remove disable
- amd64 does not have dtb package anymore, don't try to install it from repo
Signed-off-by: Ricardo Pardini <ricardo@pardini.net>
* extensions framework (née "fragments")
- this should actually change nothing at this point, just add capabilities
- the framework is implemented in lib/extensions.sh
- the "if function x exists then call x" replaced with call_extension_method()
- +inline documentation
- +compatibility names
Signed-off-by: Ricardo Pardini <ricardo@pardini.net>
* extensions framework; meta-extensions: auto-docs and sample extension gen
- 2 extensions dealing with extensibility itself
- detect-unused-extensions: shows which extensions are enabled, but never called.
- gen-sample-extension-docs: generates a sample empty extension & Markdown documentation for extensions
Signed-off-by: Ricardo Pardini <ricardo@pardini.net>
* new extension methods and features via config variables in core Armbian
- `SKIP_EXTERNAL_TOOLCHAINS=yes` - does not download or use any linaro toolchains, only build host-installed ones
- `SKIP_BOOTSPLASH=yes` - does not patch kernel for splash file
- `EXTRA_BSP_NAME=xyz` - allows for BSP variants, useful for when extensions modify the BSP
- `EXTRA_ROOTFS_MIB_SIZE=x` - add x mib's to rootfs size, for use with very small images
- `KERNEL_EXTRA_TARGETS` - what extra targets to make kernel for, default to "modules dtbs"
- `BOOTCONFIG=none` - does not build nor install u-boot; also doesn't handle bootscripts et al
- `unset KERNELSOURCE` - does not build nor install kernel, nor build initrd, nor build nor install firmware
- `ARMHF_ARCH=skip` - does not add armhf to apt/dpkg, thus pure arm64
- `SKIP_ARMBIAN_REPO=yes` - results in armbian.list.disabled in the final image
- define `APT_EXTRA_DIST_PARAMS` with apt-cacher-ng options and use it for `PACKAGE_LIST_INSTALL/REMOVE` et al
- initial support for targeting x86/amd64 UEFI and BIOS
- some do's/don'ts for x86/amd64, like a different `UBUNTU_MIRROR` default
- GPT/EFI(ESP) partitions (fat, `UEFISIZE=256` to enable, mount `UEFI_MOUNT_POINT=/boot/efi`, first on disk but ends
up at `$uefipart`=15)
- GPT/BIOS partitions (fat, `BIOSSIZE=1` to enable, second on disk but ends up at partition 14)
- `UEFI_FS_LABEL="armbiefi"` - to set the FAT label for the EFI partition, visible in Win/Mac
- hard-requires gdisk package host-side
- add add_host_dependencies() extension method; fill `EXTRA_BUILD_DEPS="pkg pkg2"` to install to host before toolchains
download
- add pre_prepare_partitions() extension method, for custom partition size calculations
- add create_partition_table() extension method, used to do full-custom partitioning if `USE_HOOK_FOR_PARTITION=yes`
- add post_create_partitions() extension method, mostly for easy debugging
- add post_write_sdcard() extension method, where you can also set `SKIP_VERIFY=yes` to skip sdcard verification
- add post_install_kernel_debs() extension method.
- multiple fixes to bsp to avoid spurious errors when files are not where it expects
- v4: detect `update-initramfs` failure and abort build with useful message if it does
- v4: show useful stacktrace in `exit_with_error`
- if `ERROR_DEBUG_SHELL=yes`, drop into a shell before unmounting/deleting everything, so we can inspect what went wrong
- v4: display a message before `apt-get remove PACKAGE_LIST_BOARD_REMOVE` packages, so any errors while removing are easy to understand
- v4: preserve kernel .config's dates when copying
Signed-off-by: Ricardo Pardini <ricardo@pardini.net>
* extensions framework; refactor tool fetching/building into extensions
- a few examples of core refactoring using extensions
- sunxi-tools extension, enabled by 2 different sunxi family includes ("reuse" example)
- marvel-tools extension, enabled by 2 different mvebu family includes
- rkbin-tools extension, enabled by rockship64_common family include
- amlogic-fip/c2-blobs stuff refactored directly into meson64_common.inc ("single-use" example)
- removed the 'testings' fetch_from_repo completely since not used anywhere.
Signed-off-by: Ricardo Pardini <ricardo@pardini.net>
* .wip's for UEFI arm64 and UEFI/BIOS x86 via new GRUB extension
- v3: added `growroot`-awareness to `armbian-resize-filesystem`
- the partition-growing part of `armbian-resize-filesystem` does not deal correctly with the UEFI layout
- `growroot` is installed on UEFI images by default, that handles growing partition during initramfs
- now `armbian-resize-filesystem` handles `resize2fs` only, and works.
- v4: reworked UEFI board/family/include structure:
- use Distro's `linux-generic` kernel only for `current`
- `edge` now builds it's own pure-mainline `5.15.y` kernel, for both x86 and arm64
- `.config` taken from Ubuntu, probably needs tuning for EXTRAWIFI=yes et al
- v4: introduce `SKIP_KERNEL_SYMLINK=yes`, tested in `builddeb`
- to avoid symlinking kernel; u-boot likes it, but grub and flash-kernel hates it
- v5: many fixes
- v7: more small fixes.
Signed-off-by: Ricardo Pardini <ricardo@pardini.net>
* .wip for the RaspberryPi 4B via new flash-kernel extension
- this does not build it's own kernel "yet", but uses default linux-raspi kernel from Ubuntu
- flash-kernel is not really a bootloader
- it just prepares kernel et al a FAT partition for booting by the RPi4b bootloader
- flash-kernel is standard Debian package, but has only been tested on Ubuntu releases
- it is really only known-working since Hirsute release.
- Debian's rpi kernel is armhf only, so out of scope here, at least until we add source-built kernels.
- v3: fixed focal rootfs build. untested.
- v3: better variable names, preparing for source-built kernel.
- v5: new edge build with pure mainline kernel.
- v6: many fixes and some hacks for packaging and layout, also firmware (using Ubuntu's)
Signed-off-by: Ricardo Pardini <ricardo@pardini.net>
* Added first patch to edge x86 related to wifi drivers
* extensions: leave hostapd alone; remove hackish ext; block reentrancy
- package-list-utils does not belong in this PR
- grub or bcm2711 is not the place to remove hostapd
- block recursive enable_extension() calls, for now.
Signed-off-by: Ricardo Pardini <ricardo@pardini.net>
* gen-sample-extension-docs: fix: avoid counter in generated sample
Signed-off-by: Ricardo Pardini <ricardo@pardini.net>
* extensions: dependencies: enable_extension() in extensions with a stack
- and better stacktraces, I hope
Signed-off-by: Ricardo Pardini <ricardo@pardini.net>
* Remove code from package list since we don't have it in repository
Adjust kernel config to disable driver that needs further polishing.
* Allow amd64 to build the same desktops as aarch64. We only have this limit for armhf, where some desktops don't work
* amd64: allow building amd64 on aarch64 with system toolchain
- conditionally add gcc-x86-64-linux-gnu to hostdeps
Signed-off-by: Ricardo Pardini <ricardo@pardini.net>
* add libelf-dev directly to hostdeps (and Dockerfile), remove extension
Signed-off-by: Ricardo Pardini <ricardo@pardini.net>
* packaging: remove SKIP_KERNEL_SYMLINK hack, fix the root cause
- which was the missing $image_name for non-arm64 & non-arm, so: x86 for example
Signed-off-by: Ricardo Pardini <ricardo@pardini.net>
* grub: really obliterate u-boot stuff from BSP
- for now. soon we'll refactor u-boot so not have to do this
Signed-off-by: Ricardo Pardini <ricardo@pardini.net>
* flash-kernel: really obliterate u-boot stuff from BSP
- for now. soon we'll refactor u-boot so not have to do this
Signed-off-by: Ricardo Pardini <ricardo@pardini.net>
* extensions: add host_dependencies_ready() hook
- this passes FINAL_HOST_DEPS containing all hostdeps for the run after they're installed
Signed-off-by: Ricardo Pardini <ricardo@pardini.net>
* Add verification functions for correct selection.
* If UEFI Skip symlink creation
* Do not create dtb package for amd64
* Skip scripts folder cleaning if build process native.
Skip creating postinst prerm scripts for headers.
* Skip applying headers-debian-byteshift.patch if build native
* Fix architecture syntax as x86_64
* Revert "amd64: allow building amd64 on aarch64 with system toolchain"
This reverts commit 0c5ee20bb1.
* Compare architectures before starting compilation.
Signed-off-by: The-going <48602507+The-going@users.noreply.github.com>
* extensions: cleanups after fixes by the-Going
- packaging:
- there is _no need_ anymore for the symlink hack, CONFIG_EFI or no. But check is great, see below
- it's not `amd64` that has no DTB's, it's all UEFI, thus: `is_enabled CONFIG_EFI`, thanks!
- Explicitly disallow "reverse cross compile" in amd64.conf.
- whitespace-only-deletions: revert. we shall shellfmt the whole thing one day, but not today.
- fix a few syntax warnings in newly introduced code (floating `$ARCH` vs `"${ARCH}`) - blame shellcheck
Signed-off-by: Ricardo Pardini <ricardo@pardini.net>
* packaging: fix: turns out a lot of boards have CONFIG_EFI=y, can't use that for dtb/no-dtb decision.
Signed-off-by: Ricardo Pardini <ricardo@pardini.net>
* grub: remove debug
Signed-off-by: Ricardo Pardini <ricardo@pardini.net>
* firmware: allow installing `armbian-firmware-full`; make it really full
- can now use `BOARD_FIRMWARE_INSTALL="-full"` to install full firmware for the board. enable for UEFI.
- don't rely on KERNELSOURCE for firmware-related decisions. introduce `INSTALL_ARMBIAN_FIRMWARE` which defaults to `yes`
- rpi4b/flash-kernel: disable Armbian firmware; we need linux-firmware-raspi2, which conflicts.
Signed-off-by: Ricardo Pardini <ricardo@pardini.net>
* extensions: log to /${LOG_SUBPATH}/ instead of fixed /debug/
Signed-off-by: Ricardo Pardini <ricardo@pardini.net>
* extensions: introduce cleanup_extension_manager() called by build-all-ng's unset_all()
- to reset/unset everything done by the the initializer, so build can run again
Signed-off-by: Ricardo Pardini <ricardo@pardini.net>
* extensions: remove 'global' logging, for use with build_all_ng
- enable_extensions() will have to live on without logging to file. it's just too early.
- now init EXTENSION_MANAGER_TMP_DIR in initialize_extension_manager()
- now init EXTENSION_MANAGER_LOG_FILE in initialize_extension_manager()
Signed-off-by: Ricardo Pardini <ricardo@pardini.net>
* extensions: build-all-ng.sh bugfix due to extension's debug to stdout
- extensions (among other things) can produce output to stdout when activated
- fix: check_hash() produced "idential" (sic, now changed to IDENTICAL) to stdout as a trigger
- debugging output got mixed with "idential", rendering hash cache void for families that used extensions
- eg: sunxi, others
- fix is to send stdout to the bitbucket when sourcing the board & arch config files
- proper fix would be stop using stdout in this case and use return code for check_hash()
- one day soon
Signed-off-by: Ricardo Pardini <ricardo@pardini.net>
* Add CI build targets
Co-authored-by: Igor Pecovnik <igor.pecovnik@gmail.com>
Co-authored-by: The-going <48602507+The-going@users.noreply.github.com>
This helps when we have no time to work on certain branch patches right now, while all others builds without a problem.
We create a file this way:
c0c6fd3a02
- try this on your bash shell:
- `ONEVAR="testing" eval 'bash -c "echo value once $ONEVAR && false && echo value twice $ONEVAR"' '| grep value' '| grep value' ; echo ${PIPESTATUS[*]}`
- Notice how PIPESTATUS has only one element. and it is always true, although we failed explicitly with false in the middle of the bash.
- That is because eval itself is considered a single command, no matter how many pipes you put in there, you'll get a single value, the return code of the LAST pipe.
- Lets export the value of the pipe inside eval so we know outside what happened:
- `ONEVAR="testing" eval 'bash -e -c "echo value once $ONEVAR && false && echo value twice $ONEVAR"' '| grep value' '| grep value' ';EVALPIPE=(${PIPESTATUS[@]})' ; echo ${EVALPIPE[*]}`
- also: pass LC_ALL=C LANG=C to avoid locale warnings
Signed-off-by: Ricardo Pardini <ricardo@pardini.net>
* Add new function apply_patch_series
* Apply a series of patches if a series.conf file exists
* Add all megous orange-pi-5.15 branch patches as series
* Add an Exception for version 5.15 for sanxi
* Adjust the switch for sunxi
* Fix megous patches series for v5.15.3
* Switch version to 5.15.3 for sunxi
* Check the exception for 5.15 sunxi
* Allocate repository cleanup to a separate function.
Signed-off-by: The-going <48602507+The-going@users.noreply.github.com>
* Add a waiter function to serve a shallow local git repository.
Signed-off-by: The-going <48602507+The-going@users.noreply.github.com>
* Configuration shallow repository in sunxi64_common.inc file
Signed-off-by: The-going <48602507+The-going@users.noreply.github.com>
* Configuration shallow repository in sunxi_common.inc file
Signed-off-by: The-going <48602507+The-going@users.noreply.github.com>
* An example of using the function of creating a shallow local repository.
This example is a very bad crutch.
It is necessary to come up with another option for permanent use.
Signed-off-by: The-going <48602507+The-going@users.noreply.github.com>
* Fix variable KERNELSOURCENAME as 'name=megous' for sunxi32
Signed-off-by: The-going <48602507+The-going@users.noreply.github.com>
* Required variables cannot be empty
Signed-off-by: The-going <48602507+The-going@users.noreply.github.com>
* Print an action message.
Signed-off-by: The-going <48602507+The-going@users.noreply.github.com>
* Store changelog for upstream changes in the cache/hash/
* Cleanup
* Calculate urls
* Use URL
Don't merge since it doesn't work properly yet
* Check if OLDHASHTARGET commit exists otherwise use oldest
* Fix log updating
* Improve log format, add better support for sunxi
* introduce DEB_COMPRESS for dpkg-deb+kernel's KDEB_COMPRESS
- Avoids zstd which is now default in Ubuntu Impish, but can't be read by Debian dpkg
- Allows for xz, gzip, or none; defaults to xz; use gzip for faster, and none for much faster.
Signed-off-by: Ricardo Pardini <ricardo@pardini.net>
* use KDEB_COMPRESS in packages/armbian/builddep for 5.12+ kernels too
Signed-off-by: Ricardo Pardini <ricardo@pardini.net>
- Escape $TERM, this is meant to be resolved at runtime and not in armbian/build's context
- This was very hard to track down, if building manually $TERM is actually valid (builder's $TERM)
- When building without a tty this shows up as "unknown"
Signed-off-by: Ricardo Pardini <ricardo@pardini.net>
That lead to glued packagelist when build images in a row.
[ o.k. ] Installing the desktop packages for [ Armbian ]
Reading package lists...
Building dependency tree...
Reading state information...
E: Unable to locate package remminaanacron
Host machines with 4Gb physical memory are unable to build all images. During workiin on CI improvements it was noticed that runners with just 4Gb of memory are unable to create rootfs cache or make an images even that should be sufficient. Memory reservations are set very conservatively and we can keep that since adding a swap into the equation proves to be enough. If host machine is running Armbian (which will be in most cases) our ZRAM / ZSWAP memory management takes care of securing that extra needed memory.