= Major kernel bumps for newbies 1) Grab a clean WIP to use solely for the kernel bump. 2) Edit the source/include/kernel-version.sh variables to reflect the new kernel version. $_F_kernelver_ver should be set to the major version of the new kernel. $_F_kernelver_rel should be reset to 1. $_F_kernelver_stable should be reset to 0, unless there is already a patch level released for this kernel version. 3) Goto the source/base/kernel directory and run `makepkg -Gu` to download the new kernel tarball. 4) Extract the kernel tarball with a command similar to `tar -xf linux-3.4.tar.xz`. 5) Change to the kernel source with a command similar to `cd linux-3.4`. 6) Copy an ARCH config to `.config`. 7) Run this command `ARCH=foo make oldconfig`, being sure to replace `foo` with the current ARCH you are reconfiguring. You will get a number of prompts via a simple text prompt for every new configuration option. The following responses are valid, but not for each prompt: `y/n/m/?`. Use `?` if you need an explaination of the option you are given. `m` is for compiling the option as a module. `y` is either for enabling something or making it a builtin part of the kernel. `n` is to disable the option entirely. This requires some guesswork, so just use your best judgment. It is probably best to get more than one developer to look over it, however. 8) Copy `.config` to overwrite the old ARCH config in the package directory. 8) Repeat steps 6 through 8 for each ARCH. 9) Run this command to return to the previous directory: `cd ..`. 10) Run this command to update all the sha1sums with the new values: `makepkg -Gu`. 11) Get the command you will use to commit the changes in git: `repoman ci` 12) Use the command from `repoman ci` to commit all your changes, but be warey of unrelated changes. 13) Push the changes out to the syncpkgd servers to build the new kernel. 14) Wait for kernel to sync. 15) On genesis, goto `/pub/other/sources/linux-firmware` and run the `fetch-source.sh` executable to generate a new snapshot. Use this to bump the `linux-firmware` package against the new kernel. If a new version is not available, just bump the pkgrel. 16) Once `linux-firmware` is synced, bump the `kernel-initrd` against the new kernel, being sure to reset pkgrel to 1. Remember to bump the makedepends version requirements as needed. 17) Once the `kernel-initrd` is synced, check it against the `kernel-initrd` in current, on genesis, with this command that is run from the root of the WIP's git repo: `tools/initrddiff /pub/frugalware/frugalware-current/frugalware-ARCH/kernel-initrd-* frugalware-ARCH/kernel-initrd-*`. Replace ARCH with the ARCH you are wanting to check. If it appears to check out, then you're good to proceed. Repeat this with all ARCHs as appropriate. 18) Rebuild the following packages against new kernel: `perf` `cpupower` `r8168` `virtualbox-modules` `frandom` `smartcam` `nvidia` `nvidia-173xx` `catalyst` `oss` `crystalhd` You may need to version bump these or find patches if the new kernel breaks their compilation. 19) DONE!