Commit Graph

44 Commits

Author SHA1 Message Date
Igor Pecovnik
8e6fd84fe1 Enable rtw88 and rtw89 wireless drivers in kernel 6.12+ configs 2025-04-07 00:31:40 +02:00
Ricardo Pardini
da0f6a77a9 arm64/edge: rewrite-kernel-config, no changes 2025-01-05 10:15:14 +01:00
bmilde
8007e64ab1 Update linux-uefi-arm64-edge.config
Added module support for newer MediaTek Wifi7 devices
2025-01-01 19:38:44 +01:00
Igor Pecovnik
ff7fbd9289 Execute rewrite-kernel-config to update kernel configs
./compile.sh rewrite-kernel-config BOARD=uefi-arm64 BRANCH=edge
./compile.sh rewrite-kernel-config BOARD=uefi-x86 BRANCH=edge
2024-11-03 17:56:48 +01:00
bmilde
a762360af0 Update linux-uefi-arm64-edge.config
added bcachefs filesystem module
2024-11-03 17:56:48 +01:00
Igor Pecovnik
513671a48f Kernel config maint: rewrite kernel config with ./compile rewrite-kernel-config 2024-09-18 16:31:56 +02:00
Igor Pecovnik
752ba047b3 UEFI kernels: rewrite kernel config for legacy - current - edge 2024-08-12 19:44:20 +02:00
Igor Pecovnik
759274b7a1 UEFI x86 and arm64: Bump EDGE kernels to 6.10.y 2024-07-27 12:40:25 +02:00
Igor
07047176cc Bump UEFI edge kernels with kernel config rewrite (#6666)
* Bump UEFI edge kernels with kernel config rewrite
* Update wireless drivers that breaks compilation
2024-06-01 22:35:46 +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
c20d074f58 uefi: rewrite-kernel-config for arm64/riscv64/x86, current & edge 2024-03-29 15:57:40 +00:00
ColorfulRhino
9d097d1c63 Update 6.8 kernel config for uefi and rk3588 (wireless driver changes) 2024-03-17 18:57:28 +00:00
ColorfulRhino
55d9513c24 uefi: edge kernel: Bump from 6.7 to 6.8
- Kernel configs updated via ./compile.sh rewrite-kernel-config
2024-03-17 18:57:28 +00:00
ColorfulRhino
093955e788 rk35xx/rk3588/rockchip64/uefi/wsl: Enable NVMe-over-TCP
- Enable NVMe over TCP kernel support for the board families `rk35xx` (vendor), `rockchip-rk3588` (edge), `rockchip64` (current, edge) as well as the generic `uefi` target (current, edge) and `wsl` (current, edge)

- Note: for `wsl` only host-mode is supported, target-mode is not available

- Support for `legacy` kernels not added due to incompatibilities between kernel versions <5.14 and >=5.14. Kernels <5.14 need to patch in this commit to be compatible: https://github.com/torvalds/linux/commit/3c3ee16532c1

- NVMe over TCP specs and slides: https://nvmexpress.org/wp-content/uploads/March-2019-NVMe-TCP-What-You-Need-to-Know-About-the-Specification.pdf

- Guides: https://www.linuxjournal.com/content/data-flash-part-iii-nvme-over-fabrics-using-tcp and https://blogs.oracle.com/linux/post/nvme-over-tcp

- NVMe-oF authentication support: https://blogs.oracle.com/linux/post/nvme-inband-authentication

- NVMe-oF TLS support (kernel >=6.7 required): https://lwn.net/Articles/942817/
2024-03-07 19:46:49 +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
Ricardo Pardini
30ff9471f9 uefi: all: update edge 6.7.y .config's, no changes 2023-12-27 13:29:37 +01:00
Ricardo Pardini
88577a0cf4 uefi: all: update all .config's, no changes; edge: 6.6.y; current 6.1.y; legacy 5.15.y 2023-12-27 13:29:37 +01:00
Kevin Schmidt
e9332d575c Add rockchip drivers to uefi-arm64 kernel. 2023-12-12 08:34:38 +01:00
Igor Pecovnik
f9528c6ec4 Update Waydroid (Android) kernel dependencies 2023-12-06 20:54:32 +01:00
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
Kevin Schmidt
72922908c5 Refresh jetson-nano board config. 2023-11-19 22:27:28 +01:00
Ricardo Pardini
6d70e1876b uefi-{arm64|x86} edge 6.6: kernel .config: enable Hyper-V (also, Azure) support (as modules / requires initrd) 2023-11-06 16:17:33 +01:00
Ricardo Pardini
d25b8149c0 uefi-{arm64|x86} edge 6.6: kernel .config: update .config, no changes 2023-11-06 16:17:33 +01:00
Igor Pecovnik
02ba64b872 Update risc64 and arm64 configs 2023-07-11 11:15:00 +02:00
Igor Pecovnik
89a6750d78 Bump UEFI edge to 6.4.y 2023-07-11 11:15:00 +02:00
Igor Pečovnik
ad827fe0a5 Move UEFI legacy to 5.15.y, current to 6.1.y and edge to 6.2.y (#4896) 2023-03-05 17:02:52 +01:00
Ricardo Pardini
6ceb772a7a v6.2-rc7: bump edge to v6.2-rc7 for UEFI / meson64 / rk3568-odroid / rockchip-rk3588 2023-02-18 07:46:29 -03:00
Igor Pečovnik
ce30644a09 Disable Event debugging CONFIG_INPUT_EVBUG (#4828) 2023-02-12 15:21:55 +01:00
Igor
d76643db70 Enable on two others 2022-12-28 09:07:43 +01:00
Igor Pečovnik
5a82aea458 Bump UEFI edge kernels to 6.0.y (#4340) 2022-10-25 20:38:44 +02:00
Igor Pečovnik
a4c952c8cf Bump versions, adjust kernel configs (#4276) 2022-10-12 11:21:41 +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
e7f25237d5 Remove broken wireless drivers (#3868) 2022-06-07 15:48:30 +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
2b03a9a646 Upgrade UEFI EDGE kernels to 5.17.y (#3680) 2022-04-16 09:11:54 +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 Pecovnik
c79abcd881 Remove not compatible wireless drivers
Can be enabled back once fixed https://armbian.atlassian.net/browse/AR-1091
2022-02-15 10:34:21 +01:00
Igor Pečovnik
cfa4188d4e Bump UEFI current & edge kernels to 5.15.y / 5.16.y (#3491) 2022-02-14 23:34:40 +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