Adam Borowski: > On Sat, Jan 02, 2016 at 08:15:39PM +0100, k...@aspodata.se wrote: > > Steve Litt: > > > Where can I find documentation on how to do this? The last time I > > > compiled a kernel was probably in the 20th century, so I imagine things > > > have changed. > > > > It should be something like: > > > > download your kernel from your favourite site, e.g. > > ftp:ftp.sunet.se/pub/Linux/kernels/ > > Boo! Do you live in 20th century? It's a crime to not use git, especially > when patches are involved. Even if they're not, you save time unpacking / > downloading updates / switching to other releases. > > git clone > git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git
Do you see any difference between the git repo and the tar file ? $ du -s linux-2.6 3009716 linux-2.6 $ ls -l /Net/ftp/ftp.sunet.se/pub/Linux/kernels/v4.x/linux-4.0.tar.xz -rw-r--r-- 1 karl users 82313052 Apr 13 2015 /Net/ftp/ftp.sunet.se/pub/Linux/kernels/v4.x/linux-4.0.tar.xz So for someone who has not compiled the kernel from source, I don't start with the git clone, especially since I don't know anything about their network connection. You might not believe it, but there are still people out there with (plain old telefon system) modems. > > make > > make install > > make modules_install > > This won't let you uninstall cleanly, or deploy to other machines. That lets me deploy to machines without apt or dpkg. I don't uninstall kernels that ofthen so I don't mind the manual way. > make-kpkg --rootcmd fakeroot --initrd -j6 linux-image > (no --initrd if you don't want initrd, replace 6 with the number of cores in > your box) > dpkg -i ~you/linux-image-*.deb > > > ch. bootloader to load your kernal > > make-kpkg will handle grub/lilo config automatically. I don't want that automation so I do: # cat /etc/kernel-img.conf do_symlinks = no do_bootloader = no silent_modules = yes warn_initrd = no /// Yes, I used to use something similar: fakeroot make-kpkg --append-to-version -anne.k6 --revision 1 kernel_image > log 2>&1 but I got: $ cat /var/lib/dpkg/info/kernel-package.list /etc /etc/bash_completion.d /etc/bash_completion.d/make_kpkg /etc/kernel-pkg.conf $ and then I found I could just as easily do it by myself. If you want to use make-kpkg, it nice to set it up, like: # fgrep := /etc/kernel-pkg.conf maintainer := Karl Hammar email := k...@aspodata.se priority := Low /// If you want to do it the debian way, read: https://www.debian.org/doc/manuals/debian-handbook/sect.kernel-compilation.en.html Btw, there you'll find: CULTURE The good old days of kernel-package Before the Linux build system gained the ability to build proper Debian packages, the recommended way to build such packages was to use make-kpkg from the kernel-package package. > > > Do you re-recompile? If so, do > > > you have some sort of file containing all your choices so it's easy? > > > > I think make menuconfig et al. pulls in the current kernels config, > > just make sure you have it in /boot: > > > > # ls -l /boot/*3.12.8* > > -rw-r--r-- 1 root root 118268 Aug 1 15:36 /boot/config-3.12.8-rt11-i3 > > -rw-r--r-- 1 root root 1581413 Aug 1 15:36 /boot/System.map-3.12.8-rt11-i3 > > -rw-r--r-- 1 root root 3458016 Aug 1 15:36 /boot/vmlinuz-3.12.8-rt11-i3 > > The first time you need to copy it by hand as .config to your linux source > directory -- if you want to start with the distribution kernel, that has > every obscure driver as module. You can trim that to only those present > on the compilation box with "make localmodconfig". Another target of note > is "localyesconfig" which converts modules to built-ins, something you want > in a non-initrd kernel. Good to know. Regards, /Karl Hammar ----------------------------------------------------------------------- Aspö Data Lilla Aspö 148 S-742 94 Östhammar Sweden +46 173 140 57 _______________________________________________ Dng mailing list Dng@lists.dyne.org https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng