* 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.
* Revert "Calculate patches changes only on first level since this fails when including subfolder. Bug in sort. Needs to be reworked once"
Return `megous` patches
This reverts commit 2eae831889.
* Sunxi 5.10: Fix ISO C90 forbids mixed declarations and code
* 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>
All warning:
debug> grep warning: compilation.log | wc -l
152
A large number of garbage warnings:
debug> grep warning: compilation.log | grep IEEE80211_MAX_AMPDU_BUF | wc -l
103
After v4.19 linux kernel, this definition is not required.
Check:
list="$(find drivers/net/wireless/realtek/ -type f)"
for f in $list;do awk -v f=$f '/IEEE80211_MAX_AMPDU_BUF/{print f}' $f;done
drivers/net/wireless/realtek/rtlwifi/base.c
drivers/net/wireless/realtek/rtl8723cs/include/wifi.h
Only one drivers/net/wireless/realtek/rtlwifi/base.c file uses
the definition IEEE80211_MAX_AMPDU_BUF_HT.
or
See `git log -p b8042b3da925f390c1482b -3` command in
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git
Signed-off-by: The-going <48602507+The-going@users.noreply.github.com>
* Rework patches for sunxi 5.15.4
* Rework patches sunxi for 5.15.5
* Kernel switch tag=v5.15.5 for sunxi EDGE
* Temporarily disabled, requires rework.
drivers/clk/sunxi-ng/sun8i-de33.c: In function ‘sunxi_de33_clk_probe’:
drivers/clk/sunxi-ng/sun8i-de33.c:155:8:
error: implicit declaration of function ‘sunxi_ccu_probe’;
did you mean ‘of_sunxi_ccu_probe’? [-Werror=implicit-function-declarati>
ret = sunxi_ccu_probe(pdev->dev.of_node, reg, ccu_desc);
^~~~~~~~~~~~~~~
of_sunxi_ccu_probe
cc1: some warnings being treated as errors
make[3]: *** [scripts/Makefile.build:277:
drivers/clk/sunxi-ng/sun8i-de33.o] Error 1
make[2]: *** [scripts/Makefile.build:540: drivers/clk/sunxi-ng] Error 2
* Correct the comment.
* Add a series of patches for sunxi 5.10
Patches from the repository
https://github.com/megous/linux branches of orange-pi-5.10
* Patches adapted to the kernel version v5.10.81
* Remove unnecessary patches 5.10.19-5.10.75
* Kernel switch tag=v5.10.81 for the current sunxi
* Adjust broken patches, build tested on sunxi and sunxi64
* Remove patch added by mistake
Co-authored-by: Igor Pecovnik <igor.pecovnik@gmail.com>
* 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
* rework to fix regulator and frequency issues
* rework nanopi-r2s, roc-cc and roc-pc patches to accomodate dmc dtsi changes
* map gpu as cooling device
* fix dmc 600 Mhz opp node min voltage
* imported Rockchip project patches from libreelec
* disable duplicate/unapplicable patches and rework others
* add patches for tinkerboard, miqi and xt-q8l-v10 to enable hevc, hevc_mmu and rga nodes
- starting from Home Assistant OS (HASSOS) setup/patchset, which is stable with pure-mainline
- *huge thanks* to Stefan Agner (@agners) from Home Assistant for his work and help with this
- CONFIG_DRM_MESON=y fixes the order of shutdown callbacks, allowing it to reboot without patches
- this increases the kernel size a bit, due to some dependencies like DRM=y
- remove the shutdown revert patch, allowing other meson64 boards to mainline-reboot
- add fdt/no-map patch fixing the dreaded "SError Interrupt on CPU4" panics that plagued the N2
- move the N2 to mainline u-boot on current (rebased, already done)
- add SPI-enabling DTB variants, which allow writing to SPI NOR flash (and usage instructions in comments)
- add UBOOT_TARGET_MAP and write_uboot_platform_mtd to current, for nand-sata-install to SPI/USB goodness
- remove the UHS-enabling patch, to avoid 1.8v vs 3.3v mess. Make sure to use only A1-rated SD cards as recommended.
- change default cpufreq governor for 24h+ stability
- other patch cleanups:
- move deprecated/non-applying patch to need-check
- remove the HardKernel ODROID-specific reboot driver and DTS patches (odroid-reboot.c) which are now useless.
- remove documentation-only patches (we have enough patches in meson64 without those)
- remove duplicated SAR ADC patches
- remove multiple different and conflicting patches for DTS and emulated-PWM GPIO fan
- now using simple on/off GPIO fan at 30 celsius, unrelated to passive cooling
* remove 0-rever-rk3328.dtsi-.patch
* split rk3328-dtsi-mmc-vdec-usb3-tweaks.patch into different specific patches (sdmmc-ext, mmc-reset, power domains, usb3 resets)
* split rk3328-audio-and-renegade-supplies.patch into specific roc-cc audio and supplies patch and general rk3328 spdif patch
* add "dtsi" infix to rk3328 patches that deal with dtsi files
* add back mali gpu operating points patch
* add workaround against default MAC Address (userland utility bdaddr does not work to set MAC Address as expected)
* enable bits for xt-q8l-v10 board (ap6330/bcm4330 part), switching AP6330 bluetooth to btbcm driver using serdev
facilities to avoid userspace machinery with deprecated hciattach tool, added bits to enable driver support in kernel.
Removed ap6330 bluetooth service from bsp packages, added initramfs-tools hook to include bcm4330b1.hcd firmware in initramfs
* Backporting patch to 5.10 kernel makes sense. Lets do it.
Co-authored-by: iamdrq <iamdrq@qq.com>
Co-authored-by: Igor Pecovnik <igor.pecovnik@gmail.com>
* Bumping EDGE kernel to 5.14.y
Meson64:
- removing Odroid reboot shutdown patch since its probably not needed anymore
Rockchip64:
- removing Rockpi S. No interest to maintain this any further
- removing PBP suspend. Doesn’t align. Need inspection if some other way was mainstreamed
- temporally removing Orangepi R1
* Re-adding rockpis, pbp suspend, HFLPS170 wifi and cleanup
* Removing deprecated patch, fixing ap6256 wifi
* Re-enable Opi R1 plus, untest
* Add and fix Radxa Zero
* Add support for Radxa Zero
u-boot: new patch based on v2021.04
kernel: use patches sent to kernel list by chewitt
Tested with minimal build and cinnamon desktop:
- SD/eMMC, ok
- USB3, works in USB 2 mode
- HDMI, ok
- WiFi/BT, ok
Signed-off-by: Jack Ma <jack@radxa.com>
* Add build targets
* Cleanup and set min speed to 666000
* Change to WIP target
Support status undetermined
Co-authored-by: Jack Ma <jack@radxa.com>
- fix/dup bootscript, since new u-boot fixed n2_plus to n2-plus variant
- g12b: if n2 and edge, enable new u-boot; include non-SD version as SPI binary; write_uboot_platform_mtd
- Kernel DTS patch to add SPI-flash-enabled DTBs (slower eMMC), produces -spi .dtbs for n2 and n2-plus
- This could also be an overlay, but I dunno overlays.
- SPI+USB3 boot works with "pendrive" storage, untested with cabled/high power USB->SATA or USB->NVMe
Signed-off-by: Ricardo Pardini <ricardo@pardini.net>