.. |ss| raw:: html .. |se| raw:: html |ss| abc\ |se|\defg Some thoughts on Eudyptula ========================== Working with linux-next ----------------------- Normally, we should follow Linux's branch, and add **linux-next** remote, as explained in `kernel.org help `__. However, to build my own kernel for real usage, a stable one is much better, which tags are not in Linus's branch. Adding Greg's stable branch remote branch would just be a pain in the ass. However, I had this discussion on IRC: :: 2021/05/13 11:40 I am currently using Linus's branch, with another remote (linux-next). For the first time, I would like to use "for real" the latest stable (as of today: 5.12.3), but I cannot find such tag. I just added "stable" remote (https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git), and currently it is being updated. Is it the correct way to have both linux-next and a useable/stable kernel ? 2021/05/13 12:12 bodiccea: yes. 2021/05/13 12:12 bodiccea: you can just use that linux.git tree as I keep it up to date with Linus's tree every -rc release at the longest, and sometimes daily if I'm bored :) 2021/05/13 12:13 * gregkh is reminded to go update it right now... So, the better is to completely forget about Linus' branch. The procedure is therefore: 1. **Clone gregkh's stable blanch :** :: $ git clone https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git Cloning into 'linux'... ... 2. **Add a linux-next remote tracking branch :** :: $ cd linux $ git remote add linux-next https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git 3. **Fetch linux-next and tags :** :: $ git fetch linux-next $ git fetch --tags linux-next 4. **Regular tracking :** :: $ git checkout master # to be safe ... $ git remote update Get latest versions ------------------- 1. **Latest stable versions** :: $ git tag -l "v*" | grep -ve -rc | sort -V | tail -5 v5.11.22 v5.12 v5.12.1 v5.12.2 v5.12.3 2. **Latest -rc versions** :: $ git tag -l "v*" | grep -e -rc | sort -V | tail -5 v5.12-rc6 v5.12-rc7 v5.12-rc8 v5.13-rc1 v5.13-rc2 3. **Latest linux-next versions** :: $ git tag -l "next-*" | tail -5 next-20210512 next-20210513 next-20210514 next-20210518 next-20210519 Kernel config (Ubuntu) ---------------------- We should keep a .config somewhere, that we can use as a starting point for new kernels. Here: ../ Doc: * `issue with AD9467 `__ (Fixed as of 5.12.5) * `issue with signed kernel `__ 1. **First time, get latest Ubuntu kernel config file** :: $ cd linux $ git checkout TAG $ cp /boot/config-x.y.z-t-generic .config $ make olddefconfig # disable trusted keys $ scripts/config --set-str SYSTEM_TRUSTED_KEYS "" or: scripts/config --disable SYSTEM_TRUSTED_KEYS $ cp .config ../kernel-config/$(git describe --tags) ... 2. **Then, just update config for new versions** :: $ cd linux $ git checkout TAG $ cp ../kernel-config/TAG .config $ make olddefconfig or: make oldconfig ... Kernel build (deb package) -------------------------- :: $ cd linux $ make -j 2 bindeb-pkg LOCALVERSION=-bodi