Warning: this is an htmlized version!
The original is here, and the conversion rules are here. |
####### # # E-scripts on building the Linux kernel and doing some related things. # # Note 1: use the eev command (defined in eev.el) and the # ee alias (in my .zshrc) to execute parts of this file. # Executing this file as a whole makes no sense. # An introduction to eev can be found here: # # (find-eev-quick-intro) # http://angg.twu.net/eev-intros/find-eev-quick-intro.html # # Note 2: be VERY careful and make sure you understand what # you're doing. # # Note 3: If you use a shell other than zsh things like |& # and the for loops may not work. # # Note 4: I always run as root. # # Note 5: some parts are too old and don't work anymore. Some # never worked. # # Note 6: the definitions for the find-xxxfile commands are on my # .emacs. # # Note 7: if you see a strange command check my .zshrc -- it may # be defined there as a function or an alias. # # Note 8: the sections without dates are always older than the # sections with dates. # # This file is at <http://angg.twu.net/e/kernel.e> # or at <http://angg.twu.net/e/kernel.e.html>. # See also <http://angg.twu.net/emacs.html>, # <http://angg.twu.net/.emacs[.html]>, # <http://angg.twu.net/.zshrc[.html]>, # <http://angg.twu.net/escripts.html>, # and <http://angg.twu.net/>. # ####### I'm trying to reorganize this file. # «.loaded-kernel» (to "loaded-kernel") # «.boot-parameters» (to "boot-parameters") # «.kernel-parameters» (to "kernel-parameters") Notes on compiling the Linux kernel the Debian way: # «.kernel-flavours-2.2» (to "kernel-flavours-2.2") # «.flavours-2.2_index» (to "flavours-2.2_index") # «.kernel-flavours_naive» (to "kernel-flavours_naive") # «.kernel-source.deb» (to "kernel-source.deb") # «.make-kpkg_patch» (to "make-kpkg_patch") # «.make-kpkg_hacking» (to "make-kpkg_hacking") # «.make-kpkg» (to "make-kpkg") # «.make-kpkg_docs» (to "make-kpkg_docs") On downloading: # «.kernel.org-mirrors» (to "kernel.org-mirrors") # «.downloading» (to "downloading") # «.apply_version_patch» (to "apply_version_patch") On how to compile the Linux kernel "by hand": # «.compile20» (to "compile20") # «.gdb20» (to "gdb20") # «.compile22» (to "compile22") # «.compile22_index» (to "compile22_index") # «.fast-unpack-22xx» (to "fast-unpack-22xx") On kernel patches: # «.ppscsi-patch-2.2» (to "ppscsi-patch-2.2") # «.ppscsi-patch-2.4» (to "ppscsi-patch-2.4") # «.scanner» (to "scanner") # «.kdb» (to "kdb") # «.make-kpkg-ide» (to "make-kpkg-ide") # «.make-kpkg-ide-install» (to "make-kpkg-ide-install") # «.pcsnddrv» (to "pcsnddrv") Etc/unclassified: # «.gdb_ing_the_kernel» (to "gdb_ing_the_kernel") # «.statm» (to "statm") # «.kernel-patch-udma0» (to "kernel-patch-udma0") # «.kernel-patch-udma» (to "kernel-patch-udma") # «.kerneld_docs» (to "kerneld_docs") # «.2.4.9» (to "2.4.9") # «.2.4.17» (to "2.4.17") # «.2.4.9-uml» (to "2.4.9-uml") # «.2.4.18» (to "2.4.18") # «.2.4.18-uml» (to "2.4.18-uml") # «.user-mode-linux» (to "user-mode-linux") # «.kernel-source-2.6.8» (to "kernel-source-2.6.8") # «.kernel-source-2.4.26» (to "kernel-source-2.4.26") # «.make-kpkg-timestamps-k26» (to "make-kpkg-timestamps-k26") # «.k26.Configure.help» (to "k26.Configure.help") # «.vcsa» (to "vcsa") # «.kernel-backports» (to "kernel-backports") # «.linux-on-etch» (to "linux-on-etch") # «.linux-on-lenny» (to "linux-on-lenny") # «.linux-on-lenny-grub-gwen» (to "linux-on-lenny-grub-gwen") # «.squeeze» (to "squeeze") # «.update-grub» (to "update-grub") # «.lugao» (to "lugao") # «.top» (to "top") ##### # # loaded kernel # 2013may20 # ##### # «loaded-kernel» (to ".loaded-kernel") # (find-es "kernel" "kernel-backports") # (find-sh "uname -a") # (find-fline "/proc/version") # (find-sh "dmesg") # (find-zsh "installeddebs | sort | egrep 'linux|kernel'") # (find-zsh "availabledebs | sort | egrep 'linux|kernel'") # (find-status "linux-image-3.2.0-0.bpo.2-686-pae") # (find-vldifile "linux-image-3.2.0-0.bpo.2-686-pae.list") # (find-udfile "linux-image-3.2.0-0.bpo.2-686-pae/") # (find-udfile "linux-image-3.2.0-0.bpo.4-686-pae/") # (find-zsh "availabledebs | sort | grep linux") # (find-zsh "installeddebs | sort | grep kernel") # (find-zsh "availabledebs | sort | grep kernel") # (find-status "linux-image-3.2.0-0.bpo.4-686-pae") # (find-vldifile "linux-image-3.2.0-0.bpo.4-686-pae.list") # (find-udfile "linux-image-3.2.0-0.bpo.4-686-pae/") # (find-status "linux-doc-3.2") # (find-vldifile "linux-doc-3.2.list") # (find-udfile "linux-doc-3.2/") # (find-status "firmware-linux-free") # (find-vldifile "firmware-linux-free.list") # (find-udfile "firmware-linux-free/") # debian-kernel-handbook linux-source ##### # # Linux kernel command line parameters # 2012nov01 / 2016feb15 # ##### # «boot-parameters» (to ".boot-parameters") # «kernel-parameters» (to ".kernel-parameters") # http://oreilly.com/linux/excerpts/9780596100797/kernel-boot-command-line-parameter-reference.html # http://www.kernel.org/doc/Documentation/kernel-parameters.txt # http://www.cyberciti.biz/tips/10-boot-time-parameters-you-should-know-about-the-linux-kernel.html kernel-parameters # (find-zsh "locate kernel-parameters") # (find-zsh "dmissing kernel-parameters") # (find-zsh "apt-file search kernel-parameters") # (find-fline "/usr/share/doc/" "linux-") # (find-fline "/usr/share/doc/linux-doc/") # (find-udfile "linux-doc/kernel-parameters.txt.gz") # (find-udfile "linux-doc/kernel-parameters.txt.gz" "init=") ##### # # kernel flavours for 2.2.x (with the Makefile patch) # 2000dec26 # ##### # «kernel-flavours-2.2» (to ".kernel-flavours-2.2") # This block is what I use to recompile 2.2.18 on my Debian box; as I # want flavours and the ppscsi patch things are not very simple. #* # Unpack an "upstream" 2.2.18. My ~/tmp/linux-2.2.18.tar.gz should be # equivalent to the one in kernel.org, but it was obtained by patching # the 2.2.1 sources all the way up to a 2.2.18 and tgzing the result; # so I prefer to keep it in a non-standard place. # (to "apply_version_patch") # cd /usr/src/ rm -Rv linux linux-2.2 tar -xvzf ~/tmp/linux-2.2.18.tar.gz cd /usr/src/ ln -s linux linux-2.2 gzip -cd $S/http/www.kernel.org/pub/linux/kernel/v2.2/patch-2.2.19.gz \ | patch -p0 \ | tee /tmp/op # The flavours trick doesn't work out of the box, as it can be seen in: # (to "kernel-flavours_naive") # But: # (find-fline "/usr/doc/kernel-package/Flavours.gz") # (find-fline "/usr/doc/kernel-package/Flavours.gz" "+++ Makefile") # (find-k22file "debian/rules" "FLAVOURS") # (find-k22file "Makefile" "modules_install:") # (find-k22file "Makefile" "\ninclude/linux/version.h:") # (find-k22file "Makefile" "KERNELRELEASE=") # ...we only need a very small patch, that we now do "by hand". cd /usr/src/linux/ patch Makefile <<'%%%' 63c63,74 < KERNELRELEASE=$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION) --- > # FLAVOUR is like EXTRAVERSION, but it's meant for local use, and the > # dash between it and the rest of the version is supplied here. It's used > # by make-kpkg's --flavour switch, see /usr/share/doc/kernel-package/Flavours. > #FLAVOUR = > > ifneq ($(strip $(FLAVOUR)),) > INT_FLAV := -$(FLAVOUR) > else > INT_FLAV := > endif > > KERNELRELEASE=$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION)$(INT_FLAV) %%% # Note: debian/rules will check if the main Makefile accepts flavours, # but it will do that by grepping for a line starting with "FLAVOUR", # i.e., it seems that we are supposed to set FLAVOUR inside the # Makefile, not at the invocation of "make"... my way of doing things # is working well, though -- but it may be the wrong way. Help, please? # (find-k22file "debian/rules" "FLAVOURS") #* # Follow this (and get back later) to apply the PPSCSI patch # (to "ppscsi-patch-2.2") #* # Now make the .deb: # (to "make-kpkg_hacking") # cd /usr/src/linux/ make-kpkg clean |& tee omkc cp ~/k22conf .config # kernel-headers-2.2.18 won't be very useful because all standard # dependency on kernel-headers specify an explicit version: # (find-fline "$SDEBIAN/dists/potato/main/binary-i386/Packages.gz") # (find-fline "$SDEBIAN/dists/potato/main/source/Sources.gz") #make-kpkg --revision=custom.1 --flavour=edrx kernel_headers |& tee omkks #make-kpkg --revision=custom.1 --flavour=edrx kernel_source |& tee omkks make-kpkg --revision=custom.1 --flavour=edrx kernel_image |& tee omkki # «flavours-2.2_index» (to ".flavours-2.2_index") # (to "compile22_index") # Now index the ".c/.h/.S"s that were compiled into the kernel. # You need to have applied the patch described in: # (to "make-kpkg_patch") # to make this work. etags `cat .files.chS.used` glimpseindex -H . -F < .files.chS.used # (find-k22tag "con_stop") # Inspect the package: # ls -l /usr/src/kernel-image-2.2.18-edrx_custom.1_i386.deb ar p /usr/src/kernel-image-2.2.18-edrx_custom.1_i386.deb data.tar.gz \ | tar -tzf - # The modules are going into /lib/modules/2.2.18-edrx/, and running # "uname -r" on this kernel answers "2.2.18-edrx", which makes the # module utils search for modules in the right places. # (find-fline "/lib/modules/2.2.17-edrx/") #* dpkg -i /usr/src/kernel-image-2.2.18-edrx_custom.1_i386.deb # (find-status "kernel-image-2.2.18-edrx") # (find-vldifile "kernel-image-2.2.18-edrx.list") # (find-fline "/usr/doc/kernel-image-2.2.18-edrx/") # (find-fline "/boot/") # (find-fline "/lib/modules/") # (find-es "grub" "grub-adjust") # (find-k22file "") # (find-k22file "omkki") # (find-k22file "omkki" "stamp-build:") # (find-fline "/usr/share/kernel-package/rules") # (find-fline "/usr/share/kernel-package/rules" "stamp-build:") # (find-fline "/usr/share/kernel-package/rules" "target = $(kimage)") # (find-fline "/usr/bin/make-kpkg") # (find-fline "/usr/src/") ##### # # kernel flavours (using naively and getting frustrated in the end) # 2000jul20 # ##### # «kernel-flavours_naive» (to ".kernel-flavours_naive") # (find-deblistsw3 "debian-user-9910/msg00243.html") # Follow this link for something that really works: # (to "kernel-flavours-2.2") make-kpkg clean make-kpkg --revision=custom.1 --flavour=-allmod ....... #* # Unpack an "upstream" 2.2.16. My ~/tmp/linux-2.2.15.tar.gz should be # equivalent to the one in kernel.org, but it was obtained by patching # the 2.2.1 sources all the way up to a 2.2.15 and tgzing the result; # so I prefer to keep it in a non-standard place. # cd /usr/src/ rm -Rv linux linux-2.2 tar -xvzf ~/tmp/linux-2.2.15.tar.gz cd /usr/src/ ln -s linux linux-2.2 gzip -cd $S/http/www.kernel.org/pub/linux/kernel/v2.2/patch-2.2.16.gz \ | patch -p0 |& tee linux/op # Make the .deb: # cd /usr/src/linux/ make-kpkg clean |& tee omkc cp ~/k22conf .config make-kpkg --revision=custom.1 --flavour=edrx kernel_image |& tee omkki # Argh, it is still putting its modules in "/lib/modules/2.2.16/"! # ls -l /usr/src/kernel-image-2.2.16-edrx_custom.1_i386.deb ar p /usr/src/kernel-image-2.2.16-edrx_custom.1_i386.deb data.tar.gz \ | tar -tzf - # (find-k22file "") # (find-fline "/usr/src/") #* ##### # # official kernel tarballs -> kernel-source-xxx_yyy.deb (old notes) # 2000jul16 # ##### # «kernel-source.deb» (to ".kernel-source.deb") # (find-es "kernel" "fast-unpack-22xx") # (find-es "kernel" "make-kpkg") # (find-fline "$S/http/www.kernel.org/pub/linux/kernel/") # (find-fline "$S/http/www.kernel.org/pub/linux/kernel/v2.2/") movelocaldeb /usr/src/kernel-source-2.2.16*.deb dpkg -i /usr/src/.debs/binary-i386/web/kernel-source-2.2.16_Custom.1.00.deb # (find-k22file "") # (find-k22file "omkp-ki") # (find-k22file "debian/") # (find-k22file "debian/rules") # (find-k22file "debian/rules" "FLAVOURS") # (find-fline "/usr/bin/make-kpkg" "EOUSAGE") # (find-fline "/usr/doc/kernel-package/") # (find-fline "/usr/doc/kernel-package/Flavours.gz") # (find-k22file "kernel/ksyms.c") # (find-k22file "arch/i386/kernel/i386_ksyms.c") # (eeman "depmod") # (eeman "insmod") # (find-fline "/etc/modules.conf") # (find-es "kernel" "make-kpkg") # (find-k22file "Documentation/Configure.help") # (find-k22file "Documentation/Configure.help" "kmod") # (find-k22file "Documentation/kmod.txt") # (find-k22file "kernel/kmod.c") ##### # # make-kpkg - a patch for the "rules" file # 2000dec23 # ##### # «make-kpkg_patch» (to ".make-kpkg_patch") # Here's an important/nice patch for make-kpg's "rules" file. # At present it must be applied by hand. # See its comments for its description and # (to "make-kpkg_hacking") # for how I got it. # This is how things should look in the "rules" after hand-patching. # The extra lines are the ones that start with "sleep", "find", or "#". # Note: I have ideological reasons for not surrounding the new lines # with "ifdef"s; I think it is just plain wrong to let the kernel # sources be as difficult to browse as they are by default. # (find-shkpkgfile "rules" "# Builds the binary package.") # (find-shkpkgfile "rules.orig" "# Builds the binary package.") -test -f stamp-configure || $(deb_rule) configure # # Save a timestamp before running "make-bzImage": sleep 2; touch stamp-kimage; sleep 2 $(MAKE) $(do_parallel) $(FLAV_ARG) ARCH=$(KERNEL_ARCH) \ CROSS_COMPILE=$(KERNEL_CROSS) $(target) sleep 2; touch stamp-modules; sleep 2 ifdef MODULES_ENABLED $(MAKE) $(do_parallel) $(FLAV_ARG) ARCH=$(KERNEL_ARCH) \ CROSS_COMPILE=$(KERNEL_CROSS) modules endif # # Now find all .c/.h/.S files that were read between # stamp-kimage and the present moment; these are exactly the # ones that are being compiled into the kernel. Save the # listing in .files.chS.used; it will be used by some indexing # programs (etags and glimpse) later, see: # (to "flavours-2.2_index") # (eeman "1 find" "anewer") find * -name '*.[chS]' -and -anewer stamp-kimage > .files.chS.used find * -name '*.[chS]' -and -not -anewer stamp-kimage > .files.chS.unused touch stamp-build ##### # # make-kpkg - hacking the "rules" file # 2000dec23 # ##### # «make-kpkg_hacking» (to ".make-kpkg_hacking") # (to "make-kpkg_patch") # (to "flavours-2.2_index") # (find-es "make" "make_toposort") # (find-es "make" "make_addtrace") # (find-fline "/usr/share/kernel-package/rules") # (find-fline "~/ICON/toposort.icn") # (find-fline "~/LUA/toposort.lua") # I wanted make-kpkg to place an extra timestamp before the "make # bzImage", to let me index the relevant .c/.h/.S files, but # make-kpkg's "rules" makefile was too complex for barehand hacking; # with the tricks below I was able to find relatively quickly where to # modify the "rules" file. # Here's a message I sent asking about that (it went unanswered AFAIK): # (find-deblistsw3 "debian-user-0008/msg03984.html") #* cd /usr/share/kernel-package/ laf rules* if [ ! -e rules.orig ]; then mv -v rules rules.orig fi cat rules.orig \ | makefile_addtrace \ > rules chmod 755 rules laf rules* #* cat /usr/share/kernel-package/rules \ | makefile_getdeps \ | lua ~/LUA/toposort.lua #* ##### # # make-kpkg (simple uses) # 2000jun13 # ##### # «make-kpkg» (to ".make-kpkg") # (find-es "kernel" "compile22") # (code-c-d "shkpkg" "/usr/share/kernel-package/") (cd /usr/src/; rm -Rv linux linux-2.2; tar -xvzf ~/tmp/linux-2.2.15.tar.gz) cd /usr/src/ mv linux linux-2.2 ln -s linux-2.2 linux cd /usr/src/linux-2.2/ cp ~/k22conf .config make-kpkg --revision=4:angg.00jun13 kernel_image |& tee omkp-ki # (find-angg ".zshrc" "debbasename") movelocaldeb /usr/src/kernel-image-2.2.15_angg*.deb cd /usr/src/.debs/binary-i386/web/ dpkg -i kernel-image-2.2.15_angg*.deb # «make-kpkg-ide» (to ".make-kpkg-ide") # (find-es "kernel" "kernel-patch-udma") (cd /usr/src/; rm -Rv linux linux-2.2; tar -xvzf ~/tmp/linux-2.2.15.tar.gz) cd /usr/src/ mv linux linux-2.2 ln -s linux-2.2 linux cd /usr/src/linux-2.2/ bzcat /usr/src/kernel-patch-2.2.15-ide-20000405/ide.bz2 \ | patch -s -p1 \ |& tee oide.apply date '+patch applied at %Y%b%d %X' \ |& tee .idepatch.status #cp ~/k22conf .config cp ~/k22conf-ide .config #make oldconfig #make menuconfig # (find-k22file ".config") #cp -v .config ~/k22conf-ide make-kpkg --revision=ivox.ide.00jun15 kernel_image |& tee omkp-ki # «make-kpkg-ide-install» (to ".make-kpkg-ide-install") # movelocaldeb /usr/src/kernel-image-2.2.15_ivox*.deb cd /usr/src/.debs/binary-i386/web/ dpkg -i kernel-image-2.2.15_ivox*.deb # (find-status "kernel-image-2.2.15") # (find-vldifile "kernel-image-2.2.15.list") # (find-fline "/usr/doc/kernel-image-2.2.15/") mcopy /boot/vmlinuz-2.2.15 a:k22xxbup ##### # # make-kpkg docs # 2000jun13 # ##### # «make-kpkg_docs» (to ".make-kpkg_docs") # (find-status "kernel-package") # (find-vldifile "kernel-package.list") # (find-fline "/usr/doc/kernel-package/") # (code-c-d "shkpkg" "/usr/share/kernel-package/") # (find-shkpkgfile "") # (find-shkpkgfile "rules") # (find-shkpkgfile "kpkg-vercheck") # (find-fline "/usr/bin/make-kpkg") # (find-fline "/usr/sbin/kernel-packageconfig") # (find-debfaqfile "debian-faq.en.txt.gz" '* 3 "build custom kernels") # (find-debfaqfile "debian-faq.en.txt.gz" "make-kpkg -rev Custom.N kernel_image") # (eeman "1 make-kpkg") # (eeman "5 kernel-package") # (eeman "5 kernel-pkg.conf") # (eeman "8 kernel-packageconfig") # (find-shkpkgfile "Rationale") # (find-fline "/usr/doc/kernel-package/README.gz") # (find-fline "/usr/doc/kernel-package/README.gz" "|----") # (find-fline "/usr/doc/kernel-package/README.gz" "kernel_source") # (find-fline "/usr/doc/kernel-package/Problems.gz") # (find-fline "/usr/doc/kernel-package/Multi-Arch.gz") # (find-fline "/usr/doc/kernel-package/Rationale.gz") # (find-fline "/usr/doc/kernel-package/copyright") # (find-fline "/usr/doc/kernel-package/changelog.gz") # (find-fline "/usr/doc/kernel-package/Flavours.gz") # (find-fline "/etc/kernel-pkg.conf") # (find-shkpkgfile "Config/") # (find-shkpkgfile "Flavours") # (find-shkpkgfile "LiloDefault") # (find-shkpkgfile "LinkPolicy") # (find-shkpkgfile "QuikDefault") # (find-shkpkgfile "README") # (find-shkpkgfile "README" "Brave and the impatient:") # (find-shkpkgfile "README" "stamp-configure") # (find-shkpkgfile "SiloDefault") # (find-shkpkgfile "changelog") # (find-shkpkgfile "config") # (find-shkpkgfile "README.modules") # (find-shkpkgfile "README.tecra") #Boring docs that get included in the newly-made packages. # (find-shkpkgfile "README.headers") # (find-shkpkgfile "README.image") # (find-shkpkgfile "README.source") # (find-shkpkgfile "README.doc") # (find-shkpkgfile "copyright.doc") # (find-shkpkgfile "copyright.headers") # (find-shkpkgfile "copyright.image") # (find-shkpkgfile "copyright.source") #Debian inst/rm scripts. # (find-shkpkgfile "image.postinst") # (find-shkpkgfile "image.postrm") # (find-shkpkgfile "image.preinst") # (find-shkpkgfile "image.prerm") # (find-shkpkgfile "include.postinst") # (find-shkpkgfile "include.prerm") #"control" files. # (find-shkpkgfile "sample.module.control") # (find-shkpkgfile "Control") # (find-shkpkgfile "Control.libc") #"rules" files. # (find-shkpkgfile "rules") # (find-shkpkgfile "sample.module.rules") # (find-fline "/usr/bin/make-kpkg" "$rules_file =") # (find-shkpkgfile "rules") # (find-shkpkgfile "rules" "STAMPS_TO_CLEAN") # (find-shkpkgfile "rules" "$(deb_rule)") # (find-shkpkgfile "rules" '* 2 "$(deb_rule)") # (find-shkpkgfile "rules" '* 3 "$(deb_rule)") # (find-shkpkgfile "rules" '* 4 "$(deb_rule)") # (find-shkpkgfile "rules" '* 5 "$(deb_rule)") # (find-shttpw3 "www.geocities.com/ResearchTriangle/3328/paper/Debian-is-Da-BOMB-53.html") # On modules and sound: # (find-deblistsw3 "debian-user-9905/msg00138.html") # (find-debfaqfile "debian-faq.txt.gz" '* 3 "build custom kernels") # (find-debfaqfile "debian-faq.txt.gz" "make-kpkg -rev Custom.N kernel_image") # (find-fline "/usr/doc/kernel-package/README.gz" "will not try to upgrade") # (find-fline "/usr/doc/kernel-package/README.gz" "patch_the_kernel") ##### # # kernel.org mirrors # 2000mar20 # ##### # «kernel.org-mirrors» (to ".kernel.org-mirrors") # psne http://www.kernel.org/pub/linux/kernel/v2.2/patch-2.2.14.gz # (find-es "net" "debian_mirrors") # (find-fline "$S/http/www.kernel.org/mirrors/") getlinks < $S/http/www.kernel.org/mirrors/index.html \ | perl -nle 'm%^(ftp|http)://(.*?)/% && print $2' \ | sort | uniq \ | tee ~/o mynetselect $(<~/o) # (find-fline "~/o2") http://www.mirror.ac.uk/sites/ftp.kernel.org/pub/linux/kernel/v2.2/linux-2.2.14.tar.gz ####### # # www.br.kernel.com # ####### # (find-shttpw3 "www.kernel.org/mirrors/") # http://www.br.kernel.org/pub/linux/ # ftp://ftp.br.kernel.org/pub/linux/ lynx ftp://ftp.br.kernel.org/pub/linux/kernel/v2.2/ anonftp ftp://ftp.br.kernel.org/pub/linux/kernel/v2.2/ ##### # # downloading new kernel versions # ##### # «downloading» (to ".downloading") psne http://www.kernel.org/mirrors/ lynx /snarf/http/www.kernel.org/mirrors/ cd $S/http/www.br.kernel.org/pub/linux/kernel/ find v2.0 v2.2 psne http://www.br.kernel.org/pub/linux/kernel/v2.0/ psne http://www.ca.kernel.org/pub/linux/kernel/v2.1/ psne http://www.br.kernel.org/pub/linux/kernel/v2.2/ psne http://www.br.kernel.org/pub/linux/kernel/v2.0/patch-2.0.38.gz psne http://www.br.kernel.org/pub/linux/kernel/v2.2/patch-2.2.16.gz mkdir -p /snarf/http/www.br.kernel.org/pub/linux/kernel/v2.1/ cd /snarf/http/www.br.kernel.org/pub/linux/kernel/v2.1/ for i in 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20; do psne $FBOTO_H/linux-2.2.0-pre8.tar.bz2$i.gz done ##### # # applying version patches # 2000dec26 # ##### # «apply_version_patch» (to ".apply_version_patch") #* # Make an "upstream" 2.2.18. My ~/tmp/linux-2.2.15.tar.gz should be # equivalent to the one in kernel.org, but it was obtained by patching # the 2.2.1 sources all the way up to a 2.2.15 and tgzing the result; # so I prefer to keep it in a non-standard place. # cd /usr/src/ rm -Rv linux linux-2.2 tar -xvzf ~/tmp/linux-2.2.15.tar.gz cd /usr/src/ ln -s linux linux-2.2 #gzip -cd $S/http/www.kernel.org/pub/linux/kernel/v2.2/patch-2.2.16.gz \ # | patch -p0 |& tee linux/op for i in v2.2/patch-2.2.16.gz \ v2.2/patch-2.2.17.gz \ v2.2/patch-2.2.18.gz; do echo "\n $i:" gzip -cd $S/http/www.kernel.org/pub/linux/kernel/$i | patch -p0 done # |& tee linux/op #* cd /usr/src/ tar -cvzf ~/tmp/linux-2.2.18.tar.gz linux #* ##### # # kernel 2.0.37 # 99jun16 # ##### # «compile20» (to ".compile20") # These are notes on how to compile 2.0.37 "by hand", with several # nice tricks -- like indexing the ".c"s/".h"s/".S"s that were used in # the compilation, and compiling with -g to let "gdb /proc/kcore" # work. # Status: they were working ok on 99jun16. k=angg # k=lea kconf=~/k20xxconf-$k kconfsnd=~/k20xxconf-$k.snd rm -Rv /usr/src/linux-2.0/ rm /usr/src/linux cd /usr/src/ # tar -xvzf $S/http/www.kernel.org/pub/linux/kernel/v2.0/linux-2.0.35.tar.gz tar -xvzf /big/slinks1/dists/slink/main/source/devel/kernel-source-2.0.35_2.0.35.orig.tar.gz for i in v2.0/patch-2.0.36.gz \ v2.0/patch-2.0.37.gz \ v2.0/patch-2.0.38.gz; do echo "\n $i:" gzip -cd $S/http/www.kernel.org/pub/linux/kernel/$i | patch -p0 done |& tee linux/op mv linux linux-2.0 ln -s linux-2.0 linux # (find-fline "~/k20xxconf-angg") # (find-fline "~/k20xxconf-angg.snd") cd /usr/src/linux-2.0/ sleep 2 echo -n > .config-start sleep 2 # cp -iv ~/.config20xx .config cp -v $kconf .config cp -v $kconfsnd /etc/soundconf # rm -fv /etc/soundconf # (find-fline "/etc/soundconf") # cp -iv /etc/soundconf $kconfsnd cd /usr/src/linux-2.0/ make symlinks ( # The script may ask this: # "Old configuration exists in `/etc/soundconf'. Use it [Y/n/?]" MAKE=make \ bash scripts/Configure -d arch/i386/config.in |& tee omc ) find .* * -anewer .config-start > .files.config # agrep '\-C' $(cat .files.config) #cp -v .config $kconf #cp -iv /etc/soundconf $kconfsnd make depend |& tee omd sleep 2 echo -n > .mkzImage-start sleep 2 # Use the version with -g if you want debug symbols. # (find-k2file "Makefile" 90) # #make CFLAGS='-g -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -fno-strength-reduce' zImage |& tee omz make zImage |& tee omz sleep 2 echo -n > .mkmodules-start sleep 2 # make modules |& tee omm # Now we use the timestamps to # index only the interesting files. # find * -name '*.[chS]' -and -anewer .mkzImage-start > .files.chS.used find * -name '*.[chS]' -and -not -anewer .mkzImage-start > .files.chS.unused etags `cat .files.chS.used` glimpseindex -H . -F < .files.chS.used ln -sf /usr/src/linux-2.0/System.map /boot/System.map-2.0.38 # (find-k2file "drivers/sound/configure.c" ".soundconf") # (find-k2file "drivers/sound/configure.c" "oldconf") # (find-k2file "drivers/sound/Makefile" "oldconfig") k=angg rm -Rv /boot/$k mkdir /boot/$k cd /usr/src/linux-2.0/ cp -iv .config /boot/$k/k20conf cp -iv modules/* /boot/$k cp -iv arch/i386/boot/zImage /boot/$k/k2038 gzip -cd /usr/lib/loadlin/loadlin.exe.gz > /boot/$k/loadlin.exe cd /boot/$k zip -9 /root/k$k.zip * # «gdb20» (to ".gdb20") # # (gdb "gdb /usr/src/linux-2.0/vmlinux /proc/kcore") # (find-fline "~/latte/.gdbinit") # (gdb "gdb -cd=/home/root/latte -d /usr/src/latte-1.1/ -x /home/root/latte/.gdbinit") ##### # # Kernel 2.2.14 # 2000mar20 # ##### # «compile22» (to ".compile22") # These are notes on how to compile 2.2.14 "by hand", with several # nice tricks -- like indexing the ".c"s/".h"s/".S"s that were used in # the compilation, and compiling with -g to let "gdb /proc/kcore" # work. # Status: they were working ok on ??????. k=angg22 # k=lea # (find-shttpfile "www.kernel.org/pub/linux/kernel/v2.2/") rm -Rv /usr/src/linux-2.2/ rm -Rv /usr/src/linux/ rm /usr/src/linux cd /usr/src/ # tar -xvzf /big/slinks1/dists/slink/main/source/devel/kernel-source-2.2.1_2.2.1.orig.tar.gz tar -xvzf /big/slinks2/kernel2.2/linux-2.2.3.tar.gz for i in v2.2/patch-2.2.4.gz \ v2.2/patch-2.2.5.gz \ v2.2/patch-2.2.6.gz \ v2.2/patch-2.2.7.gz \ v2.2/patch-2.2.8.gz \ v2.2/patch-2.2.9.gz \ v2.2/patch-2.2.10.gz \ v2.2/patch-2.2.11.gz \ v2.2/patch-2.2.12.gz \ v2.2/patch-2.2.13.gz \ v2.2/patch-2.2.14.gz \ v2.2/patch-2.2.15.gz; do echo " $i:" gzip -cd $S/http/www.kernel.org/pub/linux/kernel/$i | patch -p0 done |& tee linux/op # «fast-unpack-22xx» (to ".fast-unpack-22xx") # Faster alternative: keep a tgz of the last version in ~/tmp. # (find-fline "$S/http/www.kernel.org/pub/linux/kernel/v2.2/patch-2.2.15.gz") # (find-fline "~/tmp/") # #(cd /usr/src/; tar -cvzf ~/tmp/linux-2.2.15.tar.gz linux) #(cd /usr/src/; rm -Rv linux linux-2.2; tar -xvzf ~/tmp/linux-2.2.15.tar.gz) k=angg22 # k=lea cd /usr/src/ mv linux linux-2.2 ln -s linux-2.2 linux cd /usr/src/linux-2.2/ # make config cp ~/k22conf .config make oldconfig |& tee omo # (find-fline "~/k22conf") # (find-k22file "omo") #make xconfig # (find-k22file "Makefile" "xconfig:") # (find-k22file "scripts/") # (find-k22file "scripts/Makefile" "kconfig.tk:") #make menuconfig # (find-k22file "Makefile" "menuconfig:") # (find-k22file "scripts/lxdialog/") # (find-k22file "scripts/Menuconfig") # (find-k22file "scripts/kconfig.tk") # (find-k22file "Documentation/Configure.help") # (find-k22file "Documentation/Configure.help" "CONFIG_VORTEX") # make xconfig |& tee omx # tkdiff .config ~/k22conf cp .config ~/k22conf make depend |& tee omd sleep 2 echo -n > .mkzImage-start sleep 2 # Use the line with -g if you want debug symbols. # (find-k2file "Makefile" 90) # nice make CFLAGS='-g -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -fno-strength-reduce' bzImage |& tee omz #nice make bzImage |& tee omz sleep 2 echo -n > .mkmodules-start sleep 2 # # I don't know if it is useful to # compile the modules with -g... make modules |& tee omm # «compile22_index» (to ".compile22_index") # (to "flavours-2.2_index") # Now we use the timestamps to # index only the interesting files. # find * -name '*.[chS]' -and -anewer .mkzImage-start > .files.chS.used find * -name '*.[chS]' -and -not -anewer .mkzImage-start > .files.chS.unused etags `cat .files.chS.used` glimpseindex -H . -F < .files.chS.used find * -type f > .files grep -i make < .files > .files.m #echo 'quit' | gdb -m vmlinux /proc/kcore # ...seems to be broken on slink's gdb... # (find-node "(gdb)File Options" "`-m'") # (gdb "gdb /usr/src/linux-2.2/vmlinux /proc/kcore") k=angg22 rm -Rv /boot/$k mkdir /boot/$k cd /usr/src/linux-2.2/ cp -iv .config /boot/$k/kconfig cp -iv modules/* /boot/$k cp -iv arch/i386/boot/bzImage /boot/$k/k22xx laf /boot/$k # (find-es "floppy" "syslinux") # (find-es "general" "lilo") # (find-fline "/etc/lilo.conf") rm -v /hda1/boot/angg22/* cp -v /boot/angg22/* /hda1/boot/angg22/ lilo ##### # # applying a patch to support a parallel port SCSI scanner # 2000sep23 # ##### # «ppscsi-patch-2.2» (to ".ppscsi-patch-2.2") # (to "scanner") #* cd /usr/src/linux/ zcat $S/ftp/people.redhat.com/twaugh/parport/patch-2.2.17-pre10-ppdev1.gz \ | patch -p1 \ |& tee op-ppdev zcat $S/ftp/people.redhat.com/twaugh/parport/patch-2.2.15pre14-ppscsi1.gz \ | patch -p1 \ |& tee op-ppscsi # (find-k22file "op-ppdev") # (find-k22file "op-ppscsi") # On 2.2.18 a certain chunk fails, so I reapply it by hand. # (find-k22file "include/linux/proc_fs.h.rej") # (find-k22file "include/linux/proc_fs.h") patch -p0 <<'%%%' --- include/linux/proc_fs.h~ Thu Dec 28 02:50:39 2000 +++ include/linux/proc_fs.h Thu Dec 28 02:56:09 2000 @@ -213,6 +213,15 @@ PROC_SCSI_I2O, PROC_SCSI_3W_XXXX, PROC_SCSI_USB_SCSI, + PROC_SCSI_ONSCSI, + PROC_SCSI_EPST, + PROC_SCSI_EPSA2, + PROC_SCSI_BELKIN, /* Not done yet. */ + PROC_SCSI_T348, + PROC_SCSI_T358, + PROC_SCSI_VPI0, + PROC_SCSI_VPI2, /* Not done yet. */ + PROC_SCSI_SPARCSI, PROC_SCSI_CPQFCTS, PROC_SCSI_SCSI_DEBUG, PROC_SCSI_NOT_PRESENT, %%% #* # «ppscsi-patch-2.4» (to ".ppscsi-patch-2.4") # (find-fline "$S/ftp/people.redhat.com/twaugh/patches/") # (find-fline "$S/ftp/people.redhat.com/twaugh/parport/") #* cd /usr/src/linux-2.4/ zcat $S/ftp/people.redhat.com/twaugh/patches/patch-cvs-tmw.gz \ | patch -p1 \ |& tee op-ppscsi #* # (find-shttpw3 "www.buzzard.org.uk/jonathan/scanners.html") # (find-shttpw3 "www.torque.net/parport/") # (find-shttpw3 "www.torque.net/parport/parscsi.html") # (find-shttpw3 "www.torque.net/parport/ppscsi.html") # (find-shttpw3 "www.torque.net/parscsi.html") # (find-shttpw3 "people.redhat.com/twaugh/parport/") # (code-c-d "ppscsi" "$S/ftp/people.redhat.com/twaugh/parport/") # (find-ppscsifile "patch-2.2.17-pre10-ppdev1.gz") # (find-ppscsifile "patch-2.2.15pre14-ppscsi1.gz") # (find-shttpw3 "www.buzzard.org.uk/jonathan/scanners.html" "ScanJet 5100C") # (find-ppscsifile "patch-2.2.15pre14-ppscsi1.gz" "Shuttle EPST adapter") # (find-shttpw3 "www.torque.net/parport/ppscsi.html" "insmod ppscsi") ##### # # scanner (hp scanjet 5100c) # 2000sep23 # ##### # «scanner» (to ".scanner") # (to "ppscsi-patch-2.2") # (find-status "libsane") # (find-vldifile "libsane.list") # (find-fline "/usr/doc/libsane/") # (find-status "sane") # (find-vldifile "sane.list") # (find-fline "/usr/doc/sane/") rmmod lp rmmod parport_pc rmmod parport insmod scsi_mod insmod sg insmod parport # insmod parport_pc insmod ppscsi insmod epst cd /tmp scanimage -d hp:/dev/sg0 --mode Color > hpscan xscanimage hp # Oops: now I'm getting: epst -> "device busy". How do I fix it? # Aha. The scanner needs to be turned on to be detected as a # scsi-over-parallel-port device by epst, and also to give access to # the printer (that is now connected to the computer through the # scanner). rmmod epst rmmod ppscsi rmmod lp rmmod parport_pc rmmod parport rmmod sg rmmod scsi_mod insmod parport insmod scsi_mod insmod ppscsi insmod epst ##### # # kdb # 2000sep02 # ##### # «kdb» (to ".kdb") # I have tried a bit, but I DON'T KNOW how to run kdb (in any sense). pdsc $SDEBIAN/dists/woody/main/source/devel/kernel-patch-kdb_1.2-2.dsc cd /usr/src/kernel-patch-kdb-1.2/ # egrep '^(---|\+\+\+)' kdb-v0.6-2.2.13 egrep '^\+\+\+' kdb-v0.6-2.2.13 debian/rules binary |& tee odrb apti binutils-dev dpkg -i ../kernel-patch-kdb # (find-status "kernel-patch-kdb") # (find-vldifile "kernel-patch-kdb.list") # (find-fline "/usr/doc/kernel-patch-kdb/") zless /usr/doc/kernel-patch-kdb/kdb.txt.gz # (code-c-d "patchkdb" "/usr/src/kernel-patch-kdb-1.2/") # (find-patchkdbfile "") # (find-patchkdbfile "doc/") # (find-patchkdbfile "debian/") # (find-patchkdbfile "kdb-v0.6-2.2.13" "linux2.2-kdb/kern/Makefile") # TODO: try to apply this patch to the 2.2.16 kernel, possibly making # it compatible with the Debian kernel flavours patch ##### # # pcsndrv 1.2 # ##### # «pcsnddrv» (to ".pcsnddrv") # (find-k2file "drivers/pcsnd/README") # (find-k2file "drivers/pcsnd/pcspinstall") # (find-fline "/dev/MAKEDEV" "audio)") insmod /usr/src/linux/modules/pcsnd.o cd /dev/ mknod -m 666 pcmixer c 13 0 mknod -m 666 pcsp c 13 3 mknod -m 666 pcaudio c 13 4 mknod -m 666 pcsp16 c 13 5 rm -v mixer dsp audio dsp16 ln -s pcmixer mixer ln -s pcsp dsp ln -s pcaudio audio ln -s pcsp16 dsp16 rm -Rv /usr/src/pcsnd-kit/ cd /usr/src/ tar -xvzf /snarf/ftp/ftp.informatik.hu-berlin.de/pub/os/linux/hu-sound/pcsndrv-1.2.tgz pcsnd-kit/'*' cd /usr/src/pcsnd-kit/ make |& tee om # (find-fline "/usr/src/pcsnd-kit/Readme") # (find-fline "/usr/src/pcsnd-kit/") # # Armada keyboard patch: # (I'm not using it anymore) cd /usr/src/linux/drivers/char/ patch keyboard.c \ /snarf/http/www.kabel.de/~hmueller/armada11xx/armada11xx_apm.patch # (find-shttpfile "www.kabel.de/~hmueller/armada11xx/armada11xx_apm.patch") ###### # # gdb'ing the kernel # ###### # «gdb_ing_the_kernel» (to ".gdb_ing_the_kernel") # (gdb "gdb /usr/src/linux-2.0/vmlinux /proc/kcore") # (find-k2file ".files.chS.used") # (find-k2file "kernel/module.c") # (find-k2file "kernel/info.c") # (eeman "2 intro") # (eeman "2 syscalls") # (find-k2tag "__NR__newselect") # (find-k2tag "sys_open") # (eeman "5 proc") # (find-k2file "fs/proc/") # (find-k2file "fs/proc/root.c" "\"modules\"") # (find-k2file "fs/proc/array.c" "PROC_MODULES:") # (find-k2tag "get_module_list") # (find-k2tag "printk") # (find-k2file "kernel/printk.c" "int printk") ptype kernel_module set var $x=kernel_module define xn set var $x=$x->next p *$x end ##### # # /proc/xxx/statm # 99nov?? # ##### # «statm» (to ".statm") # (eeman "5 proc" "maps *A file containing") # (find-k22file "") # (find-k22file ".files.chS.used") # Prepare the ".strings" file # This is *SLOW*, as getstrings is a perl script # «.strings» # cd /usr/src/linux-2.2/ for i in $(<.files.chS.used); do echo "\n$i:"; getstrings < $i done | tee .strings # (find-k22file ".strings" "statm") # (find-k22file "fs/proc/base.c" "statm") # (find-k22tag "proc_dir_entry") # (find-k22tag "proc_pid_fill_inode") # (find-k22file "fs/proc/array.c" "proc_array_inode_operations") # (find-k22file "fs/proc/array.c" "proc_array_operations") # (find-k22file "fs/proc/array.c" "array_read") # (find-k22file "fs/proc/array.c" "case PROC_PID_STAT") # (find-k22file "fs/proc/array.c" "get_process_array") # (find-k22file "fs/proc/array.c" "get_stat(") # (find-k22file "fs/proc/array.c" "get_statm(") P=$(cd /proc; print -l [0-9]* | sort -n) \ expect -c ' foreach pid $env(P) { catch { foreach {size res sha txt lib sta drt} [exec cat /proc/$pid/statm] {} puts [format "%s:: size: %s resident: %s share: %s text: %s library: %s stack: %s dirty: %s" \ $pid $size $res $sha $txt $lib $sta $drt] } } ' # Much better: P=$(cd /proc; print -l [0-9]* | sort -n) \ expect -c ' foreach pid $env(P) { catch { foreach v {siz res sha txt lib sta drt} \ n "[exec cat /proc/$pid/statm]" { set $v [format "%3s" $n] } set pid [format "%4s" $pid] puts "pid:$pid siz:$siz res:$res sha:$sha txt:$txt lib:$lib sta:$sta drt:$drt" } } ' ##### # # Looking for the UDMA patch # 2000jun01 # ##### # «kernel-patch-udma0» (to ".kernel-patch-udma0") # (find-fline "~/tmp/" "ivox1") # (find-htetfile "mini/Ultra-DMA.txt.gz") # (find-htetfile "mini/Ultra-DMA.txt.gz" "Andre M. Hedrick") # (find-k22file "drivers/block/ide-dma.c" "UDMA") # (find cd $SDEBIAN/ agrep 2.2.1 *.i cd $SDEBIAN/ egrep 'kernel-(source|image)' *.i Pgrepp 'm/kernel-(source|image)/' cd /usr/src/boot-floppies-2.2.13/ agrep -i udma $(find *) # (find-bffile "documentation/release-notes.sgml" "Andre Hedrick's") # (find-bffile "Makefile" "kerneli386_udma66 :=") # (find-bffile "Makefile" "modcontudma66:") # (find-bffile "Makefile" "rootudma66.bin:") # (find-bffile "Makefile" "resc1440udma66.bin:") ##### # # kernel-patch-...-ide # 2000jun01 # ##### # «kernel-patch-udma» (to ".kernel-patch-udma") pdsc $SPOTATO/main/source/devel/kernel-patch-2.2.15-ide_20000405-1.dsc cd /usr/src/kernel-patch-2.2.15-ide-20000405/ # (code-c-d "kpide" "/usr/src/kernel-patch-2.2.15-ide-20000405/") # (find-kpidefile "debian/control" "Hedrick") # (find-kpidefile "debian/rules") # (find-kpidefile "ide.bz2") # (find-kpidefile "") # (find-kpidefile "ide.apply") # (find-kpidefile "ide.unapply") # Apply: cd /usr/src/linux-2.2/ bzcat /usr/src/kernel-patch-2.2.15-ide-20000405/ide.bz2 \ | patch -s -p1 \ |& tee oide.apply date '+patch applied at %Y%b%d %X' \ |& tee .idepatch.status # Unapply: cd /usr/src/linux-2.2/ bzcat /usr/src/kernel-patch-2.2.15-ide-20000405/ide.bz2 \ | patch -s -R -p1 \ |& tee oide.unapply date '+patch UNapplied at %Y%b%d %X' \ |& tee .idepatch.status # (find-k22file ".idepatch.status") #Evidence in favor of using this patch: # (find-fline "~/tmp/" "ivox1") # (find-fline "~/tmp/ivox1.dmesg" "DID=2411") # (find-fline "~/tmp/ivox1.lspci" "82801") # (find-kpidefile "ide.bz2" "Unknown device 2411") # (find-kpidefile "ide.bz2" "0x2411") #About some not-so-default configurations... # (find-kpidefile "ide.bz2" "Intel PIIXn chipsets support") # (find-k22file "drivers/block/piix.c") ##### # # kerneld # 2000jun14 # ##### # «kerneld_docs» (to ".kerneld_docs") # (find-status "modutils") # (find-vldifile "modutils.list") # (find-fline "/usr/doc/modutils/") # (find-vldifile "modutils.preinst") # (find-vldifile "modutils.postinst") # (find-vldifile "modutils.prerm") # (find-vldifile "modutils.postrm") # (eeman "8 insmod") # (eeman "8 rmmod") # (eeman "8 lsmod") # (eeman "8 modinfo") # (find-fline "/etc/modules") # (eeman "5 modules") # (find-fline "/usr/doc/modutils/NEWS.gz") # (find-fline "/usr/doc/modutils/TODO.gz") # (find-fline "/usr/doc/modutils/CREDITS.gz") # (find-fline "/usr/doc/modutils/changelog.gz") # (find-fline "/usr/doc/modutils/copyright") # (find-fline "/usr/doc/modutils/changelog.Debian.gz") # (find-fline "/usr/doc/modutils/README.gz") # (find-fline "/usr/doc/modutils/README.Debian.gz") # (find-fline "/usr/doc/modutils/module-policy.Debian.gz") # (eeman "2 get_kernel_syms") # (eeman "2 init_module") # (eeman "2 query_module") # (eeman "2 create_module") # (eeman "2 delete_module") # (eeman "5 modules.conf") # (eeman "8 depmod") # (eeman "8 modprobe") # (eeman "8 update-modules") # (find-fline "/etc/modules.conf") # (find-fline "/etc/modutils/0keep") # (find-fline "/sbin/update-modules") # (find-fline "/lib/modules/") # (find-fline "/lib/modules/2.2.15/") # (find-fline "/etc/cron.daily/") # (find-fline "/etc/cron.daily/modutils") # (find-fline "/etc/modutils/") # (find-fline "/etc/modutils/aliases") # (find-fline "/etc/modutils/arch/") # (find-fline "/etc/modutils/paths") # (find-fline "/etc/init.d/modutils") # (find-fline "/usr/doc/modutils/examples/versioned") # (eeman "8 ksyms") # (eeman "8 genksyms") # (find-fline "/etc/init.d/kerneld") # (find-fline "/usr/doc/modutils/README.kerneld.gz") # (eeman "8 kerneld") # (eeman "8 kdstat") # (find-fline "/sbin/insmod_ksymoops_clean") # (find-fline "/var/log/ksymoops/") # (find-fline "/sbin/kernelversion") # (eeman "1 kernelversion") ##### # # linux-2.4.9 # 2001sep22 # ##### # «2.4.9» (to ".2.4.9") # «2.4.17» (to ".2.4.17") lynx http://www.br.kernel.org/pub/linux/kernel/v2.4/ cd $S/http/www.br.kernel.org/pub/linux/kernel/v2.4/ #* cd /usr/src/ rm -Rv linux linux-2.4 tar -xvzf $S/http/www.kernel.org/pub/linux/kernel/v2.4/linux-2.4.9.tar.gz for i in v2.4/patch-2.4.10.gz \ v2.4/patch-2.4.11-dontuse.gz \ v2.4/patch-2.4.12.gz \ v2.4/patch-2.4.13.gz \ v2.4/patch-2.4.14.gz \ v2.4/patch-2.4.15.gz \ v2.4/patch-2.4.16.gz \ v2.4/patch-2.4.17.gz; do echo "\n $i:" gzip -cd $S/http/www.kernel.org/pub/linux/kernel/$i | patch -p0 done ;# |& tee linux/op mv linux linux-2.4 cd /usr/src/linux-2.4/ #* # Or: # cd /usr/src/ rm -Rv linux linux-2.4 tar -xvzf $S/http/www.kernel.org/pub/linux/kernel/v2.4/linux-2.4.17.tar.gz mv linux linux-2.4 cd /usr/src/linux-2.4/ #* # (find-k24file "Makefile" "KERNELRELEASE") cd /usr/src/linux-2.4/ patch Makefile <<'%%%' 6c6,17 < KERNELRELEASE=$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION) --- > # FLAVOUR is like EXTRAVERSION, but it's meant for local use, and the > # dash between it and the rest of the version is supplied here. It's used > # by make-kpkg's --flavour switch, see /usr/share/doc/kernel-package/Flavours. > #FLAVOUR = > > ifneq ($(strip $(FLAVOUR)),) > INT_FLAV := -$(FLAVOUR) > else > INT_FLAV := > endif > > KERNELRELEASE=$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION)$(INT_FLAV) %%% #* # (to "ppscsi-patch-2.4") cd /usr/src/linux-2.4/ zcat $S/ftp/people.redhat.com/twaugh/patches/patch-cvs-tmw.gz \ | patch -p1 \ |& tee op-ppscsi #* cd /usr/src/linux-2.4/ find * | sort > .files # make config make-kpkg clean |& tee omkc cp ~/k24conf .config make-kpkg --revision=custom.1 --flavour=edrx kernel_image |& tee omkki dpkg -i /usr/src/kernel-image-2.4.0-test10-edrx_custom.1_i386.deb # (find-status "kernel-image-2.4.0-test7-edrx") # (find-vldifile "kernel-image-2.4.0-test7-edrx.list") # (find-fline "/usr/doc/kernel-image-2.4.0-test7-edrx/") mount -o remount,rw /hda1 cp -v /boot/vmlinuz-2.4.0-test10-edrx /hda1/boot/grub/vmlinuz-2.4xx # (find-k24file "") # (find-k24file "Documentation/") # (find-k24file "Documentation/Configure.help" "/dev/shm") # (find-k24file "Documentation/Configure.help" "CONFIG_VT_CONSOLE") # (find-k24file "Documentation/Configure.help") # (find-k24file "Documentation/Configure.help" "CONFIG_PPSCSI") # (find-k24file "Documentation/sound/OPL3-SA2") # (find-fline "~/k22conf") # (find-fline "~/k24conf") # (find-k24file "") # (find-k24file "arch/i386/config.in") # (find-k24file "scripts/") #* cp ~/k24conf .config #* cd /usr/src/linux-2.4/ # Beware: ppscsi is not asked for in xconfig! # make xconfig make oldconfig #* cp .config ~/k24conf #* APM - configurei errado SG - também SYM53C8XX SCSI support - melhor dizer N compressões para PPP: M outb_console # (find-k22file "drivers/char/vt.c") ##### # # 2.4.9-uml # 2002jan01 # ##### # «2.4.9-uml» (to ".2.4.9-uml") #* cd /usr/src/ rm -Rv linux linux-2.4 tar -xvzf $S/http/www.kernel.org/pub/linux/kernel/v2.4/linux-2.4.9.tar.gz mv linux linux-2.4 cd /usr/src/linux-2.4/ #* # (find-shttpw3 "user-mode-linux.sourceforge.net/compile.html" "tar.bz2") cd /usr/src/linux-2.4/ bunzip2 < \ $S/http/prdownloads.sourceforge.net/user-mode-linux/uml-patch-2.4.9-9.bz2 \ | patch -p1 |& tee op #* cd /usr/src/linux-2.4/ # make menuconfig ARCH=um make oldconfig ARCH=um #* ##### # # linux-2.4.18 on debian # 2004jan07 # ##### # «2.4.18» (to ".2.4.18") #* mkdir /tmp/binary-1 mount -o loop,ro /hdb2/woodycds/debian-30r2-i386-binary-1_NONUS.iso \ /tmp/binary-1 #* cd /tmp/binary-1/pool/main/k/kernel-source-2.4.18/ debtartvzf kernel-source-2.4.18_2.4.18-13_all.deb debtarxvzf kernel-source-2.4.18_2.4.18-13_all.deb -C ~/bigsrc/ # maybe only ./usr/src/kernel-source-2.4.18.tar.bz2 #* # (find-status "kernel-package") # (find-vldifile "kernel-package.list") # (find-fline "/usr/doc/kernel-package/") # (find-fline "/usr/doc/kernel-package/README.gz" "For the Brave and the impatient:") cd ~/bigsrc/ rm -Rv kernel-source-2.4.18/ tar -xvjf ./usr/src/kernel-source-2.4.18.tar.bz2 #* cd ~/bigsrc/kernel-source-2.4.18/ cp -v ~/kconf2418-test .config # (find-fline "~/kconf2418-test") #* cd ~/bigsrc/kernel-source-2.4.18/ make menuconfig # (find-fline "~/kconf2418-cdrw") #* cp .config ~/kconf2418-test #* # (find-man "1 make-kpkg") # (find-man "1 make-kpkg" "--append-to-version") cd ~/bigsrc/kernel-source-2.4.18/ make-kpkg clean |& tee omkc make-kpkg --append-to-version persephone kernel_image |& tee omkki #* cd ~/bigsrc/ dpkg -i kernel-image-2.4.18persephone_10.00.Custom_i386.deb #* # (find-status "kernel-image-2.4.18persephone") # (find-vldifile "kernel-image-2.4.18persephone.list") # (find-fline "/usr/doc/kernel-image-2.4.18persephone/") #* cd ~/bigsrc/kernel-source-2.4.18/ make-kpkg --append-to-version persephone kernel_headers |& tee omkkh #* cd ~/bigsrc/ dpkg -i kernel-headers-2.4.18persephone_10.00.Custom_i386.deb #* # (find-status "kernel-headers-2.4.18persephone") # (find-vldifile "kernel-headers-2.4.18persephone.list") # (find-vldifile "" "kernel-headers-2.4.18persephone.list") # (find-fline "/usr/doc/kernel-headers-2.4.18persephone/") aptrm kernel-headers-2.4.18persephone #* ##### # # linux-2.4.18 with the user-mode-linux patch # 2004jan07 # ##### # «2.4.18-uml» (to ".2.4.18-uml") ##### # # user-mode-linux # 2004oct04 # ##### # «user-mode-linux» (to ".user-mode-linux") # (find-status "user-mode-linux") # (find-vldifile "user-mode-linux.list") # (find-udfile "user-mode-linux/") # (find-status "user-mode-linux-doc") # (find-vldifile "user-mode-linux-doc.list") # (find-udfile "user-mode-linux-doc/") # (find-udfile "user-mode-linux-doc/html/UserModeLinux-HOWTO.txt.gz") # (find-status "uml-utilities") # (find-vldifile "uml-utilities.list") # (find-udfile "uml-utilities/") # (find-status "rootstrap") # (find-vldifile "rootstrap.list") # (find-udfile "rootstrap/") # (find-man "1 rootstrap") # (find-fline "/usr/bin/rootstrap") # (find-fline "/usr/lib/rootstrap/builder") # (find-fline "/usr/lib/rootstrap/modules/uml") # (find-fline "/usr/lib/rootstrap/modules/mkisofs") # (find-fline "/usr/lib/rootstrap/modules/docpurge") # (find-fline "/usr/lib/rootstrap/modules/tasksel") # (find-fline "/usr/lib/rootstrap/modules/mkfs") # (find-fline "/usr/lib/rootstrap/modules/base-config") # (find-fline "/usr/lib/rootstrap/modules/mount") # (find-fline "/usr/lib/rootstrap/modules/network") # (find-fline "/usr/lib/rootstrap/modules/localepurge") # (find-fline "/usr/lib/rootstrap/modules/umount") # (find-fline "/usr/lib/rootstrap/modules/debian") # (find-fline "/etc/rootstrap/dhclient-script") # (find-fline "/etc/rootstrap/rootstrap.conf") #* # Create a sparse 1G image to use as a partition umount /tmp/sarge/proc umount /tmp/sarge/dev/pts umount /tmp/sarge rmdir /tmp/sarge rm -v /tmp/sarge.img python =(<<'%%%' image = open("/tmp/sarge.img", 'w') image.truncate(1024 * 1048576L) image.close() %%%) mke2fs -F /tmp/sarge.img mkdir /tmp/sarge mount -o loop /tmp/sarge.img /tmp/sarge #* debootstrap sarge /tmp/sarge http://127.0.0.1/vcarchives/ #* cd /tmp/ cp -l sarge.img root_fs #* # A simple test: mount -t proc sargeproc /tmp/sarge/proc mount -t devpts sargedevpts /tmp/sarge/dev/pts chroot /tmp/sarge /bin/sh umount /tmp/sarge/proc umount /tmp/sarge/dev/pts #* # (find-man "1 linux") # (find-man "1 linux" "root=/dev/root rootflags=/") # (find-man "1 linux" "ubd0=/tmp/chroot") # (find-sh "linux --help") #* linux root=/dev/root rootfstype=hostfs rootflags=/tmp/ con=xterm #* umlrun /bin/ls #* function umlkill () { sudo kill $(cat ~/.uml/*/pid) rm -Rfv ~/.uml/* } #* proc on /proc type proc (rw) devpts on /dev/pts type devpts (rw,gid=5,mode=620) tmpfs on /dev/shm type tmpfs (rw) umount /tmp/sarge #* # (find-man "1 linux") # Not working. linux con1=xterm ubd0=/tmp/sarge.img root=/dev/ubd0 #* mkdir /tmp/sarge/ mount -o loop /tmp/sarge.img /tmp/sarge #* cd / mkdir /sarge-root debootstrap sarge /tmp/sarge http://127.0.0.1/vcarchives/ #* umount /tmp/sarge #* #* cd /usr/share/doc/user-mode-linux-doc/html/ zless UserModeLinux-HOWTO.txt.gz #* # Nah, we don't need all this, there's a precompiled version... # (find-vldifile "user-mode-linux.list" "/usr/bin/linux") # http://www.megahosted.com/~en/papers/uml-debian-mini.html ##### # # kernel-source-2.6.8 # 2004sep13 # ##### # «kernel-source-2.6.8» (to ".kernel-source-2.6.8") # (find-sh "dpkg -l") # (find-status "kernel-source-2.6.8") # (find-vldifile "kernel-source-2.6.8.list") # (find-udfile "kernel-source-2.6.8/") # (find-udfile "kernel-source-2.6.8/debian.README.gz" "6. \"make menuconfig\"") # (find-udfile "kernel-source-2.6.8/debian.README.gz" "patch_the_kernel") # (find-udfile "kernel-source-2.6.8/debian.README.gz" "\npatch_the_kernel") # (find-k26file "Documentation/filesystems/cramfs.txt") # (find-k26file "fs/cramfs/") #* tar -tvjf /usr/src/kernel-source-2.6.8.tar.bz2 | l -S #* rm -Rv ~/bigsrc/kernel-source-2.6.8/ tar -C ~/bigsrc/ \ -xvjf /usr/src/kernel-source-2.6.8.tar.bz2 cd ~/bigsrc/kernel-source-2.6.8/ #* cd ~/bigsrc/kernel-source-2.6.8/ make-kpkg clean |& tee omkc make menuconfig #* cd ~/bigsrc/kernel-source-2.6.8/ make-kpkg kernel_image |& tee omkki make-kpkg --rootcmd fakeroot kernel_image |& tee omkfrki INITRD_OK=yes \ make-kpkg --rootcmd fakeroot --initrd kernel_image |& tee omkfriki #* # (find-k26file "omkki") # (find-k26file "omkfrki") # (find-k26file "omkfriki") # (find-man "1 make-kpkg") # (find-man "1 make-kpkg" "--mkimage") # (find-man "8 mkinitrd") make-kpkg --revision=custom.1.0 kernel_image |& tee omkki #* debtartvzf ~/bigsrc/kernel-image-2.6.8_10.00.Custom_i386.deb |& tee ~/o | l -S # (find-fline "~/o") #* # (find-fline "/usr/bin/make-kpkg") # (find-fline "/usr/bin/make-kpkg" "if ($mkimage)") make-kpkg clean make-kpkg -rootcmd fakeroot --append-to-version -custom.${VER} \ --revision custom.${VER} kernel_image modules-image ##### # # kernel-source-2.4.26 with initrd # 2004sep13 # ##### # «kernel-source-2.4.26» (to ".kernel-source-2.4.26") # (find-sh "dpkg -l") # (find-status "kernel-source-2.4.26") # (find-vldifile "kernel-source-2.4.26.list") # (find-udfile "kernel-source-2.4.26/") # (find-udfile "kernel-source-2.4.26/debian.README.gz" "6. \"make menuconfig") # (find-udfile "kernel-source-2.4.26/debian.README.gz" "patch_the_kernel") # (find-udfile "kernel-source-2.4.26/debian.README.gz" "\npatch_the_kernel") # (code-c-d-linux "k24" "~/bigsrc/kernel-source-2.4.18/") # (code-c-d-linux "k24" "~/bigsrc/kernel-source-2.4.26/") # (find-fline "~/LINUX/") # (find-k24file "Documentation/") # (find-k24confvar "CONFIG_BLK_DEV_INITRD") # (find-k24confvar "CONFIG_CRAMFS") # (find-k24file "fs/cramfs/") #* rm -Rv ~/bigsrc/kernel-source-2.4.26/ tar -C ~/bigsrc/ \ -xvjf /usr/src/kernel-source-2.4.26.tar.bz2 cd ~/bigsrc/kernel-source-2.4.26/ #* # Reconfigure (this works best on a VT) cd ~/bigsrc/kernel-source-2.4.26/ make-kpkg --rootcmd fakeroot clean |& tee omkc cp -v ~/LINUX/2.4.26-initrd.conf .config make menuconfig #* # Compare the config files cd ~/bigsrc/kernel-source-2.4.26/ tkdiff ~/LINUX/2.4.26-initrd.conf .config & #* # Save cd ~/bigsrc/kernel-source-2.4.26/ cp -v .config ~/LINUX/2.4.26-initrd.conf #* cd ~/bigsrc/kernel-source-2.4.26/ cp -v ~/LINUX/2.4.26-initrd.conf .config # make-kpkg --rootcmd fakeroot kernel_image |& tee omkki INITRD_OK=yes \ make-kpkg --rootcmd fakeroot --initrd kernel_image |& tee omkfriki #* # (find-k24file "omkki") # (find-k24file "omkfrki") # (find-k24file "omkfriki") # (find-man "1 make-kpkg") # (find-man "1 make-kpkg" "--mkimage") # (find-man "8 mkinitrd") make-kpkg --revision=custom.1.0 kernel_image |& tee omkki #* debtartvzf ~/bigsrc/kernel-image-2.4.26_10.00.Custom_i386.deb |& tee ~/o | l -S # (find-fline "~/o") #* # (find-fline "/usr/bin/make-kpkg") # (find-fline "/usr/bin/make-kpkg" "if ($mkimage)") make-kpkg clean make-kpkg -rootcmd fakeroot --append-to-version -custom.${VER} \ --revision custom.${VER} kernel_image modules-image ##### # # make-kpkg and timestamps for grepping # 2004dec20 # ##### # «make-kpkg-timestamps-k26» (to ".make-kpkg-timestamps-k26") # (find-man "1 make-kpkg") # (find-man "1 make-kpkg" "--config target") # (find-man "1 make-kpkg" "--targets") # (find-man "1 make-kpkg" "\nTARGETS\n") # (find-man "1 make-kpkg" "\nTARGETS\n" "\n configure\n") # (find-man "1 make-kpkg" "\nTARGETS\n" "\n build ") # (find-sh "make-kpkg --targets") # (find-fline "/usr/share/kernel-package/rules") # (find-fline "/usr/bin/make-kpkg") #* # Check in which subdirectory the tarfile will uncompress tar -tvjf /usr/src/kernel-source-2.6.8.tar.bz2 | head -n 5 #* # Uncompress rm -Rv ~/bigsrc/kernel-source-2.6.8/ tar -C ~/bigsrc/ \ -xvjf /usr/src/kernel-source-2.6.8.tar.bz2 cd ~/bigsrc/kernel-source-2.6.8/ #* # Produce something corresponding to the # "Documentation/Configure.help" file of linux-2.4 # «k26.Configure.help» (to ".k26.Configure.help") # (find-k26file ".Configure.help") # (find-k26confvar "CONFIG_BLK_DEV_LOOP") cd ~/bigsrc/kernel-source-2.6.8/ find * -name '*Kconfig' > .files.Kconfig mycat $(< .files.Kconfig) \ | awk 'NF==2 && $1=="config" { print "CONFIG_" $2 } 1 { print } ' \ > .Configure.help #* # To change the .config file execute the adequate parts of this block # (find-fline "~/LINUX/2.6.28-persephone1.conf") # cd ~/bigsrc/kernel-source-2.6.8/; cp ~/LINUX/2.6.28-persephone1.conf .config cd ~/bigsrc/kernel-source-2.6.8/; make menuconfig cd ~/bigsrc/kernel-source-2.6.8/; cp .config ~/LINUX/2.6.28-persephone1.conf #* # (find-fline "~/LINUX/2.6.28-persephone1.conf") # (find-k26file "") # cd ~/bigsrc/kernel-source-2.6.8/ make-kpkg clean |& tee omkc cp ~/LINUX/2.6.28-persephone1.conf .config INITRD_OK=1 \ make-kpkg \ --revision=persephone1 --append-to-version -persephone1 \ --rootcmd fakeroot \ kernel_image |& tee omkki # --initrd \ find * -name '*.[chS]' -and -anewer stamp-configure > .files.chS.used find * -name '*.[chS]' -and -not -anewer stamp-configure > .files.chS.unused # Now the file ".files.chS.used" holds a listing of all the .c/.h/.S # files that were read between the end of the configuration step and # the end of the building of the deb. # # In other words: .files.chS.used holds a listing of all the .c/.h/.S # that were compiled into the kernel we just built. It can be used to # help grepping the source. #* cd ~/bigsrc/kernel-source-2.6.8/ etags $(sort .files.chS.used) #* ##### # # make-kpkg and timestamps for grepping # 2004dec20 # ##### # «make-kpkg-timestamps-k26» (to ".make-kpkg-timestamps-k26") # (find-man "1 make-kpkg") # (find-man "1 make-kpkg" "--config target") # (find-man "1 make-kpkg" "--targets") # (find-man "1 make-kpkg" "\nTARGETS\n") # (find-man "1 make-kpkg" "\nTARGETS\n" "\n configure\n") # (find-man "1 make-kpkg" "\nTARGETS\n" "\n build ") # (find-sh "make-kpkg --targets") # (find-fline "/usr/share/kernel-package/rules") # (find-fline "/usr/bin/make-kpkg") #* # Check in which subdirectory the tarfile will uncompress tar -tvjf /usr/src/kernel-source-2.6.8.tar.bz2 | head -n 5 #* # Uncompress rm -Rv ~/bigsrc/kernel-source-2.6.8/ tar -C ~/bigsrc/ \ -xvjf /usr/src/kernel-source-2.6.8.tar.bz2 cd ~/bigsrc/kernel-source-2.6.8/ #* # Produce something corresponding to the # "Documentation/Configure.help" file of linux-2.4 # «k26.Configure.help» (to ".k26.Configure.help") # (find-k26file ".Configure.help") # (find-k26confvar "CONFIG_BLK_DEV_LOOP") cd ~/bigsrc/kernel-source-2.6.8/ find * -name '*Kconfig' > .files.Kconfig mycat $(< .files.Kconfig) \ | awk 'NF==2 && $1=="config" { print "CONFIG_" $2 } 1 { print } ' \ > .Configure.help #* # (find-fline "~/LINUX/2.6.28-persephone1.conf") # cd ~/bigsrc/kernel-source-2.6.8/ make-kpkg clean |& tee omkc cp ~/LINUX/2.6.28-persephone1.conf .config INITRD_OK=1 \ make-kpkg \ --revision=persephone1 --append-to-version -persephone1 \ --rootcmd fakeroot \ --initrd \ configure |& tee omkc sleep 1 touch .stamp-configure sleep 1 INITRD_OK=1 \ make-kpkg \ --revision=persephone1 --append-to-version -persephone1 \ --rootcmd fakeroot \ --initrd \ kernel_image |& tee omkki find * -name '*.[chS]' -and -anewer .stamp-configure > .files.chS.used find * -name '*.[chS]' -and -not -anewer .stamp-configure > .files.chS.unused # Now the file ".files.chS.used" holds a listing of all the .c/.h/.S # files that were read between the end of the configuration step and # the end of the building of the deb. # # In other words: .files.chS.used holds a listing of all the .c/.h/.S # that were compiled into the kernel we just built. It can be used to # help grepping the source. #* # (find-k26file "") # (find-fline "/usr/share/kernel-package/rules" "stamp-configure:") # (find-fline "/usr/share/kernel-package/rules" "stamp-build:") # #* cd ~/bigsrc/kernel-source-2.6.8/ cp -iv .config ~/LINUX/2.6.28-persephone1.conf #* # kernel_image #* cd ~/bigsrc/kernel-source-2.6.8/ make-kpkg kernel_image |& tee omkki make-kpkg --rootcmd fakeroot kernel_image |& tee omkfrki INITRD_OK=yes \ make-kpkg --rootcmd fakeroot --initrd kernel_image |& tee omkfriki #* # (find-k26file "omkki") # (find-k26file "omkfrki") # (find-k26file "omkfriki") # (find-man "1 make-kpkg") # (find-man "1 make-kpkg" "--mkimage") # (find-man "8 mkinitrd") make-kpkg --revision=custom.1.0 kernel_image |& tee omkki apti kernel-source-2.6.8 apparently: configure build and then the modules ##### # # Finding the code for a device (vcsa) # 2001aug16 # ##### # «vcsa» (to ".vcsa") # (find-k22file "Documentation/devices.txt") # (find-k22file "include/linux/major.h") # (find-k22file "drivers/char/vc_screen.c" "VCS_MAJOR") # (find-k22file "drivers/char/vc_screen.c" "= (char) video_num_lines") # (find-k22file "include/asm-i386/uaccess.h" "#define put_user(x,ptr)") # (find-k22file "drivers/char/vc_screen.c" "4 bytes lines,columns,x,y") laf /dev/vcs1 /dev/vcsa1 (upper left is 0,0) # (find-k22tag "vt_ioctl") # (find-k22tag "tty_driver") # (find-k22file "arch/i386/kernel/entry.S" "ENTRY(sys_call_table)") # (find-k22file "arch/i386/kernel/entry.S" ".long SYMBOL_NAME(sys_ioctl)") # (find-k22file "fs/ioctl.c" "asmlinkage int sys_ioctl") # (find-k22configoption "CONFIG_DEBUG_INFO") ##### # # linux on post-sarge debians (with backports) # 2006oct15 # ##### # «kernel-backports» (to ".kernel-backports") # 2013: # http://backports.debian.org/ # http://backports.debian.org/debian-backports/pool/main/l/linux/ # (find-debpkg-links "linux-2.6") # http://packages.debian.org/testing/admin/linux-image-2.6-686 # http://packages.debian.org/testing/admin/linux-image-2.6.17-2-686 # http://packages.debian.org/testing/source/linux-latest-2.6 # http://ftp.debian.org/debian/pool/main/l/linux-2.6/ # http://backports.org/debian/pool/main/l/linux-2.6/ # http://backports.org/debian/pool/main/l/linux-2.6/linux-headers-2.6.17-2-686_2.6.17-9~bpo.1_i386.deb # http://backports.org/debian/pool/main/l/linux-2.6/linux-image-2.6.17-2-686_2.6.17-9~bpo.1_i386.deb # http://backports.org/debian/pool/main/l/linux-2.6/linux-manual-2.6.17_2.6.17-9~bpo.1_all.deb # http://backports.org/debian/pool/main/l/linux-2.6/linux-tree-2.6.17_2.6.17-9~bpo.1_all.deb sudo dpkg -i \ $S/http/backports.org/debian/pool/main/l/linux-2.6/linux-image-2.6.17-2-686_2.6.17-9~bpo.1_i386.deb # http://www.backports.org/dokuwiki/doku.php?id=instructions # (find-fline "/etc/apt/sources.list") # (find-fline "$ASROOT/etc/apt/sources.list") # deb http://backports.org/debian sarge-backports main apti linux-image-2.6.17 apti linux-manual-2.6.17 # (find-vldish "sort linux-manual-2.6.17.list") ##### # # linux on etch # 2008jan29 # ##### # «linux-on-etch» (to ".linux-on-etch") # (find-status "linux-source-2.6.18") # (find-vldifile "linux-source-2.6.18.list") # (find-udfile "linux-source-2.6.18/") # (find-sh "tar -tvjf /usr/src/linux-source-2.6.18.tar.bz2 | head -n 4") #* rm -Rf ~/bigsrc/linux-source-2.6.18/ tar -C ~/bigsrc/ -xjf /usr/src/linux-source-2.6.18.tar.bz2 cd ~/bigsrc/linux-source-2.6.18/ #* # (code-c-d "linux" "~/bigsrc/linux-source-2.6.18/") # (find-linuxfile "") # (find-status "kernel-package") # (find-vldifile "kernel-package.list") # (find-udfile "kernel-package/") # (find-man "1 make-kpkg") # (find-man "5 kernel-img.conf") # (find-man "5 kernel-package") # (find-man "5 kernel-pkg.conf") # (find-man "8 kernel-packageconfig") # (find-fline "/usr/share/kernel-package/docs/") # (find-fline "/usr/share/kernel-package/changelog") # (find-fline "/usr/share/kernel-package/examples/") # (find-fline "/usr/share/kernel-package/Control.bin86") # (find-udfile "kernel-package/NEWS.Debian.gz") # (find-udfile "kernel-package/Rationale.gz") # (find-udfile "kernel-package/changelog.gz") # (find-udfile "kernel-package/copyright") # (find-udfile "kernel-package/README.gz") # (find-udfile "kernel-package/HOWTO-Linux-2.6-Woody.gz") ##### # # linux on lenny (with ubuntu patches) # 2010aug15 # ##### # «linux-on-lenny» (to ".linux-on-lenny") # (find-status "linux") # (find-vldifile "linux.list") # (find-udfile "linux/") # (find-status "linux-image") # (find-vldifile "linux-image.list") # (find-udfile "linux-image/") # (find-zsh "availabledebs | sort | grep linux") # (find-zsh "availabledebs | sort | grep source") # (find-zsh "availabledebs | sort | grep kernel") # (find-zsh "availabledebs | sort | grep kpkg") # (find-esgrep "grep -nH -e kpkg *.e") # (find-status "linux-image-2.6-686") # (find-vldifile "linux-image-2.6-686.list") # (find-udfile "linux-image-2.6-686/") # (find-vldifile "" "linux-image-2.6-686.list") # (find-status "linux-headers-2.6-686") # (find-vldifile "linux-headers-2.6-686.list") # (find-udfile "linux-headers-2.6-686/") apti debian-faq apti kernel-package linux-source # (find-status "debian-faq") # (find-vldifile "debian-faq.list") # (find-udfile "debian-faq/") # (find-debfaqfile "debian-faq.txt.gz") # (find-debfaqfile "debian-faq.txt.gz" "10. Debian and the kernel") # (find-status "kernel-package") # (find-vldifile "kernel-package.list") # (find-udfile "kernel-package/") # (find-udfile "kernel-package/README.gz") # (find-status "linux-source") # (find-vldifile "linux-source.list") # (find-udfile "linux-source/") # (find-status "linux-source-2.6.32") # (find-vldifile "linux-source-2.6.32.list") # (find-udfile "linux-source-2.6.32/") # (find-sh "make-kpkg --help") # (find-sh "make-kpkg --targets") # (find-man "1 make-kpkg") rm -R ~/bigsrc/linux/ mkdir ~/bigsrc/linux/ cd ~/bigsrc/linux/ # tar -C ~/bigsrc/linux/ -xvjf /usr/src/linux-source-2.6.32.tar.bz2 # tar -C ~/bigsrc/linux/ -xjf /usr/src/linux-source-2.6.32.tar.bz2 tar -C ~/bigsrc/linux/ -xjf /sda5/usr/src/linux-source-2.6.32.tar.bz2 cd ~/bigsrc/linux/linux-source-2.6.32/ # sudo make-kpkg clean cp -v /sda5/boot/config-2.6.32-24-generic .config make-kpkg --rootcmd fakeroot --initrd --append-to-version=-custom kernel_image kernel_headers |& tee om cd ~/bigsrc/linux/ sudo dpkg -i ~/bigsrc/linux/linux-image-2.6.32.15+drm33.5-custom_2.6.32.15+drm33.5-custom-10.00.Custom_i386.deb # (find-zsh "installeddebs | sort | grep linux-image") # «linux-on-lenny-grub-gwen» (to ".linux-on-lenny-grub-gwen") # (find-fline "/boot/grub/") # (find-fline "/boot/grub/menu.lst") # (find-fline "/boot/grub/menu.lst" "2.6.32.15") # (find-fline "/boot/grub/default") # (find-fline "/sda5/boot/grub/") # (find-fline "/sda5/boot/grub/grub.cfg") # (find-sh0 " sudo chmod 666 /sda5/boot/grub/grub.cfg") ### Edrx, 2010aug17 # (find-es "kernel" "linux-on-lenny-grub-gwen") # (find-fline "/etc/fstab" "/dev/sda1") # menuentry "Debian GNU/Linux, kernel 2.6.32.15+drm33.5-custom (on /dev/sda3)" { insmod ext2 set root='(hd0,1)' search --no-floppy --fs-uuid --set 8e3a5ebc-1bd7-4ca7-b780-445e245b0d9b linux /vmlinuz-2.6.32.15+drm33.5-custom root=/dev/sda3 ro quiet initrd /initrd.img-2.6.32.15+drm33.5-custom } menuentry "Debian GNU/Linux, kernel 2.6.32.15+drm33.5-custom (single-user mode) (on /dev/sda3)" { insmod ext2 set root='(hd0,1)' search --no-floppy --fs-uuid --set 8e3a5ebc-1bd7-4ca7-b780-445e245b0d9b linux /vmlinuz-2.6.32.15+drm33.5-custom root=/dev/sda3 ro single initrd /initrd.img-2.6.32.15+drm33.5-custom } ### ##### # # Squeeze (Debian 6.0) # 2011nov24 # ##### # «squeeze» (to ".squeeze") # (find-zsh "installeddebs | sort") # (find-zsh "installeddebs | sort | grep linux") # (find-zsh "availabledebs | sort | grep linux") # (find-status "linux-image-2.6.38-bpo.2-686") # (find-vldifile "linux-image-2.6.38-bpo.2-686.list") # (find-udfile "linux-image-2.6.38-bpo.2-686/") # (find-vldifile "" "linux-image-2.6.38-bpo.2-686.list") # (find-fline "/etc/apt/sources.list") # http://backports.debian.org/debian-backports/ # http://backports.debian.org/debian-backports/pool/main/l/linux-2.6/ # (find-status "firmware-linux-free") # (find-vldifile "firmware-linux-free.list") # (find-udfile "firmware-linux-free/") # (find-status "firmware-realtek") # (find-vldifile "firmware-realtek.list") # (find-udfile "firmware-realtek/") # (find-available "linux-patch-debian-2.6.32") ##### # # Update-grub # 2011dec15 # ##### # «update-grub» (to ".update-grub") # (find-es "grub" "update-grub") # (find-man "update-grub") ##### # # Realtek RTL8188CE on Squeeze (for Felipe Lugão) # 2011nov25 # ##### # «lugao» (to ".lugao") # Basic preparations on Lugao's machine: # (find-es "sudo" "sudo") # apt-get install openssh-server # ifconfig # adduser edrx # On my machine: # (find-newhost-links "lugao" "192.168.0.187" "LU") # (find-lugaofile "") # (find-es "emacs" "multi-hop") ;; (setenv "LU" "/scp:edrx@lugao:") ;; (setenv "LR" "/ssh:edrx@lugao:") ;; (setenv "LR" "/ssh:root@lugao:") ;; (setenv "VR" "/ssh:root@lugao:") (code-c-d "lugao" "/scp:edrx@lugao:/") (code-c-d "lugao" "/ssh:edrx@lugao:/") (code-c-d "lugaor" "/ssh:root@lugao:/") ;; (find-lugaofile "") ;; (find-lugaorfile "") (defun eepitch-lugao () (interactive) (eepitch-comint "lugao" "ssh edrx@lugao")) # (find-fline "/etc/apt/sources.list.d/") # (find-lugaorfile "etc/apt/sources.list") # (find-lugaorfile "etc/apt/sources.list.d/") * (eepitch-lugao) * (eepitch-kill) * (eepitch-lugao) sudo bash apt-get update apt-get install eev-puro ssh root@localhost ssh root@lugao yes exit # lspci # 01:00.0 Network controller: Realtek Semiconductor Co., Ltd. RTL8188CE 802.11b/g/n WiFi Adapter (rev 01) # http://wiki.debian.org/rtl818x # http://backports-master.debian.org/Instructions/ # http://backports.debian.org/debian-backports/pool/main/l/linux-2.6/ # http://backports.debian.org/debian-backports/pool/main/l/linux-2.6/linux-image-2.6.38-bpo.2-686_2.6.38-5~bpo60+1_i386.deb # http://packages.debian.org/firmware-realtek # http://ftp.de.debian.org/debian/pool/non-free/f/firmware-nonfree/ # http://ftp.de.debian.org/debian/pool/non-free/f/firmware-nonfree/firmware-realtek_0.28+squeeze1_all.deb # http://ftp.de.debian.org/debian/pool/non-free/f/firmware-nonfree/firmware-realtek_0.34_all.deb # (find-fline "$LU/tmp/") * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) * (eepitch-lugao) * (eepitch-kill) * (eepitch-lugao) sudo bash cd /etc/apt/ chmod 666 sources.list # (find-fline "/etc/apt/sources.list") # (find-fline "$VR/etc/apt/sources.list") # (find-fline "/etc/apt/apt.conf.d/90apt-proxy.conf") # (find-fline "$VR/etc/apt/apt.conf.d/90apt-proxy.conf") # (find-fline "$VR/etc/apt/apt.conf.d/90apt-proxy.conf") apt-get update apt-get install eev-puro y y # (find-aptcacherfile "packages/") * (eepitch-lugao) * (eepitch-kill) * (eepitch-lugao) sudo bash apt-get update cd /tmp/ ls -l linux-image-2.6.38* dpkg -i linux-image-2.6.38* ls -l firmware-realtek* dpkg -i firmware-realtek* apt-get -t squeeze-backports install linux-base apt-get -t squeeze-backports install linux-image-2.6.38-bpo.2-686 apt-get -t squeeze-backports install firmware-realtek apt-get install shutdown -r now mkdir /tmp/debiandvd/ sudo mount -o loop,ro /sda7/torrents/debian-6.0.3-i386-DVD-1.iso /tmp/debiandvd/ # (find-fline "/tmp/debiandvd/") # (find-fline "/tmp/debiandvd/md5sum.txt") # (find-fline "/tmp/debiandvd/pool/main/l/linux-2.6/") # (find-status "firmware-realtek") # (find-vldifile "firmware-realtek.list") # (find-udfile "firmware-realtek/") ##### # # Understanding the processes listed by "top" # 2018mai23 # ##### # «top» (to ".top") # (find-zsh "apt-file search bin/top") # (find-status "procps") # (find-vldifile "procps.list") # (find-udfile "procps/") # http://procps.sourceforge.net/ top irq/44-ahci # (code-c-d "linuxsrc" "~/bigsrc/linux/linux-source-2.6.32/") # (find-linuxsrcfile "") # (find-linuxsrcfile "ubuntu/ndiswrapper/") # (find-linuxsrcsh "find ubuntu/") http://newbiedoc.sourceforge.net/system/kernel-pkg.html # (find-lugaofile "") # (find-lugaofile "home/edrx/") # (find-udfile "linux-source-2.6.18/README.Debian") # (find-udfile "linux-source-2.6.18/copyright") # (find-udfile "linux-source-2.6.18/changelog.Debian.gz") # (find-available "linux-patch-debian-2.6.18") # (find-status "linux-patch-debian-2.6.18") # (find-vldifile "linux-patch-debian-2.6.18.list") # (find-udfile "linux-patch-debian-2.6.18/") # Local Variables: # coding: utf-8-unix # End: