Skip to content

Document process about upgrade buildroot and kernel #1049

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

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

mattiaswal
Copy link
Contributor

[skip ci]

Description

Checklist

Tick relevant boxes, this PR is-a or has-a:

  • Bugfix
    • Regression tests
    • ChangeLog updates (for next release)
  • Feature
    • YANG model change => revision updated?
    • Regression tests added?
    • ChangeLog updates (for next release)
    • Documentation added?
  • Test changes
    • Checked in changed Readme.adoc (make test-spec)
    • Added new test to group Readme.adoc and yaml file
  • Code style update (formatting, renaming)
  • Refactoring (please detail in commit messages)
  • Build related changes
  • Documentation content changes
    • ChangeLog updated (for major changes)
  • Other (please describe):

@mattiaswal mattiaswal requested review from troglobit and jovatn May 19, 2025 12:06
@mattiaswal mattiaswal force-pushed the document-kernel-buildroot-update branch from d93c48f to e08b702 Compare May 19, 2025 12:10
Copy link
Contributor

@jovatn jovatn left a comment

Choose a reason for hiding this comment

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

LGTM! But someone more skilled should also have a look.

Some minor comments and questions included.

Comment on lines +222 to +223
branches should contain **only** changes to existing packages (but no
new patches), modifications to Buildroot itself or upstream backports.
Copy link
Contributor

Choose a reason for hiding this comment

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

Probably obvious to those who understand, but to me it is not clear what "(but no new patches)" means. E.g., is it the "new" that is important, and "old patches" are ok?
And should "(but no new patches)" be put at the end of the sentence, or does it only apply to "existing packages"?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Always a case by case, new is a (strict) guideline :D

@mattiaswal mattiaswal force-pushed the document-kernel-buildroot-update branch from e08b702 to 5f01a50 Compare May 27, 2025 07:24
@mattiaswal mattiaswal requested review from jovatn and axkar May 27, 2025 07:24
Copy link
Collaborator

@axkar axkar left a comment

Choose a reason for hiding this comment

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

Great work 🥇

Copy link
Contributor

@troglobit troglobit left a comment

Choose a reason for hiding this comment

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

Some minor stylistic and formatting related comments only. Other than that, great work!

Comment on lines +236 to +245
cd buildroot
```
2. Pull the latest changes from KernelKit
```bash
buildroot (2025.02.1-kkit)$ git pull
```
3. Fetch the latest tags from upstream
```bash
buildroot (2025.02.1-kkit)$ git fetch upstream --tags
```
Copy link
Contributor

Choose a reason for hiding this comment

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

There's a prompt (PS1) only on the last two examples. For consistency and to reduce confusion I suggest we prefix each prompt with ~/src $

Comment on lines +252 to +263
git clone git@github.com:kernelkit/buildroot.git
```

2. Add the upstream remote
```bash
git remote add upstream https://gitlab.com/buildroot.org/buildroot.git
```
3. Checkout old KernelKit branch
```bash
git checkout 2025.02.1-kkit
```

Copy link
Contributor

Choose a reason for hiding this comment

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

Here there are no prompts (PS1), and there's a missing cd buildroot, which is present in the first case.

Comment on lines +267 to +284
4. Create a new branch based on the **previous** KernelKit Buildroot
release (e.g. `2025.02.1-kkit`) and name it according to the naming scheme (e.g. `2025.02.2-kkit`)
```bash
buildroot (2025.02.1-kkit)$ git checkout -b 2025.02.2-kkit
```
5. Rebase the new branch onto the corresponding upstream release
```bash
buildroot (2025.02.2-kkit)$ git rebase 2025.02.2
```
6. Push the new branch and tags
```bash
buildroot (2025.02.2-kkit)$ git push origin 2025.02.2-kkit --tags
```
7. In Infix, checkout new branch of Buildroot
```bash
infix (bump-buildroot)$ cd buildroot
infix/buildroot$ git fetch
infix/buildroot$ git checkout 2025.02.2-kkit
Copy link
Contributor

Choose a reason for hiding this comment

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

And now the prompts are back ... you get my point :-)

There's a similar section below this that has the exact same problems, so please have a look at that too.

Comment on lines +291 to +295
> **Note:** Note: Remember to set the pull request label to `ci:main` to ensure full CI coverage.

> **Note:** It is **not** allowed to rebase the branch when bumped in Infix.

#### Linux kernel
Copy link
Contributor

Choose a reason for hiding this comment

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

Copy link
Contributor

Choose a reason for hiding this comment

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

And either collapse the two notes into one, or "spread them out" a bit for legibility.

Comment on lines +297 to +308
KernelKit maintains an internal [fork of Linux
kernel](https://github.com/kernelkit/linux), with branches following
the naming scheme `kkit-linux-[version].y`, e.g. `kkit-6.12.y`, which
means a new branch should be created whenever the major kernel version
is updated. This branch should
contain *all* kernel patches used by Infix.

KernelKit track the latest Linux kernel LTS (Long-Term Support)
release and updates. The upgrade of LTS minor releases is expected to
have low impact and should be done as soon as a patch release of the
LTS Linux kernel is available.

Copy link
Contributor

Choose a reason for hiding this comment

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

I suggest "reflowing" all paragraphs with M-q in Emacs so they are friendly to read also for those browsing the .md files directly.

Comment on lines +367 to +368
6. Push changes
Commit and push the changes. Don’t forget to update the changelog.
Copy link
Contributor

Choose a reason for hiding this comment

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

In markdown rendering these two lines will be collapsed into one.

Also, s:changelog:doc/ChangeLog.md:


7. Create a pull request.

> **Note:** Remember to set the pull request label to `ci:main` to ensure full CI coverage.
Copy link
Contributor

Choose a reason for hiding this comment

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

Again, use ghfm markup for notes as mentioned above.

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.

4 participants