Commit Graph

1538 Commits

Author SHA1 Message Date
Paolo Sabatino
f3388b9aee add ssv6051 driver for kernel 5.10 and 5.15 2022-01-07 11:29:20 +01:00
Igor Pecovnik
2b4e9e6618
Bugfix - legacy kernels doesn't want to play nice with kernel options
When NFSD is enabled as module, kernel does not compile. But it works as build in. Since its pretty pointless to fix in the code, lets use this workaround.

FYI @patrickbkr
2022-01-04 19:57:10 +01:00
Patrick Böker
7698848a93
Unify NFS configuration (#3376)
* Unify NFS configuration
* Fix rk35xx kernel

Co-authored-by: Igor Pecovnik <igor.pecovnik@gmail.com>
2022-01-04 16:16:43 +01:00
Igor Pecovnik
5a6b9b2d78
sun50iw9 - bugfix - change phy driver to build-in since it breaks compilation when added as module 2021-12-30 21:23:27 +01:00
Oleg
08568a6005
add station m2\p2 (#3352) 2021-12-26 16:37:49 +01:00
catalinii
f6143eff67
Fix the uboot for rock-3a (#3271)
* 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>
2021-12-25 11:57:26 -05:00
Igor Pecovnik
1dc9110887
Bugfix on rk322x legacy - disable wireless driver that breaks on most recent compiler 2021-12-23 21:31:29 +01:00
Oleg
023de68882
switching Jetson Nano edge to kernel 5.15 (#3363) 2021-12-22 07:38:19 -05:00
Igor Pecovnik
62e6415360
Bugfix - disable broken wireless drivers in kernel config 2021-12-18 09:26:52 +01:00
Dan Pasanen
7be9e8b995
rockchip-[current,edge]: add pcie hack and lsi scsi/sas support (#3351)
* build: kernel: rockchip64-[current,edge]: add pcie bus scan delay patches

These are needed for cards like the LSI SAS2008 which needs a little
extra time to initialize or they'll cause a kernel panic.

References:
https://gitlab.manjaro.org/manjaro-arm/packages/core/linux/-/blob/master/0013-rk3399-rp64-pcie-Reimplement-rockchip-PCIe-bus-scan-delay.patch
https://gitlab.manjaro.org/manjaro-arm/packages/core/linux/-/blob/master/0022-arm64-dts-rockchip-Add-pcie-bus-scan-delay-to-rockpr.patch

* config: linux-rockchip64-[current,edge]: enable lsi sata/sas support
2021-12-16 05:17:33 -05:00
Leo
356cb4e868
Odroid XU4 update config for 5.15 (#3350) 2021-12-14 17:39:10 +01:00
Igor Pecovnik
f6f0835123
Disabling CONFIG_GCC_PLUGINS on (32b) rockchip
Related: 82766fc2e6
2021-12-14 15:35:59 +01:00
Oleg
30a9dae202
fix jetson nano current and edge (#3349) 2021-12-14 14:53:02 +01:00
Igor Pecovnik
82766fc2e6
Disabling CONFIG_GCC_PLUGINS on (32b) sunxi and mvebu CURRENT kernel due to issues
One probable option is to upgrade GCC compiler and open other troubles or dig in and solve the reason.
2021-12-14 14:46:26 +01:00
Oleg
4c913692af
fix kernel panic (#3344) 2021-12-14 00:12:34 +01:00
Paolo Sabatino
c8f48d8368 rk322x: add rtl8723cs and rtl8703bs serdev bluetooth support 2021-12-10 21:53:57 +01:00
Paolo Sabatino
095fa0df90
rk322x: enabled 8723cs driver module, ntfs rw option 2021-12-08 22:28:01 +00:00
Leo
e3674b0a83
Add NTSF3 and KSMBD modules for 5.15 (#3330) 2021-12-08 16:15:02 +01:00
Paolo Sabatino
3f7919153e
rk322x: update edge kernel 5.15 config
* disable external rtl8188eu driver in favor of updated staging r8188eu
* enabled back rtl8723cs driver
2021-12-08 13:40:19 +00:00
Ricardo Pardini
90e0fe0ba2
extensions framework + UEFI aarch64/x86 + rpi4b + core changes/fixes (#3300)
* 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>
2021-12-06 09:49:49 +01:00
Igor Pečovnik
59aaac2469
Change default kernel config to enable CONFIG_MODULE_FORCE_UNLOAD (#3310) 2021-12-04 12:11:49 +01:00
Aleksandr Makarov
29415e0a41
Enable support for Intel 10GbE family of adapters (#3278) 2021-11-21 19:56:43 +01:00
Igor Pecovnik
9dbb72b01c
Adjusting patches due to upstream changes to make mvbe family operational again
@heisath
2021-11-21 17:58:03 +01:00
simple
401fb1fde4
Fixed rt5651 codec build module (#3270) 2021-11-20 19:49:22 +01:00
Oleg
21d5340b35
fix sound HDMI rk3399 and bootsplash (#3260) 2021-11-17 07:22:04 +01:00
Piotr Szczepanik
7c06bb7d78
Disable DEBUG_INFO in rk35xx legacy kernel config 2021-11-13 22:21:55 +01:00
catalinii
4b246221e0
Fix the build on rk35xx platform (#3247)
Co-authored-by: Catalin Toda <catalinii@yahoo.com>
2021-11-12 06:17:07 +01:00
Igor Pecovnik
e17a7fb159
Disable broken wireless driver
https://github.com/armbian/build/pull/3242
2021-11-09 23:36:43 +01:00
Paolo
4c3dcbf4fc
Rockchip 5.15 (#3242)
* rockchip: bump to kernel 5.15, reworked mainlined patches

* rk322x: bump edge kernel to 5.15, reworked mainlined patches

* rk322x: update edge kernel config

* rockchip: remove some debug config options due to chatty dmesg

* Add patches to revert ipx.h header file remove in 5.15 kernel
2021-11-09 21:58:35 +01:00
catalinii
19340d66a1
Enable more config options in the legacy kernel (#3237) 2021-11-09 18:14:27 +01:00
Igor Pečovnik
dd51f9f2af
Bump imx6, xu4, rockchip64 and jetson-nano to 5.15 (#3238)
* Bump to 5.15.y imx6, xu4, rocchip64, jetson-nano

* Sunxi patches cleanup

Thanks @jernejsk

* Bump Meson64 to 5.15.y

* Bump mvebu* to 5.15.y

@heisath

Disable 13-net-mvneta.patch - double check.

* Add uppstram patch for opi zero2 legacy kernel

* Update mvebu mvneta patch

* Orangepi Zero2 reboot fix

Co-authored-by: Heisath <jannis@imserv.org>
2021-11-09 18:06:34 +01:00
Igor Pečovnik
36c06fec28
Bump sunxi to 5.15.y (#3236) 2021-11-07 00:04:02 +01:00
Flole998
8544bf36bb
Add MCP251XFD-Drivers as modules (#3232)
This is pretty safe to merge and compilation passed.
2021-10-31 12:13:56 +01:00
Paolo
682e4085ab
rockchip64: add IEP driver (#3215)
* rockchip64: add IEP driver
* enable IEP driver as kernel module
2021-10-21 22:55:25 +02:00
Igor Pečovnik
06a3f77059
Missing support for Power and function key (#3210)
Noticed in Khadas Vim2
2021-10-20 09:08:07 +02:00
Oleg
35a83a3c6f
Update Jetson nano kernel config (#3211) 2021-10-20 09:07:52 +02:00
Vyacheslav
3c4b69650e
Add support for JetHome JetHub D1/H1 home automation controllers (#3176)
* JetHome: add basic files for JetHub D1/H1 boards

Signed-off-by: Vyacheslav Bocharov <adeep@lexina.in>

* JetHome: add uboot patches

Signed-off-by: Vyacheslav Bocharov <adeep@lexina.in>

* JetHome: add kernel patches for JetHub D1/H1 (backport from 5.16-dt kernel)

Signed-off-by: Vyacheslav Bocharov <adeep@lexina.in>

* JetHome: add bsp packages for JetHub D1/H1

Signed-off-by: Vyacheslav Bocharov <adeep@lexina.in>

* JetHome: add kernel options for hardware JetHub D1/H1

Signed-off-by: Vyacheslav Bocharov <adeep@lexina.in>

* JetHome: fix targets-cli-beta.conf for JetHub D1/H1

Signed-off-by: Vyacheslav Bocharov <adeep@lexina.in>

* JetHome: add axg uboot creation function for JetHub D1

Signed-off-by: Vyacheslav Bocharov <adeep@lexina.in>
2021-10-19 21:05:36 +02:00
Igor Pečovnik
997c103c26
Upstream patches and a patch name correction (#3194)
* Just upstream patches and a patch name correction

* Add configs
2021-10-14 00:01:42 +02:00
Paolo Sabatino
a52cc0542e
rockchip64: compile timer led trigger in-kernel 2021-10-13 11:31:08 +00:00
Igor Pečovnik
cd7131cd86
Add upstream patches for sunxi (#3177) 2021-10-07 18:53:56 +02:00
Igor Pečovnik
5059acac6a
Add upstream patches (#3175) 2021-10-07 01:08:09 +02:00
Ricardo Pardini
956c1606de
meson64: current (5.10.y): ODROID N2(+) patchset rework for mainline u-boot, stability and rebootability (#3154)
- 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
2021-09-26 21:44:28 +02:00
Igor Pecovnik
5ba4159b17
Upstream patches and config adjustements 2021-09-26 20:06:31 +02:00
Igor Pecovnik
17507962f5
Maintenance - add and remove upstream patches 2021-09-25 08:30:11 +02:00
Igor Pecovnik
2fb7ad52e0 Update upstream patch for sunxi edge 2021-09-19 15:14:47 +02:00
Oleg
41522b2bc7
fix config legacy for station (#3147) 2021-09-19 12:20:43 +02:00
Paolo Sabatino
31d238930b rockchip: enable broadcom serdev bluetooth for current and edge kernels
* 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
2021-09-16 17:51:34 +00:00
Ruikai (Rick) Liu
687c363918
Add NanoPi R2C support (#3138)
* Add NanoPi R2C support
* Bring NanoPi R2C, R2S to edge
2021-09-15 22:20:35 +02:00
Piotr Szczepanik
0069ad60a6
Preliminary support for rockchip rk35xx boards (#3111) 2021-09-15 22:08:39 +02:00
Paolo Sabatino
bef4992ac1 rk322x: analog audio codec for edge kernel 2021-09-12 14:26:18 +00:00