Skip to content

[action] [PR:22553] [build] Fix kdump build failure (Fixes 5097 17023)#23035

Merged
mssonicbld merged 2 commits intosonic-net:202411from
mssonicbld:cherry/202411/22553
Aug 7, 2025
Merged

[action] [PR:22553] [build] Fix kdump build failure (Fixes 5097 17023)#23035
mssonicbld merged 2 commits intosonic-net:202411from
mssonicbld:cherry/202411/22553

Conversation

@mssonicbld
Copy link
Copy Markdown
Collaborator

Why I did it

The build fails if kdump is enabled on the build host, even though the relevant build step is performed in a dockerized chroot.

+ sudo LANG=C chroot ./fsroot-cisco-8000 kdump-config symlinks 5.10.0-23-2-amd64
Cannot change symbolic links when kdump is loaded ... failed!

Fixes #5097, Fixes #17023

Work item tracking
  • Microsoft ADO (number only):

How I did it

kdump installation checks if kdump is already running and aborts if so. This is good in most cases, but it's not relevant when installing into a chroot inside a docker container. This adds a basic patch to disable this check during build.

Note that the kdump status of the build host is imported into the docker build container via the sysfs file system:

$ ls -id /sys/kernel/kexec_crash_loaded && cat /sys/kernel/kexec_crash_loaded
7824 /sys/kernel/kexec_crash_loaded
0

$ docker run --rm debian bash -c "ls -id /sys/kernel/kexec_crash_loaded && cat /sys/kernel/kexec_crash_loaded"
7824 /sys/kernel/kexec_crash_loaded
0

The inodes and file content are identical inside and outside of the container.

How to verify it

  1. Enable kdump on the build host
  2. Confirm baseline build fails with the "Cannot change symbolic links when kdump is loaded" error
  3. Apply this change and build succeeds

Which release branch to backport (provide reason below if selected)

  • 202405
  • 202411
  • 202505

Tested branch (Please provide the tested image version)

master (2975205)

Description for the changelog

[build] fix build failure on kdump-enabled hosts

Link to config_db schema for YANG module changes

A picture of a cute animal (not mandatory but encouraged)

<!--
     Please make sure you've read and understood our contributing guidelines:
     https://github.com/Azure/SONiC/blob/gh-pages/CONTRIBUTING.md

     ** Make sure all your commits include a signature generated with `git commit -s` **

     If this is a bug fix, make sure your description includes "fixes #xxxx", or
     "closes #xxxx" or "resolves #xxxx"

     Please provide the following information:
-->

#### Why I did it

The build fails if kdump is enabled on the build host, even though the relevant build step is performed in a dockerized chroot.

```
+ sudo LANG=C chroot ./fsroot-cisco-8000 kdump-config symlinks 5.10.0-23-2-amd64
Cannot change symbolic links when kdump is loaded ... failed!
```

Fixes sonic-net#5097, Fixes sonic-net#17023

##### Work item tracking
- Microsoft ADO **(number only)**:

#### How I did it

kdump installation checks if kdump is already running and aborts if so. This is good in most cases, but it's not relevant when installing into a chroot inside a docker container. This adds a basic patch to disable this check during build.

Note that the kdump status of the build host is imported into the docker build container via the sysfs file system:

```
$ ls -id /sys/kernel/kexec_crash_loaded && cat /sys/kernel/kexec_crash_loaded
7824 /sys/kernel/kexec_crash_loaded
0

$ docker run --rm debian bash -c "ls -id /sys/kernel/kexec_crash_loaded && cat /sys/kernel/kexec_crash_loaded"
7824 /sys/kernel/kexec_crash_loaded
0
```

The inodes and file content are identical inside and outside of the container.

#### How to verify it

<!--
If PR needs to be backported, then the PR must be tested against the base branch and the earliest backport release branch and provide tested image version on these two branches. For example, if the PR is requested for master, 202211 and 202012, then the requester needs to provide test results on master and 202012.
-->

