|
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: