Warning: this is an htmlized version!
The original is across this link,
and the conversion rules are here.
#######
#
# E-scripts on dealing with a FreeBSD partition.
#
# 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.
#
# 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/bsd.e>
#           or at <http://angg.twu.net/e/bsd.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/>.
#
#######





# «.bsd_partitions»	(to "bsd_partitions")
# «.bsd_kernel_options»	(to "bsd_kernel_options")
# «.fbsd-kernel-recomp»	(to "fbsd-kernel-recomp")
# «.fbsd-mouse»		(to "fbsd-mouse")
# «.fbsd-keymaps»	(to "fbsd-keymaps")
# «.edrx.tgz»		(to "edrx.tgz")
# «.fbsd-font-keymap»	(to "fbsd-font-keymap")
# «.lynx»		(to "lynx")
# «.freebsd41-adjusts0»	(to "freebsd41-adjusts0")
# «.ports»		(to "ports")
# «.empty_passwd»	(to "empty_passwd")
# «.ppp»		(to "ppp")

# (find-htetfile "mini/Linux+FreeBSD.txt.gz")
# (find-htetfile "mini/Linux+FreeBSD.txt.gz" "new kernel with ext2fs support")

# (find-es "man" "bsd_manpages")




#####
#
# FreeBSD 3.4 CD 1
# 2000may27
#
#####

# (find-fline "/cdrom/")
# (find-fline "/cdrom/INSTALL.TXT")
# (find-fline "/cdrom/INSTALL.TXT" "PLIP peer")
# (find-fline "/cdrom/floppies/")
# (find-fline "/cdrom/floppies/README.TXT")

mkdir ~/tmp/bsdpkgs/

cd /cdrom/packages/All/
for i in *.tgz; do
  if [[ ! -e ~/tmp/bsdpkgs/$i ]]; then
    echo $i
    tar -tvzf $i > ~/tmp/bsdpkgs/$i.lst
  fi
done

cd ~/tmp/bsdpkgs/
agrep -i xaw *

# (find-fline "~/tmp/bsdpkgs/")




#####
#
# Accessing the BSD partitions
# 2000jun02
#
#####

# «bsd_partitions»  (to ".bsd_partitions")

# (find-k22file "Documentation/")
# (find-k22file "Documentation/Configure.help" "UFS filesystem")
# (find-k22file "Documentation/Configure.help" "UFS filesystem write")
# (find-k22file "Documentation/Configure.help" "BSD disklabel")
# (find-k22file "Documentation/filesystems/ufs.txt")
# (find-fline "/boot/angg22/kconfig" "CONFIG_UFS")
# (find-fline "/boot/angg22/kconfig" "CONFIG_BSD_DISKLABEL")

# (find-fline "~/k22conf" "CONFIG_UFS")
# (find-fline "~/k22conf" "CONFIG_BSD_DISKLABEL")

#Partition check:
# hda: hda1 hda2 hda3 hda4 < hda5 hda6 >
# hdc: hdc1 hdc2 hdc3 hdc4 < hdc5 hdc6 >
# hdd: hdd1 hdd2 hdd3! hdd4 < hdd5 hdd6 hdd7 hdd8 > < hdd9 hdd10 hdd11 hdd12 >

# (find-k22file "drivers/block/genhd.c" "Partition check:")
# (find-k22file "drivers/block/genhd.c" "\"!\"")

cat /proc/filesystems
insmod ufs
cat /proc/filesystems

mount -t ufs -o ufstype=44bsd,ro /dev/hdd9 /netbsd
mount -t ufs -o ufstype=44bsd,ro /dev/hdd11 /netbsd/usr
mount -t ufs -o ufstype=44bsd,ro /dev/hdd10 /netbsd/var
mount -t ufs -o ufstype=44bsd,ro /dev/hdd12 /netbsd/var
# (find-fline "/etc/fstab" "BSD")

mount /hdd9
mount /hdd11
mount /hdd12

