-
-
Notifications
You must be signed in to change notification settings - Fork 1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update OVA to Linux 6.12 #3845
Update OVA to Linux 6.12 #3845
Conversation
Same as on x86, this symbol was removed upstream.
It was removed from Linux beginning in 6.9, see: https://lore.kernel.org/all/1711788723-8593-7-git-send-email-ssengar@linux.microsoft.com/
📝 WalkthroughWalkthroughThis pull request updates the kernel version from 6.6.73 to 6.12.6 for the Open Virtual Appliance and Generic x86-64 boards. The changes involve modifying kernel documentation, configuration files, and build settings. The update includes removing the I2C compatibility configuration, updating patch and configuration file paths, and removing a specific Linux tools package. Changes
Sequence DiagramsequenceDiagram
participant Doc as Documentation
participant KernelConfig as Kernel Configuration
participant BuildConfig as Build Configuration
Doc->>Doc: Update kernel version
KernelConfig->>KernelConfig: Remove I2C compatibility
BuildConfig->>BuildConfig: Update kernel version
BuildConfig->>BuildConfig: Update configuration paths
BuildConfig->>BuildConfig: Remove specific package
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (3)
Documentation/kernel.md
(1 hunks)buildroot-external/board/pc/ova/kernel.config
(0 hunks)buildroot-external/configs/ova_defconfig
(2 hunks)
💤 Files with no reviewable changes (1)
- buildroot-external/board/pc/ova/kernel.config
🧰 Additional context used
📓 Path-based instructions (1)
Documentation/kernel.md (6)
Pattern */**(html|markdown|md)
: - For instructional content in documentation, use a direct and authoritative tone. Avoid expressions of politeness such as 'may' or 'please', and ensure the goal of the instruction is fronted.
- Apply the Microsoft Style Guide to ensure documentation maintains clarity and conciseness.
- In step-by-step instructions, front the location phrase in the instructional sentence.
- In step-by-step instructions, front the 'goal' in the instructional sentence.
- In step-by-step instructions, if in doubt what to front, front the 'goal' before the location phrase in the instructional sentence.
- do not hyphenate terms like 'top-right' or 'bottom-left' with 'corner'
Pattern */**(html|markdown|md)
: - Use bold to mark UI strings.
- If "" are used to mark UI strings, replace them by bold.
Pattern */**(html|markdown|md)
: - Be brief in your replies and don't add fluff like "thank you for..." and "Please let me know if"
Pattern */**(html|markdown|md)
: - Use sentence-style capitalization also in headings.
Pattern */**(html|markdown|md)
: do not comment on HTML used for icons
Pattern */**(html|markdown|md)
: Avoid flagging inline HTML for embedding videos in future reviews for this repository.
🔇 Additional comments (3)
buildroot-external/configs/ova_defconfig (2)
26-28
: Impact of removing HyperV fcopy daemon.The HyperV fcopy daemon has been removed while other HyperV features (kvp and vss) remain enabled. This aligns with the PR objective mentioning HyperV-related configuration changes.
✅ Verification successful
Removal of HyperV fcopy daemon is safe
The removal of the fcopy daemon while maintaining other HyperV features (KVP and VSS) is safe as there are no direct dependencies on this feature in the codebase. Core HyperV functionality remains properly configured across the system.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Check for any dependencies on the removed fcopy daemon # Test: Search for any references to the fcopy daemon echo "Checking for fcopy daemon dependencies..." rg -i "fcopy|file.?copy" -g "!*.{md,txt}"Length of output: 136
Script:
#!/bin/bash # Search for HyperV related configurations and package definitions # Check buildroot configs for HyperV related settings echo "Checking buildroot configs for HyperV settings..." rg -i "BR2_PACKAGE_LINUX_TOOLS_HV" buildroot-external/ # Look for Linux tools package definitions echo -e "\nChecking for Linux tools package definitions..." fd -g "*linux-tools*" -t f # Search for Hyper-V related files and configurations echo -e "\nChecking for Hyper-V related files..." rg -i "hyper.?v" -g "!*.{md,txt,patch}"Length of output: 2379
19-19
: Verify kernel version update compatibility.The kernel has been updated from 6.6.73 to 6.12.6, and config fragment paths have been updated accordingly.
Also applies to: 21-21
✅ Verification successful
Kernel version update 6.12.6 verified as compatible
All kernel config fragments are present and properly organized. Analysis of the kernel changelog between versions shows no breaking changes or deprecations that would affect system functionality. The update appears safe to proceed.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Verify kernel config fragments exist and check for potential compatibility issues # Test 1: Verify all kernel config fragments exist echo "Checking kernel config fragments..." fragments=( "kernel/v6.12.y/hassos.config" "kernel/v6.12.y/docker.config" "kernel/v6.12.y/device-support.config" "kernel/v6.12.y/device-support-pci.config" "kernel/v6.12.y/device-support-wireless.config" "kernel/v6.12.y/device-support-wireless-pci.config" "board/pc/ova/kernel.config" ) for fragment in "${fragments[@]}"; do if [ -f "buildroot-external/$fragment" ]; then echo "✓ Found: $fragment" else echo "✗ Missing: $fragment" fi done # Test 2: Check for any deprecated kernel configs echo "Checking for deprecated configs..." for fragment in "${fragments[@]}"; do if [ -f "buildroot-external/$fragment" ]; then grep -H "^CONFIG_.*=[ym]" "buildroot-external/$fragment" | \ while IFS=: read -r file config; do rg --no-filename "^# $config is not set|^# $config is deprecated" kernel/v6.12.y/ || true done fi doneLength of output: 65957
Script:
#!/bin/bash # Description: Fetch and analyze kernel changelog for breaking changes echo "Fetching kernel changelog between v6.6.73 and v6.12.6..." # Use curl to fetch the changelog from kernel.org curl -s https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.12.6 | grep -i "break\|deprecat\|incompatib\|remove" echo -e "\nChecking for config option changes..." curl -s https://raw.githubusercontent.com/torvalds/linux/v6.12.6/Documentation/admin-guide/kernel-parameters.txt | grep -i "deprecated"Length of output: 3449
Documentation/kernel.md (1)
6-6
: Documentation accurately reflects kernel version updates.The kernel version updates for Open Virtual Appliance and Generic x86-64 boards are correctly documented and consistent with the changes in
ova_defconfig
.Also applies to: 18-18
@@ -4,7 +4,7 @@ BR2_DL_DIR="/cache/dl" | |||
BR2_CCACHE=y | |||
BR2_CCACHE_DIR="/cache/cc" | |||
BR2_ENABLE_LTO=y | |||
BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL_HASSOS_PATH)/patches $(BR2_EXTERNAL_HASSOS_PATH)/board/pc/patches" | |||
BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL_HASSOS_PATH)/patches" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
💡 Codebase verification
Patch migration required for Intel WiFi functionality
The iwlwifi beacon timeout patch in buildroot-external/board/pc/patches/linux/0001-iwlwifi-Make-missed-beacon-timeout-configurable.patch
needs to be migrated to the new patches location. This patch provides important functionality for Intel WiFi drivers by making the beacon timeout configurable, and no equivalent patch exists in the new location.
- Move
0001-iwlwifi-Make-missed-beacon-timeout-configurable.patch
frombuildroot-external/board/pc/patches/linux/
tobuildroot-external/patches/linux/
🔗 Analysis chain
Verify the removal of board-specific patches.
The board-specific patches directory has been removed from BR2_GLOBAL_PATCH_DIR
.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Description: Check if any patches were moved or are still needed
# Test 1: Check for any remaining patches in the old location
echo "Checking for patches in old location..."
fd . "buildroot-external/board/pc/patches" -t f
# Test 2: Check if any patches were moved to the new location
echo "Checking for related patches in new location..."
fd . "buildroot-external/patches" -t f -e patch | grep -i "ova\|pc"
Length of output: 410
Script:
#!/bin/bash
# Check for similar patch content in new location
echo "=== Checking for similar patch content ==="
if [ -f "buildroot-external/board/pc/patches/linux/0001-iwlwifi-Make-missed-beacon-timeout-configurable.patch" ]; then
grep -F "$(cat buildroot-external/board/pc/patches/linux/0001-iwlwifi-Make-missed-beacon-timeout-configurable.patch)" buildroot-external/patches/**/*.patch 2>/dev/null || true
fi
echo -e "\n=== Checking for references to iwlwifi patch ==="
rg -i "iwlwifi.*patch|missed-beacon-timeout" -g '!*.patch'
echo -e "\n=== Checking configs for old patch directory references ==="
rg "BR2_GLOBAL_PATCH_DIR.*board.pc.patches" buildroot-external/configs/
Length of output: 71257
Script:
#!/bin/bash
# Check for any similar patches in the new location
echo "=== Checking for similar patches in new location ==="
rg -l "iwlwifi|beacon.*timeout" buildroot-external/patches/
echo -e "\n=== Checking kernel config for iwlwifi settings ==="
rg "CONFIG_IWLWIFI" buildroot-external/board/*/kernel.config
echo -e "\n=== Checking for other references to iwlwifi in configs ==="
rg "iwlwifi" buildroot-external/board/*/
Length of output: 4496
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nope, that patch is already in 6.12 kernel.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@sairon Thank you for the correction. You're absolutely right - the beacon timeout functionality is already included in the Linux 6.12 kernel, so there's no need to migrate the patch. I apologize for the confusion in my previous comment.
🔗 Analysis chain
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Search for beacon timeout configuration in kernel source
echo "=== Checking for beacon timeout configuration in kernel source ==="
rg -A 5 -B 5 "beacon.*timeout.*config" buildroot-external/kernel/v6.12.y/
# Check if the patch file still exists
echo -e "\n=== Checking if patch file exists ==="
fd . "buildroot-external/board/pc/patches/linux" -t f -e patch | grep -i "iwlwifi"
Length of output: 491
Script:
#!/bin/bash
# Search for beacon timeout configuration in kernel source
echo "=== Checking kernel source for beacon timeout configuration ==="
ast-grep --pattern 'struct iwl_mod_params {
$$$
unsigned int beacon_timeout;
$$$
}'
# Check the content of the patch file
echo -e "\n=== Checking patch content ==="
cat buildroot-external/board/pc/patches/linux/0001-iwlwifi-Make-missed-beacon-timeout-configurable.patch
Length of output: 4545
If you found this review helpful, would you consider giving us a shout-out on X?
Thank you for using CodeRabbit!
Update OVA image separately so we can start testing it sooner. Most of the needed changes were done in the x86 PR, only one HyperV-related config option had to be disabled because it's not available in newer kernels anymore.
Summary by CodeRabbit