Skip to content
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

[Mellanox]Support buster #36

Closed
wants to merge 7 commits into from
Closed

[Mellanox]Support buster #36

wants to merge 7 commits into from

Conversation

stephenxs
Copy link
Owner

- What I did
Support buster on Mellanox platform
Some common issues are fixed as well.
This is the clean copy (with cherry-picked commits removed) of #35

- How I did it
Mellanox related commit:

  1. Currently we port SONiC to buster in a way that builds docker-base based on buster and other dockers based on stretch. The benefit is that tasks can be carried out simultaneously.
    The build procedure can be treated as 2 stages.
    The first stage is to build the stretch-based debs and dockers in stretch-based slave docker and the second stage is to build the buster-based ones in the buster-based slave docker.
    One thing we have to pay attention to is some debs depend on kernel should not be built at stretch stage because the kernel isn't ready at that time.
    The idea is to move that kind of debs out of SONIC_STRETCH_DEBS and SONIC_MAKE_DEBS and add them to SONIC_DPKG_DEBS.
    Meanwhile, any dependency explicitly put on the stretch based dockers on kernel should be removed.
  2. Kernel version in some submodules (mft) should also be updated.
  3. On buster slave docker, in root file system of target (sonic-buildimage/fsroot), the dir libxxx and sbin are symbol links to corresponding subdirs in /usr. When building the image for Mellanox platform, the Debian packages are extracted to target file system by using "dpkg --extract", which corrupts the above-mentioned symbol links. To resolve this issue, we extract the dpkg to a temporary dir and then copy the extracted files into the target file system.

Common issues fixed:

  1. Use APIClient instead of Client according to API update in docker-wait-any.
  2. Install haveged which accelerates the initialization of /dev/random (crng init) which is responsible to random number generation
    On some devices the system can take very long to start. Eventually we found it is because crng init takes very long to finish.
    Haveged resolves this problem

- How to verify it

- Description for the changelog

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

Stephen Sun added 7 commits March 20, 2020 17:46
Currently we port SONiC to buster in a way that building docker-base based on buster and other dockers based on stretch.
The benefit is that tasks can be carried out simultaneously.
The build procedure can be treated as 2 stages.
The first stage is to build the stretch-based debs and dockers and the second stage is to build the buster-based ones.
One thing we have to pay attention to is some debs depend on kernel should not be built at stretch stage because the kernel isn't available at that time.
The idea is to move that kind of debs out of SONIC_STRETCH_DEBS and SONIC_MAKE_DEBS and add them to SONIC_DPKG_DEBS.
Meanwhile, any dependency explicitly put on the stretch based dockers on kernel should be removed.
…crng init) which is responsible to random number generation

On some devices the system can take very long to start. Eventually we found it is because crng init takes very long to finish.
Haveged resolves this problem
@stephenxs
Copy link
Owner Author

PR to Guohan's repo #54 has been opened.

@stephenxs stephenxs closed this Mar 23, 2020
@stephenxs stephenxs deleted the buster-mellanox-clean branch March 23, 2020 03:03
stephenxs pushed a commit that referenced this pull request Mar 25, 2022
f00efef Longxiang Lyu Wed Mar 16 09:12:46 2022 +0800 Add a command line option to store logs into a separate file (#41)
ff2e67d Longxiang Lyu Tue Mar 15 09:10:59 2022 +0800 Add default port cable type (#39)
ebbb4d8 Jing Zhang Mon Mar 14 15:41:11 2022 -0700 Prevent switching MUX to "Unknown" (#36)
c779b8f Longxiang Lyu Thu Mar 10 21:35:11 2022 +0800 [nonfunctional] Use LinkProberStateMachineBase (#38)
b9fedd0 Longxiang Lyu Wed Mar 9 13:03:58 2022 +0800 [NONFUNCTIONAL] Add LinkProberStateMachineBase (#37)
bedd42b Longxiang Lyu Wed Mar 9 10:03:00 2022 +0800 Add .clang-format file to format code (#28)
9fe4fc6 Guohan Lu Thu Mar 3 17:51:43 2022 -0800 [doc]: add lgtm badge in README.md
c1249d9 Longxiang Lyu Wed Mar 2 18:05:18 2022 +0800 Enable lgtm (#33)
b8514c6 Longxiang Lyu Wed Mar 2 13:34:39 2022 +0800 Collect port cable type to use corresponding state machine (#31)
9b59ef9 Longxiang Lyu Wed Mar 2 07:19:33 2022 +0800 Improve make clean (#32)
stephenxs pushed a commit that referenced this pull request Apr 2, 2022
ca4b9a1 Guohan Lu Thu Mar 3 17:51:43 2022 -0800 [doc]: add lgtm badge in README.md
00c9b21 Longxiang Lyu Wed Mar 2 18:05:18 2022 +0800 Enable lgtm (#33)
3ae9be4 Longxiang Lyu Wed Mar 2 07:19:33 2022 +0800 Improve make clean (#32)
6997a1f Longxiang Lyu Wed Mar 9 10:03:00 2022 +0800 Add .clang-format file to format code (#28)
3368182 Jing Zhang Mon Mar 14 15:41:11 2022 -0700 Prevent switching MUX to "Unknown" (#36)
stephenxs pushed a commit that referenced this pull request Jul 14, 2023
67a3bdf show counters wrong cli output fixed (#36)
5b3eea1 Update package cache, and bail on the first error (#35)
1d221b0 dhcpv6 relay UT code coverage improve (#32)
514b084 dhcpv6 packet handling code refine (#30)

Signed-off-by: Vivek Reddy <[email protected]>
stephenxs pushed a commit that referenced this pull request May 6, 2024
…tomatically (sonic-net#18665)

#### Why I did it
src/sonic-platform-pde
```
* 8b44c3c - (HEAD -> master, origin/master, origin/HEAD) Merge pull request #36 from sg893052/PL_PDE_BOOKWORM_MIGRATION (27 hours ago) [賓少鈺]
* 9f7ac0f - PDE Migration to bookworm (2 weeks ago) [sg893052]
```
#### How I did it
#### How to verify it
#### Description for the changelog
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants