Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 7 additions & 14 deletions config/kernel/linux-k3-current.config
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Armbian defconfig generated with 6.12
# Armbian defconfig generated with 6.6
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Something is very wrong with this beagle / k3 stuff.
The boards beagley-ai.conf (1x) and pocketbeagle2.conf (2x) are all sharing a LINUXFAMILY and apparently also a LINUXCONFIG, although they're all different KERNELSOURCEs and KERNELBRANCH's.

That is why this is flipping between 6.6 and 6.12.

It needs cleanup; preferably unifying it around a single kernel, or actually using separate LINUXFAMILY/LINUXCONFIG for each, otherwise crazy will ensue.

@igorpecovnik who is actually maintaining those? it is probably causing other problems (overwritten .deb's in apt repo, maybe) other than this.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Something is very wrong with this beagle / k3 stuff

Indeed.

who is actually maintaining those?

Themselves https://github.com/orgs/armbian/teams/boards-texasinstruments with my assistance. I recently asked @tabrisnet to help around such problems, so I expect that situation will improve soon.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

On our side the way things are is basically this-

All Texas Instruments SoC based boards are K3 (Keystone 3 Family) so they are built with k3.conf.

BeagleBoards then re-use most of infra except they keep their own Kernel and Uboot configs.

All TI based EVMs should then use TI defconfigs and sources for Kernel/Uboot. (Although we did want to add mainline options instead of just vendor at some point in the future)

For Beagle - boards that are in mainline (like BeaglePlay) are easy, but then in the case of PocketBeagle2 (and especially) BeagleY we had to keep them with post-family configs to pin BeagleY to a patched 6.6 kernel from Beagle for example. Beagleboard maintain a forks of the TI Linux & Uboot with their own patches. It's messy at the best of times and I'm not sure how to really clean this up currently... it's mostly on the Beagle side.

For KConfigs - the TI ones should in theory be pruned regularly to align with what we ship in Yocto releases with some small deltas where it makes sense. Beagle keeps their own separate KConfigs since they have a lot more historic stuff switched on due to users asking for them.

Any recommendations I'm very open to....
@jonaswood01 @glneo for visibility too.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The Beagle boards should be using the TI kernel and upstream, only the two mentioned cases I see LINUXFAMILY="k3-beagle" for using the "Beagle" kernel, but the LINUXCONFIG would remain the default from the TI/upstream kernel settings. We should either use a different LINUXCONFIG for those, or at this point switch them away from the Beagle kernels and back to the normal TI/upstream kernel.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think in this particular case Play and AI64 would both boot fine off of TI branch... Pb2 may as well.

If they don't boot like that should I just revert them to CSC and keep the hackyness w/Beagle sources for now?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Booting-or-not, internal details of each board, etc, are not in question here.

All Texas Instruments SoC based boards are K3 (Keystone 3 Family) so they are built with k3.conf.

That's fine, but...

BeagleBoards then re-use most of infra except they keep their own Kernel and Uboot configs.

... that is not correct. If each board needs a different kernel (due to a different source branch, .config, or whatever that in the end causes it to be a different kernel / different .deb package) then each board should be in it's own LINUXFAMILY, with it's own LINUXCONFIG.

Sincerely I recommend ya'll try to unify it - there's expenses (of both machine-time, bandwidth, but most important of maintainer time, as you can see in this PR) related to having multiple kernels.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since I spent the time already, here goes.

{
  "BOARD": "beaglebone-ai64",
  "BRANCH": "current",
  "kernel": "k3",
  "needed_by": 8,
  "ARMBIAN_KERNEL_DEB_NAME": "k3-current",
  "LINUXCONFIG": "linux-k3-current",
  "KERNELSOURCE": "https://github.com/TexasInstruments/ti-linux-kernel",
  "KERNELBRANCH": "tag:11.00.09"
}
{
  "BOARD": "beaglebone-ai64",
  "BRANCH": "edge",
  "kernel": "k3",
  "needed_by": 8,
  "ARMBIAN_KERNEL_DEB_NAME": "k3-edge",
  "LINUXCONFIG": "linux-k3-edge",
  "KERNELSOURCE": "https://github.com/TexasInstruments/ti-linux-kernel",
  "KERNELBRANCH": "tag:11.00.12"
}
{
  "BOARD": "beagley-ai",
  "BRANCH": "current",
  "kernel": "k3-beagle",
  "needed_by": 1,
  "ARMBIAN_KERNEL_DEB_NAME": "k3-beagle-current",
  "LINUXCONFIG": "linux-k3-current",
  "KERNELSOURCE": "https://github.com/beagleboard/linux",
  "KERNELBRANCH": "branch:v6.6.58-ti-arm64-r21"
}
{
  "BOARD": "pocketbeagle2",
  "BRANCH": "edge",
  "kernel": "k3-beagle",
  "needed_by": 1,
  "ARMBIAN_KERNEL_DEB_NAME": "k3-beagle-edge",
  "LINUXCONFIG": "linux-k3-beagle-edge",
  "KERNELSOURCE": "https://github.com/beagleboard/linux",
  "KERNELBRANCH": "branch:v6.12.24-ti-arm64-r43"
}

As you can see, the k3-current kernel (used by 8 boards, amongst them beaglebone-ai64) is using LINUXCONFIG linux-k3-current.

The k3-beagle-current kernel (used by a single board, beagley-ai) is also using LINUXCONFIG linux-k3-current.

This obviously is incorrect.

There is also a plethora of other problems, like -rt variants just left there, etc.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So here is my attempt to clean this up for the Beagle boards when using their custom kernel: #8913

# CONFIG_LOCALVERSION_AUTO is not set
CONFIG_SYSVIPC=y
CONFIG_POSIX_MQUEUE=y
Expand Down Expand Up @@ -96,7 +96,6 @@ CONFIG_BLK_DEV_INTEGRITY=y
CONFIG_BLK_DEV_THROTTLING=y
# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
CONFIG_ZSWAP=y
CONFIG_ZSWAP_ZPOOL_DEFAULT_ZBUD=y
# CONFIG_COMPAT_BRK is not set
CONFIG_MEMORY_HOTPLUG=y
CONFIG_MEMORY_HOTREMOVE=y
Expand Down Expand Up @@ -310,6 +309,7 @@ CONFIG_NET_ACT_POLICE=m
CONFIG_NET_ACT_GACT=m
CONFIG_GACT_PROB=y
CONFIG_NET_ACT_MIRRED=m
CONFIG_NET_ACT_IPT=m
CONFIG_NET_ACT_NAT=m
CONFIG_NET_ACT_PEDIT=m
CONFIG_NET_ACT_SIMP=m
Expand Down Expand Up @@ -387,12 +387,6 @@ CONFIG_MTD_UBI=y
CONFIG_MTD_HYPERBUS=m
CONFIG_HBMC_AM654=m
CONFIG_ZRAM=y
CONFIG_ZRAM_BACKEND_LZ4=y
CONFIG_ZRAM_BACKEND_LZ4HC=y
CONFIG_ZRAM_BACKEND_ZSTD=y
CONFIG_ZRAM_BACKEND_DEFLATE=y
CONFIG_ZRAM_BACKEND_842=y
CONFIG_ZRAM_BACKEND_LZO=y
CONFIG_ZRAM_WRITEBACK=y
CONFIG_ZRAM_MEMORY_TRACKING=y
CONFIG_BLK_DEV_LOOP=y
Expand Down Expand Up @@ -430,7 +424,6 @@ CONFIG_VXLAN=m
CONFIG_TUN=y
CONFIG_VETH=m
CONFIG_VIRTIO_NET=y
CONFIG_NETKIT=y
# CONFIG_NET_VENDOR_ALACRITECH is not set
# CONFIG_NET_VENDOR_AMAZON is not set
# CONFIG_NET_VENDOR_AMD is not set
Expand Down Expand Up @@ -692,26 +685,26 @@ CONFIG_VIDEO_DS90UB953=m
CONFIG_VIDEO_DS90UB960=m
CONFIG_AUXDISPLAY=y
CONFIG_HD44780=m
CONFIG_LCD2S=m
CONFIG_IMG_ASCII_LCD=m
CONFIG_HT16K33=m
CONFIG_LCD2S=m
CONFIG_DRM=y
CONFIG_DRM_LOAD_EDID_FIRMWARE=y
CONFIG_DRM_I2C_CH7006=m
CONFIG_DRM_I2C_SIL164=m
CONFIG_DRM_I2C_NXP_TDA998X=y
CONFIG_DRM_VGEM=m
CONFIG_DRM_PANEL_BOE_TV101WUM_NL6=m
CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D=m
CONFIG_DRM_PANEL_LVDS=m
CONFIG_DRM_PANEL_SIMPLE=m
CONFIG_DRM_PANEL_EDP=m
CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D=m
CONFIG_DRM_PANEL_ILITEK_ILI9881C=m
CONFIG_DRM_PANEL_MANTIX_MLAF057WE51=m
CONFIG_DRM_PANEL_OSD_OSD101T2587_53TS=y
CONFIG_DRM_PANEL_RASPBERRYPI_TOUCHSCREEN=m
CONFIG_DRM_PANEL_RAYDIUM_RM67191=m
CONFIG_DRM_PANEL_SITRONIX_ST7703=m
CONFIG_DRM_PANEL_EDP=m
CONFIG_DRM_PANEL_SIMPLE=m
CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA=m
CONFIG_DRM_PANEL_VISIONOX_VTDR6130=m
CONFIG_DRM_DISPLAY_CONNECTOR=y
Expand Down Expand Up @@ -944,8 +937,8 @@ CONFIG_RPMSG_VIRTIO=y
CONFIG_SOUNDWIRE=m
CONFIG_FSL_RCPM=y
CONFIG_QCOM_PMIC_GLINK=m
CONFIG_TI_PRUSS=m
CONFIG_TI_SCI_PM_DOMAINS=y
CONFIG_TI_PRUSS=m
CONFIG_DEVFREQ_GOV_USERSPACE=y
CONFIG_DEVFREQ_GOV_PASSIVE=m
CONFIG_EXTCON_PTN5150=m
Expand Down
Loading