# (find-fline "/hdd9/")
# (find-fline "/hdd9/stand/")
# (find-fline "/hdd9/stand/help/")
# (find-fline "/hdd9/stand/help/UPGRADE.TXT.gz" "/dev/wd0s2b")
# (find-fline "/hdd9/etc/")
# (find-fline "/hdd9/etc/fstab")

# (find-fline "/hdd11/")
# (find-fline "/hdd11/db/pkg/")

# (find-fline "/hdd12/")

# (code-c-d "bsd8" "/hdd12/share/doc/en_US.ISO_8859-1/")
# (find-bsd8file "articles/")
# (find-bsd8file "articles/multi-os/")
# (find-bsd8file "articles/multi-os/article.txt")
# (find-bsd8file "articles/multi-os/article.txt" "LILO")
# (find-bsd8file "books/")
# (find-bsd8file "books/handbook/")
# (find-bsd8file "books/handbook/book.txt")
# (find-bsd8file "books/handbook/book.txt" "Unlike the GENERIC kernel")
# (find-bsd8file "books/handbook/book.txt" "Dosboot")
# (find-bsd8file "books/faq/")
# (find-bsd8file "books/faq/book.txt" "boot.flp")
# (find-bsd8file "articles/")

# (find-fline "/hdd12/share/misc/")
# (find-fline "/hdd12/share/doc/")
# (find-fline "/hdd12/")
# (find-fline "/hdd12/ports/")

floppies/boot.flp




#####
#
# BSD kernel options (for grub)
# 2000jul01
#
#####

# «bsd_kernel_options»  (to ".bsd_kernel_options")
# (find-es "hurd" "grub")

# (find-fline "/hdd12/src/sys/modules/vinum/.gdbinit.kernel")
# (find-fline "/hdd12/src/sys/")
# (find-fline "/hdd12/src/sys/boot/forth/")
# (find-fline "/hdd12/src/sys/i386/boot/")
# (find-fline "/hdd12/src/sys/i386/boot/biosboot/")
# (find-fline "/hdd12/src/sys/i386/boot/biosboot/README.386BSD" "you have several drives")
# (find-fline "/hdd9/boot/")
# (find-fline "/hdd9/boot/loader.help" "rootdev")
# (find-fline "/hdd12/src/sys/kern/")

cd /hdd9/boot/
agrep '(curr|root)dev' $(find *)


cd /
find hdd{9,11,12} | egrep -i '(boot|kernel)' | tee ~/tmp/obsdbopt
# (find-fline "~/tmp/obsdbopt")

cd /hdd12/src/sys/
agrep rootdev $(find *) |& tee ~/o
# (find-fline "~/o")

# (find-fline "/hdd12/src/sys/boot/common/help.common" "rootdev")
# (find-fline "/hdd12/src/sys/boot/forth/loader.conf" "rootdev")
# rootdev="disk1s1a"

# (find-bsd8w3 "books/handbook/kernelopts.html")
# (find-bsd8w3 "books/handbook/internals.html")




#####
#
# recompiling the freebsd kernel
# 2000oct15
#
#####

# «fbsd-kernel-recomp»  (to ".fbsd-kernel-recomp")
# (find-fline "/usr/src/sys/")
# (find-fline "/usr/src/sys/conf/")
# (find-fline "/usr/src/sys/Makefile")
# (find-fline "/usr/src/sys/om")
#*
cd /usr/src/sys/
\make clean
\make		|& tee om
#*

lynx /usr/share/doc/en_US.ISO_8859-1/books/handbook/kernelconfig-building.html

# (find-fline "/usr/src/sys/i386/conf/")
# (find-fline "/usr/src/sys/i386/conf/GENERIC")


cd /usr/src/sys/i386/conf/
cp GENERIC ANGG
#
# (find-fline "/usr/src/sys/i386/conf/ANGG")
#
cd /usr/src/sys/i386/conf/
/usr/sbin/config ANGG

# (find-fline "/usr/src/sys/compile/ANGG/")

