Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
a6d8fbc
cranky-docs: Initial cranky documentation commit. WIP.
benjamin051000 Dec 10, 2024
b4e92fc
(WIP) Add more info to cranky tutorial. Also, switch to noble gke
benjamin051000 Dec 11, 2024
442a961
Remove placeholder links that prevent sphinx build.
benjamin051000 Dec 12, 2024
5d58b2a
Add MyST colon fence extension.
benjamin051000 Dec 12, 2024
c4c6f61
Add `cranking-the-kernel.md` to the landing page.
benjamin051000 Dec 12, 2024
6635ade
(WIP) add comments
benjamin051000 Dec 18, 2024
0b008e5
Improve title
benjamin051000 Dec 18, 2024
4a280f5
Change filename to match title
benjamin051000 Dec 18, 2024
0b55aa3
Improve introduction.
benjamin051000 Dec 18, 2024
257c271
Number sections. Output of `git checkout cranky-tutorial`, other misc.
benjamin051000 Dec 18, 2024
9454711
Set up tutorial parent page.
benjamin051000 Jan 14, 2025
c6cbabb
Add output of link-tb
benjamin051000 Jan 15, 2025
2bb7e7c
Add git commit output of `cranky close`
benjamin051000 Jan 15, 2025
bf0d4a1
Fix pygment lexer gitdiff -> diff
benjamin051000 Jan 15, 2025
c4cba45
Add output of cbd
benjamin051000 Jan 15, 2025
feb0946
Annecyh/cranky tutorial suggested edits (#52)
benjamin051000 Jan 21, 2025
2ae65e6
Annecyh/cranky tutorial suggested edits (#53)
benjamin051000 Jan 22, 2025
670ae36
Remove numbered list headings
benjamin051000 Jan 22, 2025
e250009
Revert to pulling master for cranky. Be more vague with elapsed time for
benjamin051000 Jan 22, 2025
9e92fa2
WIP More updates
benjamin051000 Jan 22, 2025
821290c
Annecyh/cranky tutorial suggested edits (#55)
benjamin051000 Jan 23, 2025
b702358
Add cbd.kernel as a git remote before pushing
benjamin051000 Jan 23, 2025
4a38a25
Add info about reviewing `.debdiff` files after `cranky review *.chan…
benjamin051000 Jan 23, 2025
c4fd75d
Add special case when `cranky close` fails due to annotation changes
benjamin051000 Jan 23, 2025
7dda2d1
docs(tutorial): Updated commands and descriptions
AnneCYH Jan 24, 2025
27f7ee3
docs(conf): ignore anchor check for kteam-docs
AnneCYH Jan 24, 2025
f15683a
Remove unnecessary explanation about `cranky close`
benjamin051000 Jan 24, 2025
0b4634d
Added Ignore yes
AnneCYH Feb 11, 2025
dc34ff3
Fixed terminal command for cranky open
AnneCYH Feb 11, 2025
d2866c3
update on top of ben's tutorial (#59)
benjamin051000 Feb 12, 2025
ade4183
Add local kernel build dep install instructions
benjamin051000 Feb 12, 2025
3cf0694
WIP
AnneCYH Feb 13, 2025
4b2c4ed
Add quotes to fix bash syntax highlighting issue
benjamin051000 Feb 13, 2025
d959a9e
Un-comment update-dependents step
benjamin051000 Feb 24, 2025
8786d41
Update crank-your-first-kernel.md
AnneCYH Mar 4, 2025
3350371
docs: fix kteam-tools path
AnneCYH Mar 11, 2025
b0aff7e
Update docs/tutorial/crank-your-first-kernel.md
benjamin051000 Mar 11, 2025
b783ef5
Remove `:user:` and `:host:` in terminal prompt.
benjamin051000 Mar 21, 2025
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
6 changes: 5 additions & 1 deletion docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -201,6 +201,7 @@
r"https://github\.com/.*",
r"https://ubuntu.com/about/release-cycle",
r"https://snapcraft.io/docs/",
r"https://canonical-kteam-docs.readthedocs-hosted.com/en/latest/how-to/new_starter/newstarter.html",
]


Expand All @@ -214,7 +215,10 @@
# NOTE: By default, the following MyST extensions are enabled:
# substitution, deflist, linkify

# myst_enable_extensions = set()
myst_enable_extensions = {
"colon_fence",
"substitution",
}

# Custom Sphinx extensions; see
# https://www.sphinx-doc.org/en/master/usage/extensions/index.html
Expand Down
71 changes: 71 additions & 0 deletions docs/how-to/cranking/set-up-cranky-environment.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
# How to set up cranky environment

This guide describes the one-off process to configure your build environment to
crank Ubuntu kernels using `cranky`.

## Install dependencies

First, you will need to install the required packages.

### Debian packages

Use apt to install the following debian packages:

```{code-block} text
sudo apt install \
bash-completion \
build-essential \
ccache \
debhelper \
devscripts \
docbook-utils \
fakeroot \
gawk \
git \
git-email \
kernel-wedge \
libncurses5-dev \
makedumpfile \
python3-git \
python3-launchpadlib \
python3-requests \
python3-ruamel.yaml \
schroot \
sharutils \
transfig \
ubuntu-dev-tools \
wget \
xmlto
```

### Snapcraft package

Install snapcraft according to the Ubuntu release running on your build machine.

```{tip}
You can check your release of Ubuntu by running `lsb_release -a`.
```

`````{tab-set}
````{tab-item} 24.04 LTS (Noble Numbat) or later

Install `snapcraft` using snap:

```{code-block} text
snap install snapcraft --classic
```
````

````{tab-item} 22.04 LTS (Jammy Jellyfish) or earlier

Install `snapcraft` using apt:

```{code-block} text
sudo apt install snapcraft
```
````

`````



9 changes: 9 additions & 0 deletions docs/how-to/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ kernel packages and components.

Source code access and management </how-to/source-code/index>
Development and customization </how-to/develop-customize/index>
Set up cranky environment </how-to/cranking/set-up-cranky-environment>
Test kernels in -proposed </how-to/testing-verification/test-kernel-in-proposed>
Contribute to kernel docs </how-to/contribute>
```
Expand All @@ -22,6 +23,14 @@ tree to build custom kernel modules, and more.

- [Obtain kernel source for an Ubuntu release using Git](/how-to/source-code/obtain-kernel-source-git)

## Cranking kernels

In Canonical, "kernel cranking" refers to the process of applying patches and
updates to an Ubuntu kernel, packaging it, and getting it ready for testing --
all done using the `cranky` toolchain.

- [Set up cranky environment](/how-to/cranking/set-up-cranky-environment)

## Development and customization

The steps to build a kernel is similar but may have slightly difference
Expand Down
5 changes: 3 additions & 2 deletions docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,10 +25,10 @@ processes for customization and maintenance.

````{grid} 1 1 2 2

```{grid-item-card} [Tutorials](index)
```{grid-item-card} [Tutorials](/tutorial/index)

**Start here**: a hands-on introduction to Ubuntu Linux kernel development for
new users
new users.
```

```{grid-item-card} [How-to guides](/how-to/index)
Expand Down Expand Up @@ -73,6 +73,7 @@ fixes and constructive feedback.
:hidden:
:maxdepth: 2

/tutorial/index
/how-to/index
/reference/index
/explanation/index
Expand Down
5 changes: 2 additions & 3 deletions docs/reference/glossary.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,16 +38,15 @@ HWE
linux-meta
Refers to a set of meta-packages in Linux distributions like Ubuntu. These
meta-packages do not contain the kernel binaries or source code themselves but
instead define dependencies that point
to the latest kernel packages.
instead define dependencies that point to the latest kernel packages.
By installing a linux-meta package (e.g. linux-generic), users can ensure they
always receive the latest version of a specific kernel series through updates.
In the kernel development and {term}`SRU` life cycle, linux-meta acts as a
bridge between the release of new kernel versions and the package manager.
When a new kernel version is released and marked stable, the linux-meta
package is updated to reference the new version, allowing automatic upgrades.

linux-signed
linux-signed
Refers to kernel packages that are cryptographically signed to ensure their
integrity and authenticity.
These signatures are crucial for secure boot environments, as they enable the
Expand Down
Loading
Loading