Commit Graph

43 Commits

Author SHA1 Message Date
CaWeissWz
8062795c00 Update linux-bcm2711-edge.config
Added missing I2C designware slave functionality.
2025-06-19 09:52:10 +02:00
CwWeissWz
6eb849b60e Build Synopsis DesignWare I2C adapter as module in all rpi kernel configurations. 2025-06-19 09:52:10 +02:00
Igor Pecovnik
094a90562c RaspberryPi: suppress warnings for missing firmware
When RTL8152 USB network is enabled as build-in, it will throw out warnings such as:

W: Possible missing firmware /lib/firmware/rtl_nic/rtl8156b-2.fw for built-in driver r8152
W: Possible missing firmware /lib/firmware/rtl_nic/rtl8156a-2.fw for built-in driver r8152
W: Possible missing firmware /lib/firmware/rtl_nic/rtl8153c-1.fw for built-in driver r8152
W: Possible missing firmware /lib/firmware/rtl_nic/rtl8153b-2.fw for built-in driver r8152
W: Possible missing firmware /lib/firmware/rtl_nic/rtl8153a-4.fw for built-in driver r8152
W: Possible missing firmware /lib/firmware/rtl_nic/rtl8153a-3.fw for built-in driver r8152
W: Possible missing firmware /lib/firmware/rtl_nic/rtl8153a-2.fw for built-in driver r8152

This should prevent this while keep driver as module.
2025-04-23 21:02:45 +02:00
Igor Pecovnik
8e6fd84fe1 Enable rtw88 and rtw89 wireless drivers in kernel 6.12+ configs 2025-04-07 00:31:40 +02:00
plumbeo
dd8d9710f7 linux-bcm2711: enable CONFIG_CRYPTO_NHPOLY1305_NEON 2025-03-12 15:34:08 +01:00
Patrick Yavitz
a09e8b866f RaspberryPi BCM2711: Enable FW_LOADER_COMPRESS support
Signed-off-by: Patrick Yavitz <pyavitz@gmail.com>
2025-01-12 08:28:59 -05:00
Ricardo Pardini
3327734703 bcm2711/edge: rewrite-kernel-config, no changes 2025-01-05 10:15:14 +01:00
Leonidas P. Papadakos
06aa0e9c15 Enable ksmbd consistently across configurations 2024-09-03 18:26:21 +02:00
Igor Pecovnik
aaee1bb85f RaspberryPi: bump EDGE kernel to 6.10.y 2024-08-05 20:38:46 +02:00
Igor Pecovnik
e42979d669 Rewrite RPi 4 kernel config and fix wrong patch folder name 2024-06-02 11:53:58 +02:00
Igor
0437966dc0 Bump RPi EDGE kernels to 6.9.y (#6665) 2024-06-01 21:20:52 +02:00
Lane Jennison
1a4083fce8 kernel config: revert default governor change back on ondemand 2024-04-26 18:18:03 +08:00
ColorfulRhino
3b73b5fd81 kernel-config: Fix forced option IKCONFIG
Also rewrite some kernel configs to reflect this fix
2024-03-29 15:57:40 +00:00
ColorfulRhino
b57767fd1b bcm2711: rewrite-kernel-config for legacy, current, edge 2024-03-29 15:57:40 +00:00
Ricardo Pardini
1d7c36d7a2 bcm2711-edge: switch to 48-bit virtual address; enable eBPF stuff
- for tcmalloc (enjoy, cilium, etc) stuff https://github.com/cilium/cilium/issues/23640
- also: `CONFIG_BPF_JIT=y`, `CONFIG_FTRACE_SYSCALLS=y`, `CONFIG_BPF_KPROBE_OVERRIDE=y`
- this commit should contain no DEBUG/BTF changes
2024-01-17 20:21:31 +01:00
Igor Pecovnik
f852beca0a Switch meson64, bcm2711, sunxi, imx6, mvebu current to 6.6, edge to 6.7 and leave 6.1 for legecy
- detach sunxi from fixed vesions
- imx6 remove symlinks
- move to archive & cleanup
2024-01-07 18:58:36 +01:00
lanefu
a4d3dcb879 switch default cpu governor to schedutil (#6120)
* switch schedutil to default cpu governor
* rollback 3 governors on 3 edge cases
2024-01-01 15:14:02 +01:00
Gunjan Gupta
069de31a80 kernel: bcm2711: Add support for RPi 5 in current and edge kernel 2023-12-03 21:17:58 +05:30
Igor
be3a656ec0 Update kernel configs for Waydroid and Redroid support (#5976)
Co-authored-by: bigboo3000 <bigboo3000@hotmail.com>
2023-11-27 11:26:53 +01:00
Igor
8caf51243e Bump rpi and ebin edge kernels to 6.6.y (#5925)
* Bump rpi and ebin edge kernels to 6.6.y
* Move rpi patches from archive, remove deprecated patch folder
2023-11-19 22:34:54 +01:00
gaaichan998
78507bd48c enable mt7915e module on all kernels (#5626) 2023-08-22 08:13:42 +02:00
Igor
66c2e769ae Update. Now both boots 2023-05-14 21:28:58 +02:00
Igor
215e3ebd27 Update edge too 2023-05-14 21:28:58 +02:00
Igor
8a27b4a6da Re-enable CONFIG_ARCH_BCM2835 2023-03-20 11:34:25 -03:00
Igor Pečovnik
acf5810cbe Move Rpi kernels to 6.2, move current to legacy (#4898)
* Update Rpi4 kernels, configs and adjust broken patches

* Re-enable legacy in sources and board config
2023-03-11 19:19:13 +01:00
Igor Pečovnik
b9b8912de0 Bump rockchip64 EDGE to 6.1 with disabling few drivers (#4570)
* Bump rockchip64 EDGE to 6.1 with disabling few drivers

Broken fsusb30, uwe5662, lps170, simple panel ...

* Fix Rpi4 from not generating DT
2022-12-14 16:44:53 +01:00
Igor Pečovnik
c0001d566b Bump bcm, imx, mvebu64 and xu4 EDGE to 6.1.y (#4560)
* Bump bcm, imx, mvebu64, xu4 and rockchip to 6.1.y

* Add configs for imx6 and xu4

* Add broadcom kernel config

* Move XU4 edge to mainline kernel as hardkernel branch contain nothing for it

* Move Rockchip64 EDGE to 6.1

* Move rockchip (32 bit) edge to kernel 6.1

* Move rk322x edge kernel to 6.1

Co-authored-by: Paolo Sabatino <paolo.sabatino@gmail.com>
2022-12-14 01:43:31 +01:00
David Manouchehri
ba10622c32 Opportunistically build with kASLR. If it cannot be enabled due to (#4372)
lack of seed, the kernel will simply print a warning and continue.
2022-11-05 07:56:19 +01:00
Igor Pečovnik
32a1b1409f Bump Rpi EDGE kernel to 6.0.y (#4338)
* Bump rpi to 6.0.y

* Add Kinetic
2022-10-25 17:53:55 +02:00
Igor Pečovnik
0d6ebeab2e Kernel config cleanup (#4156)
* Kernel config cleanup

* Add rpi
2022-09-05 11:12:39 +02:00
Igor Pečovnik
2fb3aaaf86 Add patches needed for Pi-KVM on Rpi4 (#4127)
* Add patches needed for Pi-KVM on Rpi4

* Remove patch that does not belong here

* Update config

* Update edge config
2022-08-29 08:43:24 +02:00
Igor Pečovnik
f06452c091 Enable AUFS, adjust kernel configs (#4054)
* Enable AUFS, adjust kernel configs

* Enable aufs

* rpi
2022-08-09 09:14:53 +02:00
Igor Pečovnik
1a276577a4 Bump bcm2711, uefi, imx6, media and mvebu64 EDGE kernels to 5.19.y (#4044)
* Bump bcm2711 edge to 5.19.y

* Bump imx6, media and mvevu64 edge to 5.19.y

* Bump UEFI kernels
2022-08-04 21:49:35 +02:00
Igor Pečovnik
fef9b50c7b Update drivers (#3918)
- skip legacy since they mainly fails
2022-06-20 15:32:04 +02:00
Igor Pečovnik
8ba7b7e214 Switching the rest to 5.18.y (#3860)
* 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
2022-06-07 07:49:08 +02:00
Igor Pečovnik
897674aa74 Bump and freeze kernel at last known working versions (#3736)
* Freeze kernel at last known working versions

* Fix media kernel

* Update rockchip64 to 5.17.y

* Move patches up

* Re-ad aufs

* Fix rpi kernels
2022-05-03 08:27:32 +02:00
Igor Pečovnik
727990ae0e Bump rpi, imx6 and mvebu EDGE to 5.17.y (#3712) 2022-04-30 18:54:25 +02:00
Igor Pecovnik
43f1b097d1 Update kernel configs 2022-02-25 21:00:19 +01:00
Igor Pečovnik
2638284b3b Enable AUFS and Docker (#3502)
* Enable AUFS and Docker

* Add AUFS to configs

* Update configs
2022-02-17 22:04:55 +01:00
Igor Pečovnik
4ffef325ba Several improvements for RPi builds (#3391)
* Several improvements for RPi builds

- attach to RPi kernels
- current (ubuntu) -> legacy
- current -> 5.10.y, edge, 5.15.y

* Move current Rpi to 5.15.y and edge to 5.16.y
2022-01-11 15:25:58 +01:00
Igor Pecovnik
62e6415360 Bugfix - disable broken wireless drivers in kernel config 2021-12-18 09:26:52 +01:00
Leo
e3674b0a83 Add NTSF3 and KSMBD modules for 5.15 (#3330) 2021-12-08 16:15:02 +01: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