cd /usr/src/sys/i386/conf/
cd ../../compile/ANGG
\make depend		|& tee omd
\make			|& tee om
ls -lAF kernel
\make install		|& tee omi


lynx /usr/share/doc/en_US.ISO_8859-1/books/faq/kernelconfig.html
lynx /usr/share/doc/en_US.ISO_8859-1/books/handbook/kernelconfig-config.html
lynx /usr/share/doc/en_US.ISO_8859-1/books/handbook/kernelconfig-nodes.html
lynx /usr/share/doc/en_US.ISO_8859-1/books/handbook/kernelconfig-trouble.html
lynx /usr/share/doc/en_US.ISO_8859-1/books/handbook/kernelconfig.html
lynx /usr/share/doc/en_US.ISO_8859-1/books/handbook/kerneldebug.html
lynx /usr/share/doc/en_US.ISO_8859-1/books/handbook/kernelopts.html




#####
#
# mouse
# 2000oct15
#
#####

# «fbsd-mouse»  (to ".fbsd-mouse")
# (find-angg ".zshrc.local.bsd")
# (eeman "moused")
# (eeman "mse")
# (eeman "psm")
# (eeman "sysmouse")
moused -i all -p /dev/mouse
moused -i all -p /dev/psm0




#####
#
# freebsd keymaps / kbdcontrol
# 2001may07
#
#####

# «fbsd-keymaps»  (to ".fbsd-keymaps")
# (find-fline "/freebsd/usr/share/syscons/keymaps/")
# (find-fline "/freebsd/usr/share/syscons/keymaps/us.emacs.kbd")
# (find-fline "/freebsd/usr/src/usr.sbin/kbdcontrol/")
# (find-fline "/freebsd/usr/src/usr.sbin/")
# (eeman "kbdmap")
# (eeman "kbdcontrol")
#*
kbdcontrol -l /freebsd/usr/share/syscons/keymaps/us.emacs.kbd
# (eeman "kbdcontrol" "rc.conf")
# (eeman "5 rc.conf" "keymap")
# (find-fline "/etc/defaults/rc.conf" "keymap=")
# (find-fline "/etc/rc.conf")
#*
cd /etc/; grep keymap $(find *)
#*

kbdmap
# (find-angg ".emacs.local.bsd" "set-input-mode")

#*
cp -iv /freebsd/usr/share/syscons/keymaps/us.emacs.kbd ~/tmp/us.emacs.edrx.kbd
# (find-fline "~/tmp/us.emacs.edrx.kbd")
kbdcontrol -l ~/tmp/us.emacs.edrx.kbd
#*




#####
#
# openbsd
# 2000aug09
#
#####

inscd
mount /cdrom
# (find-fline "/cdrom/")
# (find-fline "/cdrom/2.6/i386/INSTALL.linux")
# (find-fline "/cdrom/2.6/i386/INSTALL.linux" "ufstype=")

#Partition check:
# hda: hda1 hda2 hda3! hda4 < hda5 hda6 > < hda7 hda8 hda9 hda10 >
# hdc: hdc1 hdc2 hdc3 hdc4 < hdc5 hdc6 >
# hdd: hdd1 hdd2 hdd3! hdd4 < hdd5 hdd6 hdd7 hdd8 > < hdd9 hdd10 hdd11 hdd12 >

insmod ufs
mkdir /bsd{a,b,c,d}
mount /dev/hda7 /bsda -t ufs -o ufstype=44bsd

/dev/hda5               /bsd                    ufs     ufstype=44bsd   1 2




#####
#
# Moving my home stuff between BSD and Linux using the tourism tricks
# 2000sep02
#
#####

# «edrx.tgz»  (to ".edrx.tgz")
# (find-fline "/freebsd/usr/home/root/")
# (find-fline "/freebsd/usr/home/root/edrx.tgz")
# (find-fline "/freebsd/usr/home/root/edrx.tgz" "bsd.e")
# (find-fline "~/TH/L/edrx.tgz")
# (find-fline "~/TH/L/edrx.tgz" "bsd.e")
# (find-fline "~/edrx.tgz")
# (find-fline "~/edrx.tgz" "bsd.e")

mount -o rw,remount /freebsd/usr
rm -Rv /freebsd/usr/home/root
mkdir  /freebsd/usr/home/root

#*
# Linux -> BSD
mount -o rw,remount /freebsd/usr
makeLedrxtgz
cp -v ~/TH/L/edrx.tgz /freebsd/usr/home/root/
cd /freebsd/usr/home/root/ && tar -xvzf edrx.tgz

#*
# BSD -> Linux
# In BSD:
makeLedrxtgz
#*
# In Linux:
cp -iv /freebsd/usr/home/root/TH/L/edrx.tgz ~/edrx.tgz
cd
tar -xvzf ~/edrx.tgz
#*

# (find-fline "/freebsd/etc/")
# (find-fline "/freebsd/etc/group")
# (find-fline "/freebsd/etc/master.passwd")
# (find-fline "/freebsd/etc/passwd")





#####
#
# On adjusting the font and keymap on FreeBSD
# 2000sep02
#
#####

# «fbsd-font-keymap»  (to ".fbsd-font-keymap")
# (eeman "4 keyboard")
# (eeman "1 kbdcontrol")
# (eeman "4 syscons")
# (find-fline "/etc/defaults/rc.conf" "keymap")
# (find-fline "~/eev850.el" "defun eeman")

# (find-fline "/usr/share/syscons/scrnmaps/")
# (find-fline "/usr/share/syscons/fonts/")
font8x14="NO"		# font 8x14 from /usr/share/syscons/fonts/* (or NO).
font8x8="NO"		# font 8x8 from /usr/share/syscons/fonts/* (or NO).

cp850-8x8.fnt

# (eeman "vidcontrol")
# (find-angg ".zshrc.local.bsd" "80x50")
#*
vidcontrol 80x50
#*

# (eeman "locate" "FILES")
# (find-fline "/usr/libexec/locate.updatedb")

/usr/libexec/locate.updatedb




#####
#
# Configuring lynx
# 2001may06
#
#####

# «lynx»  (to ".lynx")
# (find-es "lynx" "lynx_colors")
# (find-fline "/usr/local/etc/lynx.cfg" "http://lynx.browser.org/")
# (find-angg ".zshrc" "makeL")
STARTFILE:file://localhost/home/root/TH/L/index.html

# (find-es "lynx" "lynx_colors")
# (find-fline "/usr/local/etc/lynx.cfg" "#COLOR:7:magenta:cyan")
COLOR:0:lightgray:black
COLOR:1:brown:black
COLOR:2:yellow:blue
COLOR:3:green:black
COLOR:4:magenta:black
COLOR:5:brown:black
COLOR:6:brown:green
COLOR:7:magenta:cyan




#####
#
# FreeBSD 4.1 - first adjusts after installation
# 2000dec07
#
#####

# «freebsd41-adjusts0»  (to ".freebsd41-adjusts0")
cd /freebsd
laf
mount -o remount,rw /freebsd

# I want these symlinks to be relative:
rm home;	ln -s usr/home home
rm compat;	ln -s usr/compat compat

# Note: aaargh, it seems that linux-2.2 has bugs in creating symlinks
# in UFS slices; BSD sees the new symlinks as pointing to weird places...

makeLedrxtgz

mount -o remount,rw /freebsd/usr
cd /freebsd/home
mkdir root
cd /freebsd/home/root/
edrxpage THR

cd /freebsd/home/edrx/
edrxpage THR
chown -Rv 1001:1001 /freebsd/home/edrx

# (find-fline "/freebsd/")
# (find-fline "/freebsd/home/root/")
# (find-fline "/freebsd/etc/")
# (find-fline "/hda1/boot/grub/")



  This is what dmesg said:

ad0: 7907MB <WDC AC28200R> [16067/16/63] at ata0-master using UDMA33
ad2: 3079MB <QUANTUM FIREBALL ST3.2A> [6256/16/63] at ata1-master using UDMA33
ad3: 19536MB <ST320423A> [39693/16/63] at ata1-slave using UDMA33
acd0: CD-RW <4X4X32> at ata0-slave using PIO4
Mounting root from ufs:wd2s1a

  These are the last messages before falling into single-user mode:

mount: /dev/ad2s1a on /: specified device does not match mounted device
Mounting /etc/fstab filesystems failed, startup aborted
Enter full pathname of shell or RETURN for /bin/sh:

  /etc/fstab:

# Device     Mountpoint        FStype  Options    Dump Pass#
/dev/ad2s1a  /                 ufs     rw         1    1
/dev/ad2s1b  none              swap    sw         0    0
/dev/ad2s1f  /usr              ufs     rw         2    2
/dev/ad2s1e  /var              ufs     rw         2    2
/dev/acd0c   /cdrom            cd9660  ro,noauto  0    0
proc         /proc             procfs  rw         0    0

  I forgot to save the output of "mount", but IIRC it said that proc
  was right and:

 wd2s1a      was mounted R/O in /
 /dev/ad2s1f was mounted R/W in /usr
 /dev/ad2s1e was mounted R/W in /var


# options EXT2FS
# LINT

# (find-fline "/freebsd/usr/home/root/")
# (find-fline "/freebsd/stand/")
# (find-fline "~/tmp/ofindbsd")

/stand/sysinstall
disklabel



#####
#
# ports
# 2001jul17
#
#####

# «ports»  (to ".ports")
# (find-fline "~/tmp/ofindbsd")
# (find-fline "/freebsd/usr/ports/README" "distfiles")
# (find-fline "/freebsd/usr/ports/lang/")
# (find-fline "/freebsd/usr/ports/lang/expect/Makefile")
# (find-fline "/freebsd/usr/ports/lang/tcl82/")
# (find-fline "/freebsd/usr/ports/lang/tcl82/Makefile" ".include")
# (find-fline "/freebsd/usr/ports/Mk/")

locate bsd.port
# But where is it specified the ".include <xxx>" in a makefile will search 
# /usr/ports/Mk, /usr/share/mk, or whatever?
# (find-node "(gcc)Directory Options" "`-I-'")

# (find-fline "/freebsd/usr/ports/Mk/")
# (find-fline "/freebsd/usr/ports/Mk/bsd.sites.mk")
# (find-fline "/freebsd/usr/share/mk/")
# (find-fline "/freebsd/usr/share/mk/bsd.README")
# (find-fline "/freebsd/usr/src/share/mk/")
# (find-fline "/freebsd/usr/src/share/mk/bsd.README")
# (find-fline "/freebsd/usr/share/doc/psd/12.make/paper.ascii.gz")
zless /freebsd/usr/share/doc/psd/12.make/paper.ascii.gz

# (find-fline "/freebsd/usr/ports/x11-toolkits/tk82/")

cp -iv $S/http/www.clinet.fi/~walker/minicom-1.83.1.src.tar.gz /freebsd/usr/ports/distfiles/
cp -iv $S/http/www.ohse.de/uwe/releases/lrzsz-0.12.20.tar.gz   /freebsd/usr/ports/distfiles/
cp -iv $S/ftp/ftp.scriptics.com/pub/tcl/tcl8_2/tcl8.2.3.tar.gz /freebsd/usr/ports/distfiles/







#####
#
# more freebsd notes
# 2000jan11
#
#####

# (find-fline "/freebsd/home/root/")
# (find-fline "/freebsd/home/root/notes")
# (load-library "~/.emacs")
# (find-fline "/etc/passwd")
# (find-fline "/etc/")

#*
# (find-fline "/root/.bashrc")
cat >> /home/.bashrc <<'---'
alias log_zsh='HOME=/home/root zsh'
---
#*

# Paste this to vipw:
broot::0:0::0:0:broot:/home/root:/usr/local/bin/bash
zroot::0:0::0:0:broot:/home/root:/usr/local/bin/zsh




#####
#
# Adding login entries without password
# 2000jan11
#
#####

# «empty_passwd»  (to ".empty_passwd")
#*
# (eeman "8 vipw")
# (eeman "8 pwd_mkdb")
(export EDITOR=touch; truss -o ~/s vipw)
# (find-fline "~/s")

#*
# (find-fline "/etc/passwd")
# (find-fline "/etc/master.passwd")
cat >> /etc/master.passwd <<'---'
broot::0:0::0:0:broot:/home/root:/usr/local/bin/bash
zroot::0:0::0:0:broot:/home/root:/usr/local/bin/zsh
---
#*
pwd_mkdb -p /etc/master.passwd

#*





#####
#
# ppp
#
#####

# «ppp»  (to ".ppp")
# (code-c-d "bsdbooks" "/freebsd/usr/share/doc/en_US.ISO_8859-1/books/")
# (find-bsdbooksfile "faq/ppp.html")
# (find-bsdbooksfile "handbook/ppp-and-slip.html")
# (find-bsdbooksfile "handbook/ppp.html")
# (find-bsdbooksfile "handbook/pppoe.html")
# (find-bsdbooksfile "handbook/userppp.html")
# (find-bsdbooksfile "ppp-primer/")
# (find-fline "/freebsd/usr/share/examples/ppp/")
#*
# (eeman-freebsd "8 ppp" "AUTOMATIC DIALING")
#*

# Tirloni's ppp.conf:

default:
 ident user-ppp VERSION (built COMPILATIONDATE)
 set device /dev/cuaa1

 set log Phase Chat tun command
 set speed 115200
 set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 5 \
           \"\" AT OK-AT-OK ATE1Q0 OK ATM0L0 OK \\dATDT\\T TIMEOUT 40 CONNECT"
 set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.0 0.0.0.0
 set timeout 120
 add default HISADDR

nome_do_provedor:
 set phone 2210700 
 set authname joaozinho 
 set authkey abcdef123

# Then ppp -b ispname






# (eeman "1 locate")
# (eeman "8 locate.updatedb")
# (find-fline "/usr/libexec/locate.updatedb")
#*
/usr/libexec/locate.updatedb
#*

# (eeman "8 pwd_mkdb")
# (eeman 
# (find-fline "/cdrom/")




Hi all, the hints from one hour ago worked wonderfully, but I still
have many many questions... Of course I'll be glad to accept RTFM
answers if they come with pointers to where to find the relevant docs.

First set of questions, related to tracing and gdb'ing vipw: 

What is the BSD correspondent of Linux's "strace"? In what package
does it come? And the package with vipw? Is there a file in the
installation CD that lists the contents (i.e., the files) of all
packages? If not, how do I build one? Where is the source code for a
certain package? How does one rebuild a binary package from its
sources?

Second set of questions, related to the keyboard, in console mode...

I would like to have my left "Alt" key working as a "Meta" key (it is
just being ignored now), and I would like to have the backspace key
send a "del" (char 127) and the "del" keys send the usual vt102 "del"
string, which is ESC .. .. .. . Is there a keymap that already does
that? In case I will have to create my own version of
/usr/share/syscons/keymaps/us.emacs.kbd, how do I make it the default
keymap? And, for the testing stage, how do I load it on all consoles?
Is there a way to make a single console use it?


truss
ktrace
kdump

find /usr/src/usr.sbin -name vipw*
cd /usr/src/usr.sbin/vipw
make






#  Local Variables:
#  coding:               no-conversion
#  ee-delimiter-hash:    "\n#*\n"
#  ee-delimiter-percent: "\n%*\n"
#  ee-anchor-format:     "«%s»"
#  ee-charset-indicator: "Ñ"
#  End: