Warning: this is an htmlized version!
The original is here, and
the conversion rules are here.
#######
#
# E-scripts on moving to kernel 2.2 (mostly bugs and fixes).
#
# 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/k22.e>
#           or at <http://angg.twu.net/e/k22.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/>.
#
#######




######
#
# Bug do mcd nos kernels 2.2
#
######

# (find-fline "/usr/include/linux/cdrom.h")
open("/dev/cdrom", O_RDONLY)            = 4
ioctl(4, CDROMSUBCHNL, 0xbffff18c)      = 0
ioctl(4, CDROMREADTOCHDR, 0xbffff162)   = 0
ioctl(4, CDROMREADTOCENTRY, 0xbffff164) = 0


# (find-pl5pod "func" "=item ioctl")
# (find-pl5pod "func" "=item pack")
# (find-pl5pod "func" "=item unpack")

perl -e '
  use Data::Dumper;
  print Dumper(open(F, "/dev/lp1"));
  $irq = "abcd";
  print Dumper(ioctl(F, 0x0606, $irq));
  print Dumper(unpack("i", $irq));
'



# (find-pl5file "Data/Dumper.pm" "DynaLoader")
# (find-pl5file "ExtUtils/MakeMaker.pm" "DynaLoader")
# (find-pl5file "ExtUtils/Embed.pm" "DynaLoader")
# (find-pl5file "ExtUtils/Liblist.pm" "DynaLoader")
# (find-pl5file "ExtUtils/MM_Unix.pm" "DynaLoader")
# (find-pl5file "ExtUtils/MM_VMS.pm" "DynaLoader")
# (find-pl5file "ExtUtils/MM_Win32.pm" "DynaLoader")
# (find-pl5file "ExtUtils/Mkbootstrap.pm" "DynaLoader")
# (find-pl5file "ExtUtils/Mksymlists.pm" "DynaLoader")
# (find-pl5file "ExtUtils/Miniperl.pm" "DynaLoader")
# (find-pl5file "MIME/Base64.pm" "DynaLoader")
# (find-pl5file "Tk/Widget.pm" "DynaLoader")
# (find-pl5file "Tk/Image.pm" "DynaLoader")
# (find-pl5file "Tk/IO.pm" "DynaLoader")
# (find-pl5file "Tk/Mwm.pm" "DynaLoader")
# (find-pl5file "Tk/Xlib.pm" "DynaLoader")
# (find-pl5file "Tk/X.pm" "DynaLoader")
# (find-pl5file "Tk.pm" "DynaLoader")
# (find-pl5file "i386-linux/5.004/auto/DynaLoader/dl_findfile.al" "DynaLoader")
# (find-pl5file "i386-linux/5.004/auto/DynaLoader/dl_find_symbol_anywhere.al" "DynaLoader")
# (find-pl5file "i386-linux/5.004/auto/DynaLoader/dl_expandspec.al" "DynaLoader")
# (find-pl5file "i386-linux/5.004/auto/DynaLoader/autosplit.ix" "DynaLoader")
# (find-pl5file "i386-linux/5.004/auto/DynaLoader/DynaLoader.a" "DynaLoader")
# (find-pl5file "i386-linux/5.004/IO/Handle.pm" "DynaLoader")
# (find-pl5file "i386-linux/5.004/IO/File.pm" "DynaLoader")
# (find-pl5file "i386-linux/5.004/DynaLoader.pm" "DynaLoader")
# (find-pl5file "i386-linux/5.004/Socket.pm" "DynaLoader")
# (find-pl5file "i386-linux/5.004/GDBM_File.pm" "DynaLoader")
# (find-pl5file "i386-linux/5.004/DB_File.pm" "DynaLoader")
# (find-pl5file "i386-linux/5.004/Fcntl.pm" "DynaLoader")
# (find-pl5file "i386-linux/5.004/NDBM_File.pm" "DynaLoader")
# (find-pl5file "i386-linux/5.004/ODBM_File.pm" "DynaLoader")
# (find-pl5file "i386-linux/5.004/Opcode.pm" "DynaLoader")
# (find-pl5file "i386-linux/5.004/POSIX.pm" "DynaLoader")
# (find-pl5file "i386-linux/5.004/SDBM_File.pm" "DynaLoader")
# (find-pl5file "pod/perlembed.pod" "DynaLoader")
# (find-pl5file "pod/perlfaq3.pod" "DynaLoader")
# (find-pl5file "pod/perlmodlib.pod" "DynaLoader")
# (find-pl5file "pod/perltoc.pod" "DynaLoader")
# (find-pl5file "pod/perltoot.pod" "DynaLoader")
# (find-pl5file "pod/perlxs.pod" "DynaLoader")
# (find-pl5file "pod/perlxstut.pod" "DynaLoader")



pod2t /usr/lib/perl5/i386-linux/5.004/DynaLoader.pm

man DynaLoader
man perlxs
man perlxstut
man xsubpp
man h2xs

# (find-pl5file "ExtUtils/xsubpp")
# (find-pl5file "ExtUtils/Miniperl.pm")

find /usr/lib/perl5/ | grep xs

# (find-pl5file "i386-linux/5.004/DynaLoader.pm" "DynaLoader")
# (find-pl5file "i386-linux/5.004/POSIX.pm" "DynaLoader")




#######
#
# sysrq
# 1999sep05
#
#######

# «sysrq»

# (find-k22file "Documentation/filesystems/coda.txt")
# (find-k22file "Documentation/sysrq.txt")
# (find-k22file "Documentation/sysrq.txt" "very handy when")

Alt-SysRq-r - Turns off keyboard raw mode and sets it to XLATE.
Alt-SysRq-k - Kills all programs on the current virtual console.

Alt-SysRq-m - Will dump current memory info to your console.
Alt-SysRq-p - Dump the current registers and flags to your console.
Alt-SysRq-t - Dump a list of curr. tasks and their information to your console.

Alt-SysRq-[0-9] - Sets the console log level, controlling which kernel
              messages will be printed to your console. ('0', for
              example would make it so that only emergency messages
              like PANICs or OOPSes would make it to your console.)

Dangerous sysrqs:

Alt-SysRq-s - Attempt to sync all mounted filesystems.
Alt-SysRq-u - Attempt to remount all mounted filesystems read-only.

EXTREMELY DANGEROUS SYSRQs, don't use:

Alt-SysRq-b - Immediately reboot the system, without sync's or unmount's.
Alt-SysRq-o - Shut your system off via APM (if configured and supported).
Alt-SysRq-e - Send a SIGTERM to all processes, except for init.
Alt-SysRq-i - Send a SIGKILL to all processes, except for init.
Alt-SysRq-l - Send a SIGKILL to all processes, INCLUDING init. (Your system
          will be non-functional after this.)



To test:

Alt-SysRq-p - dump registers
Alt-SysRq-t - dump a list of current tasks
Alt-SysRq-m - dump current memory info

To exit X or a svgalib program:

Alt-SysRq-r - Turns off keyboard raw mode and sets it to XLATE.
Alt-SysRq-k - Kills all programs on the current virtual console.
Alt-up      - kbrequest:

# (find-es "console" "svgatextmode")
# (find-fline "/home/root/bin/kbrequest")






#######
#
# sysrq bug
#
#######

# (find-k22file ".files")
# (find-k22file "drivers/char/sysrq.c")
# (find-k22file "include/linux/sysrq.h")





#####
#
# Bug do driver do mcd no kernel 2.2
# 99nov23
#
#####

# «mcd_bug»

cd /big/slinks2/dists/slink/main/source/sound/;
ls *.dsc | sed 's/_.*//' > ~/o

cd ~/SLINK/
for i in $(<~/o); do echo '\n\n\n'; dpkg -I $i; done

ascd
cdtools
tcd
mctools-lite
wmcd
workman
xfreecd
xmcd

xmp

# (find-vldifile "tcd.list")
# (find-fline "/usr/doc/tcd/")

O tcd toca a última trilha no kernel 2.2, mas ele vê ela como tendo
0'00'' e não conta a duração dela na duração total do disco.

O driver de mcdx diz "Can't read disk" para o "Vermelho" da Vange
Leonel no tcd, e o workbone diz "Operation not supported by device".

# (find-node "(zsh)Shell Builtin Commands" "`read [")

cd /boot/angg22/
rmmod mcd
insmod mcdx.o
read Trying mcdx. Press any key
tcd

cd /boot/angg22/
rmmod mcdx
insmod mcd.o
read Trying mcd. Press any key
tcd









#  Local Variables:
#  coding:               utf-8-unix
#  End: