Skip to content

How to build a new mariux kernel

Donald Buczek edited this page Jan 19, 2024 · 6 revisions

Kernel Repository

Clone or Update

Note: In this document, we use mariux64 as the upstream repository name instead of the default origin. This allows a single local repository to track multiple remotes (e.g. linus, stable, etc.) without confusion over a default remote.

First time only: Clone this repository into your local repository

cd /scratch/local2/
git clone --origin mariux64 git@github.molgen.mpg.de:mariux64/linux.git
cd linux

Update your local repository

cd /scratch/local2/linux
git fetch mariux64

Check out the relevant mariux64 branch

New kernels from kernel.org are auto-build and pushed to our repository. Each release on kernel.org has its own branch here. This guide references the v6.6.12 release as an example which becomes the linux-6.6.12-mpi branch in our repository.

git checkout linux-6.6.12-mpi

Configure

cp config-mpi .config
make olddefconfig

Optional: Configuration Changes and Testing

Make any necessary configuration changes at this stage. Remember to perform test runs.

make menuconfig
make -j $(nproc)
sudo mpi/install.sh
sudo mxgrub --reboot

Commit your configuration changes:

make savedefconfig
cp defconfig config-mpi
git commit -m"config-mpi: Enable BLABLAOPT" config-mpi
git push mariux64

Create a tag for the new Mariux64 kernel number

Utilize the next-kernel-number script to identify the next available Mariux64 kernel build number. Then, create a release tag with this number and push it to the GitHub repository.

mpi/next-kernel-number
git tag mariux-6.6.12-461
git push mariux64 mariux-6.6.12-461

bee-files repository

Assuming you have a bee-files repository on ~/git/bee-files

2DO: The SRCURL procedure is very ugly

cd ~/git/bee-files
git checkout master
git pull
git checkout -b add-linux-6.6.12
cp linux-6.6.11-460.bee linux-6.6.12-461.bee
vi linux-6.6.12-461.bee    # switch SRCURL to github URL
./linux-6.6.12-461.bee     # abort with ^C when download complete!
scripts/srcurl  /scratch/local/bee-USERNAME/linux/files/mariux-6.6.12-461.tar.gz
vi linux-6.6.12-461.bee    # switch back to beehive SRCURL as displayed by output of previous command
unshare -r ./linux-6.6.12-461.bee -c
git add linux-6.6.12-461.bee
git commit -m"linux: Add version 6.6.12" linux-6.6.12-461.bee

Optional: Build nvidia driver for the new kernel

cp nvidia_linux-6.6.11-460-535.104.05-0.bee nvidia_linux-6.6.12-461-535.104.05-0.bee
unshare -r ./nvidia_linux-6.6.12-461-535.104.05-0.bee
git add nvidia_linux-6.6.12-461-535.104.05-0.bee
git commit -m"nvidia_linux: Add version 535.104.05 for Linux 6.6.12-461"

Create PR

git push --set-upstream origin add-linux-6.6.12
firefox https://github.molgen.mpg.de/mariux64/bee-files/pull/new/add-linux-6.6.12