1. Enable kdump on the build host
2. Confirm baseline build fails with the "Cannot change symbolic links when kdump is loaded" error
3. Apply this change and build succeeds

#### Which release branch to backport (provide reason below if selected)

<!--
- Note we only backport fixes to a release branch, *not* features!
- Please also provide a reason for the backporting below.
- e.g.
- [x] 202006
-->

- [x] 202405
- [x] 202411
- [x] 202505

#### Tested branch (Please provide the tested image version)

<!--
- Please provide tested image version
- e.g.
- [x] 20201231.100
-->

master (2975205)

#### Description for the changelog
<!--
Write a short (one line) summary that describes the changes in this
pull request for inclusion in the changelog:
-->

[build] fix build failure on kdump-enabled hosts

<!--
 Ensure to add label/tag for the feature raised. example - PR#2174 under sonic-utilities repo. where, Generic Config and Update feature has been labelled as GCU.
-->

#### Link to config_db schema for YANG module changes
<!--
Provide a link to config_db schema for the table for which YANG model
is defined
Link should point to correct section on https://github.com/Azure/sonic-buildimage/blob/master/src/sonic-yang-models/doc/Configuration.md
-->

#### A picture of a cute animal (not mandatory but encouraged)
@mssonicbld
Copy link
Copy Markdown
Collaborator Author

Original PR: #22553

@mssonicbld
Copy link
Copy Markdown
Collaborator Author

/azp run Azure.sonic-buildimage

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 1 pipeline(s).

Fix sonic-net#5097, Fix sonic-net#17023

Why I did it
The build fails if kdump is enabled on the build host, even though the relevant build step is performed in a dockerized chroot.

+ sudo LANG=C chroot ./fsroot-cisco-8000 kdump-config symlinks 5.10.0-23-2-amd64
Cannot change symbolic links when kdump is loaded ... failed!

How I did it
kdump installation checks if kdump is already running and aborts if so. This is good in most cases, but it's not relevant when installing into a chroot inside a docker container. This adds a basic patch to disable this check during build.

Note that the kdump status of the build host is imported into the docker build container via the sysfs file system:

$ ls -id /sys/kernel/kexec_crash_loaded && cat /sys/kernel/kexec_crash_loaded
7824 /sys/kernel/kexec_crash_loaded
0

$ docker run --rm debian bash -c "ls -id /sys/kernel/kexec_crash_loaded && cat /sys/kernel/kexec_crash_loaded"
7824 /sys/kernel/kexec_crash_loaded
0
The inodes and file content are identical inside and outside of the container.

How to verify it
Enable kdump on the build host
Confirm baseline build fails with the "Cannot change symbolic links when kdump is loaded" error
Apply this change and build succeeds
@mssonicbld
Copy link
Copy Markdown
Collaborator Author

/azp run Azure.sonic-buildimage

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 1 pipeline(s).

@liushilongbuaa
Copy link
Copy Markdown
Contributor

/azpw run

@mssonicbld
Copy link
Copy Markdown
Collaborator Author

/AzurePipelines run

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 1 pipeline(s).

@jusherma
Copy link
Copy Markdown
Contributor

jusherma commented Aug 1, 2025

/azpw run

@mssonicbld
Copy link
Copy Markdown
Collaborator Author

/AzurePipelines run

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 1 pipeline(s).

@jusherma
Copy link
Copy Markdown
Contributor

jusherma commented Aug 6, 2025

@liushilongbuaa @lguohan all checks succeeded except marvell build, which failed due to low memory on the build executor during a target not related to these changes (sonic_frr_mgmt_framework-1.0-py3-none-any.whl)

Please approve and merge this double commit as it fixes a build issue

@liushilongbuaa
Copy link
Copy Markdown
Contributor

let me rerun one more time.

@mssonicbld mssonicbld merged commit 39eb0b9 into sonic-net:202411 Aug 7, 2025
19 checks passed
noaOrMlnx pushed a commit to noaOrMlnx/sonic-buildimage that referenced this pull request Nov 24, 2025
…-net#1745)

Code sync sonic-net/sonic-buildimage:202411 => 202412

```
*   e1f0789 (HEAD -> code-sync-202412, origin/code-sync-202412) r12f 251022:1851 - Merge remote-tracking branch 'base/202411' into code-sync-202412
|\
| * 5e45f5b (base/202411) mssonicbld 251008:1012 - [arp_update]Resolve neighbors from config_db (sonic-net#24226)
| * fb53c97 mssonicbld 251003:0612 - Increase egress and ingress buffer pool sizes on Arista-7050CX3-32S-C28S4 (sonic-net#24192)
| * 80fb6ed mssonicbld 250927:1912 - [YANG] Change VXLAN tunnel YANG model to support 2 tunnels + string validation (sonic-net#23999)
| * 3435dda mssonicbld 250909:2212 - [submodule] Update submodule sonic-host-services to the latest HEAD automatically (sonic-net#23930)
| * 7fccf4e mssonicbld 250907:1612 - [submodule] Update submodule sonic-host-services to the latest HEAD automatically (sonic-net#22178)
| * 4a7b293 mssonicbld 250820:0713 - Fix Debian repos used for Bullseye-based containers (sonic-net#23759)
| * 8eb0c1e Aravind-Subbaroyan 250818:2012 - Update cisco-8000-smartswitch.ini (sonic-net#23746)
| * d6a9627 mssonicbld 250819:0512 - [TACACS] Fix memory leak when authenticating using tacacs (sonic-net#23150)
| * dacee85 mssonicbld 250815:1614 - [submodule] Update submodule sonic-swss to the latest HEAD automatically (sonic-net#23608)
| * 420e5fd mssonicbld 250813:1712 - [submodule] Update submodule sonic-linux-kernel to the latest HEAD automatically (sonic-net#23554)
| * 39eb0b9 mssonicbld 250807:1913 - [action] [PR:22553] [build] Fix kdump build failure (Fixes 5097 17023) (sonic-net#23035)
| * cb2dff4 mssonicbld 250807:0612 - [submodule] Update submodule sonic-sairedis to the latest HEAD automatically (sonic-net#23606)
| * ec66359 mssonicbld 250805:2212 - Bullseye is EOL, use the archive repo (sonic-net#23589)
| * 124de26 anamehra 250801:1018 - Update cisco-8000.ini to 202411.1.0.12 (sonic-net#23547)
| * 8469d6f Gagan Punathil Ellath 250731:1507 - [202411][mellanox] Use the PF interface for the midplane communication with the DPU and rshim updates (sonic-net#23533)
| * d51a6d3 rameshraghupathy 250729:0950 - Update 202411 branch cisco-8000-smartswitch.ini with 202411.1.0.12 (sonic-net#23504)
| * 5763622 mssonicbld 250724:1611 - [submodule] Update submodule sonic-gnmi to the latest HEAD automatically (sonic-net#23452)
| * 4a14f10 mssonicbld 250724:1412 - Improve GNMI_CLIENT_CERT table to support multiple roles. (sonic-net#23448)
| * c3bd9e0 mssonicbld 250718:1012 - [submodule] Update submodule sonic-utilities to the latest HEAD automatically (sonic-net#23274)
| * c6c864a mssonicbld 250717:0712 - [Mellanox] [Smartswitch] Fix sensors file for Smartswitch (sonic-net#23342)
| * da76d4d Gagan Punathil Ellath 250715:1221 -  [202411][Smartswitch] Fix SN4280 SKU pmon daemon control to skip chassisd
| * 12aa5e0 Liping Xu 250715:1215 - [202411][frr]: Force disable next hop group support (sonic-net#23292)
```
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants