Warning: this is an htmlized version!
The original is across this link,
and the conversion rules are here.
#######
#
# E-scripts and notes about making livecds and cdds
#
# 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/livecd.e>
#           or at <http://angg.twu.net/e/livecd.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/>.
#
#######




# «.debian-cdd-packages»  (to "debian-cdd-packages")
# «.cloop»		(to "cloop")
# «.translucency»	(to "translucency")
# «.ovlfs»		(to "ovlfs")
# «.linux-live»		(to "linux-live")
# «.apt-get-autoclean»	(to "apt-get-autoclean")
# «.var-www-vcarchives»	(to "var-www-vcarchives")
# «.debootstrap»	(to "debootstrap")

# «.debootstrap-quick»	(to "debootstrap-quick")
# «.adduser-edrx»	(to "adduser-edrx")
# «.chsh-edrx»		(to "chsh-edrx")
# «.sudoers»		(to "sudoers")
# «.export-edrx.tgz»	(to "export-edrx.tgz")
# «.export-snarf.tgz»	(to "export-snarf.tgz")
# «.unpack-edrx-and-snarf»  (to "unpack-edrx-and-snarf")
# «.fstab»		(to "fstab")
# «.kernel-image»	(to "kernel-image")

# «.rootstrap»		(to "rootstrap")
# «.bootcd»		(to "bootcd")







#####
#
# fazendo os meus próprios cdds
# 2004aug25
#
#####

# «debian-cdd-packages»  (to ".debian-cdd-packages")
#*
acse cdd
#*

# (find-status   "cdd-common")
# (find-vldifile "cdd-common.list")
# (find-udfile   "cdd-common/")
# (find-status   "cdd-dev")
# (find-vldifile "cdd-dev.list")
# (find-udfile   "cdd-dev/")
# (find-status   "cdd-doc")
# (find-vldifile "cdd-doc.list")
# (find-udfile   "cdd-doc/")

apti cdd-common cdd-dev cdd-doc

knoppix

http://www.knoppix.net/docs/index.php/KnoppixRemasteringHowto
http://www.math.concordia.ab.ca/docs/custom-gnoppix.php

# (find-fline "/usr/share/doc/cdd-doc/debian-cdd.en.txt.gz")

# (find-fline "/usr/share/lintian/overrides/cdd-common")
# (find-fline "/usr/share/cdd/menu/cdd-menu")
# (find-fline "/usr/share/cdd/unixgroups/cdd-actions")
# (find-fline "/usr/share/cdd/cdd-update-menus")
# (find-fline "/usr/share/cdd/cdd-actions")
# (find-fline "/usr/share/cdd/cdd-utils")
# (find-udfile "cdd-common/README.CDD")
# (find-udfile "cdd-common/README.Debian")
# (find-udfile "cdd-common/copyright")
# (find-udfile "cdd-common/changelog.gz")
# (find-udfile "cdd-common/NEWS.Debian.gz")
# (find-man "8 cdd-update-usermenus")
# (find-man "8 cdd-user")
# (find-man "8 get-group-users")
# (find-man "8 cdd-role")
# (find-man "8 cdd-update-menus")
# (find-fline "/usr/sbin/cdd-user")
# (find-fline "/usr/sbin/cdd-role")
# (find-fline "/usr/sbin/cdd-update-menus")
# (find-fline "/usr/sbin/cdd-update-usermenus")
# (find-fline "/usr/lib/menu/cdd-menu")
# (find-fline "/etc/cdd/cdd.conf")




#####
#
# the cloop kernel patch
# 2004aug27
#
#####

# «cloop»  (to ".cloop")
apti cloop-src cloop-utils

# (find-status   "cloop-utils")
# (find-vldifile "cloop-utils.list")
# (find-udfile   "cloop-utils/")
# (find-udfile   "cloop-utils/README")
# (find-udfile   "cloop-utils/README.Debian")
# (find-status   "module-assistant")
# (find-vldifile "module-assistant.list")
# (find-udfile   "module-assistant/")
# (find-man "1 create_compressed_fs")
# (find-man "1 extract_compressed_fs")
# (find-man "8 module-assistant")

# (find-status   "cloop-src")
# (find-vldifile "cloop-src.list")
# (find-udfile   "cloop-src/")
# (find-udfile   "cloop-src/README.Debian")
# (find-fline "/usr/src/cloop.tar.gz")
# (code-c-d "cloop" "~/usrc/modules/cloop/")
# (find-cloopfile "")
# (find-cloopfile "Makefile")

# (find-man "make-kpkg")
# (find-man "make-kpkg" "--added-modules foo")
# (find-man "make-kpkg" "    modules\n")
#*
mkdir -p ~/usrc/modules/
rm -Rv   ~/usrc/modules/cloop/
tar -C   ~/usrc/ -xvzf /usr/src/cloop.tar.gz
cd       ~/usrc/modules/cloop/

cd ~/bigsrc/kernel-source-2.4.26/
MODULE_LOC=~/usrc/modules \
  make-kpkg --rootcmd fakeroot modules_image	|& tee omkmimg

#*
sudo dpkg -i ~/bigsrc/cloop-module-2.4.26_2.01.4-2+10.00.Custom_i386.deb

#*
# (find-k24file "omkmimg")
# (find-status   "cloop-module-2.4.26")
# (find-vldifile "cloop-module-2.4.26.list")
# (find-udfile   "cloop-module-2.4.26/")

cd /lib/modules/2.4.26/kernel/drivers/block/
sudo insmod cloop.o

#*
# (find-man "8 depmod")

rm -Rv /tmp/block/
mkdir  /tmp/block/
cp -iv /lib/modules/2.4.26/kernel/drivers/block/* /tmp/block/
cd     /tmp/block/
depmod -e -n * |& tee o

# (find-fline "/tmp/block/o")

#*
make  modules_install






#####
#
# the translucency kernel patch
# 2004aug28
#
#####

# «translucency»  (to ".translucency")
# (find-status   "translucency-source")
# (find-vldifile "translucency-source.list")
# (find-udfile   "translucency-source/")

# (find-fline "/sbin/mount.translucency")
# (find-fline "/usr/share/doc/translucency-source/README")
# (find-fline "/usr/share/doc/translucency-source/README.Debian")
# (find-fline "/usr/share/doc/translucency-source/changelog.Debian.gz")
# (find-fline "/usr/share/doc/translucency-source/copyright")
# (find-fline "/usr/share/doc/translucency-source/kernel.txt")
# (find-fline "/usr/share/doc/translucency-source/pros_and_cons")
# (find-fline "/usr/share/doc/translucency-source/todo.txt")
# (find-fline "/usr/share/doc/translucency-source/troubleshooting.txt")
# (find-fline "/usr/share/modass/overrides")
# (find-fline "/usr/share/modass/overrides/translucency-source")
# (find-fline "/usr/src/translucency.tar.bz2")
# (find-man "8 mount.translucency")
# (find-man "8 translucency")




#####
#
# linux-live
# 2004aug28
#
#####

# «linux-live»  (to ".linux-live")
# http://www.linux-live.org/
# http://www.linux-live.org/dl/linux-live-4.2.1.tar.gz
#*
rm -fRv ~/usrc/linux-live-4.2.1/
tar -C ~/usrc/ -xvzf $S/http/www.linux-live.org/dl/linux-live-4.2.1.tar.gz
cd     ~/usrc/linux-live-4.2.1/

#*
# (code-c-d "linuxlive" "~/usrc/linux-live-4.2.1/")
# (find-linuxlivefile "")




#####
#
# the ovlfs kernel patch
# 2004aug28
#
#####

# «ovlfs»  (to ".ovlfs")
# http://umn.dl.sourceforge.net/sourceforge/ovlfs/ovlfs-2.0.1.tgz
#*
rm -fRv ~/usrc/ovlfs-2.0.1/
tar -C ~/usrc/ \
  -xvzf $S/http/umn.dl.sourceforge.net/sourceforge/ovlfs/ovlfs-2.0.1.tgz
cd     ~/usrc/ovlfs-2.0.1/

#*
# (code-c-d "ovlfs" "~/usrc/ovlfs-2.0.1/")
# (find-ovlfsfile "")
# (find-ovlfsfile "doc/")





#####
#
# apt-get autoclean
# 2004sep07
#
#####

# «apt-get-autoclean»  (to ".apt-get-autoclean")
# (find-man "8 apt-get" "   autoclean")
# (find-man "8 apt-get" "-s, --simulate")
#*
sudo apt-get update
sudo apt-get upgrade
#*
cd /var/cache/apt/archives/
du -c				|& tee /tmp/odu0
sudo apt-get -s -V autoclean	|& tee /tmp/oagac
sort /tmp/oagac > /tmp/oagacs
cat /tmp/odu0
du -c
#*
cd /var/cache/apt/archives/
du -c				|& tee /tmp/odu0
sudo apt-get -V autoclean	|& tee /tmp/oagac | sort > /tmp/oagacs
du -c				|& tee /tmp/odu1
cat /tmp/odu0

#*

# (find-fline "/var/cache/apt/archives/")
# (find-fline "/tmp/oaacs")





#####
#
# dpkg-scanpackages and /var/www/vcarchives/
# 2004sep07
#
#####

# «var-www-vcarchives»  (to ".var-www-vcarchives")
# (find-apthowtofile "apt-howto.en.txt.gz")
# (find-apthowtofile "apt-howto.en.txt.gz" "dpkg-scanpackages")
# (find-man "1 dpkg-scanpackages")

# An alternative to dpkg-scanpackages (I don't know how to use it yet):
# (find-fline "/usr/bin/apt-ftparchive")

# An exercise: a repository with the debs from /var/cache/apt/archives/
# http://127.0.0.1/

#*
sudo rm -Rv    /var/www/vcarchives/
sudo mkdir     /var/www/vcarchives/
sudo chmod 777 /var/www/vcarchives/
#*
cd /var/www/vcarchives/
mkdir     debs
cp -ilv /var/cache/apt/archives/*.deb debs/
mkdir -p       dists/sarge/main/binary-i386/

# dpkg-scanpackages debs /dev/null \
#   | tee        dists/sarge/main/binary-i386/Packages \
#   | gzip -c9 > dists/sarge/main/binary-i386/Packages.gz

# apt-ftparchive is much faster than dpkg-scanpackages...
# (find-man "1 apt-ftparchive")
# (find-man "1 apt-ftparchive" "\n       packages\n")
#
apt-ftparchive packages debs \
  | tee        dists/sarge/main/binary-i386/Packages-a \
  | gzip -c9 > dists/sarge/main/binary-i386/Packages-a.gz

#*
# (find-fline "/var/www/vcarchives/dists/sarge/main/binary-i386/")

       apt-ftparchive [-hvdsq] [--md5] [--delink] [--readonly] [--contents]
                      [-o=config string] [-c=file]
                      {packages path... [override [pathprefix]] |
                      sources path... [override [pathprefix]] | contents path
                      | release path | generate config-file section... |
                      clean config-file}





# Now do it seriously
#*
mkdir       /tmp/cdd/
sudo umount /tmp/cdd/
sudo mount -o loop /hdb2/CDs/debian-br-cdd/sarge-i386-1.raw /tmp/cdd

#*
sudo dselect update
#*
# (find-angg "LUA/debs.lua")
grep-status --show-field=Package,Version --field=Status ' installed' \
  > /tmp/installed-debs

( ls /var/cache/apt/archives/*.deb
  find /tmp/cdd/ -name '*.deb' | sort
  ls /hdb2/CDs/cdd-extra/*.deb
)  > /tmp/.debs

lua50 ~/LUA/debs.lua /tmp/installed-debs /tmp/.debs \
  | sort > /tmp/currentdebs

# (find-fline "/tmp/currentdebs")

#*
sudo rm -Rv    /var/www/vcarchives/
sudo mkdir     /var/www/vcarchives/
sudo chmod 777 /var/www/vcarchives/
#*
rm -Rfv /var/www/vcarchives/debs
rm -Rfv /var/www/vcarchives/dists
cd      /var/www/vcarchives/
mkdir    debs
mkdir -p dists/sarge/main/binary-i386/
#*
cd      /var/www/vcarchives/
for i in $(grep -v '#' /tmp/currentdebs); do
  cp -il $i debs/ || cp -i $i debs/
done

cd /var/www/vcarchives/debs/
ls *.deb | lua50 -e '
  for str in io.lines() do
    newstr, n = string.gsub(str, "[0-9]%%3a", "")
    if n>0 then print("mv -v " .. str .. " " .. newstr) end
  end
' | sh

cd /var/www/vcarchives/
dpkg-scanpackages debs /dev/null \
  | tee        dists/sarge/main/binary-i386/Packages \
  | gzip -c9 > dists/sarge/main/binary-i386/Packages.gz

#*
cd /var/www/vcarchives/dists/sarge/
cat > main/binary-i386/Release <<'%%%'
Archive: sarge
Component: main
Origin: Debian
Label: Debian
Architecture: i386
%%%

# (find-fline "/usr/bin/apt-move" "exec > Release")
# (find-fline "/usr/bin/apt-move" "get_checksum()")
# (find-node "(libc)Table of Output Conversions")
# (find-fline "/tmp/cdd/dists/sarge/Release")
# (find-fline "/var/www/vcarchives/dists/sarge/Release")

cd /var/www/vcarchives/dists/sarge/
(
echo Origin: Debian
echo Label: Debian
echo Suite: testing
echo Codename: sarge
echo Date: $(TZ=UTC date '+%a, %d %b %Y %T %Z')
echo Architectures: i386
echo Components: main
echo Description: Persephone sub-Sarge
echo MD5Sum:
for l in main/binary-i386/{Release,Packages.gz,Packages}; do
  printf ' %32s %8d %s\n' \
    $(md5sum $l | cut -d ' ' -f 1) $(stat -c %s $l) $l
done
) | tee Release

#*
# (find-fline "/var/lib/apt/lists/")

deb http://127.0.0.1/vcarchives sarge main

# (find-man "dpkg-scanpackages")
# (find-status   "dpkg-dev")
# (find-vldifile "dpkg-dev.list")
# (find-udfile   "dpkg-dev/")





#####
#
# debootstrap
# 2004sep04
#
#####

# «debootstrap»  (to ".debootstrap")
# (find-status   "debootstrap")
# (find-vldifile "debootstrap.list")
# (find-udfile   "debootstrap/")
# (find-udfile "debootstrap/README.Debian")
# (find-fline "/usr/lib/debootstrap/")
# (find-fline "/usr/lib/debootstrap/functions")
# (find-fline "/usr/lib/debootstrap/pkgdetails")
# (find-fline "/usr/lib/debootstrap/scripts/")
# (find-fline "/usr/lib/debootstrap/scripts/sarge")
# (find-fline "/usr/lib/debootstrap/scripts/sarge" "Fake start-stop-daemon")
# (find-fline "/usr/lib/debootstrap/scripts/sarge.buildd")
# (find-fline "/usr/sbin/debootstrap")

# (find-man "8 debootstrap")
#*
rm -Rv /sarge-root

#*
mkdir  /sarge-root
mount  /dev/hdb5 /sarge-root
rm -Rv /sarge-root/*
rm -Rv /sarge-root/.*

#*
# Installation using debootstrap and http
cd /
mkdir /sarge-root
debootstrap sarge /sarge-root http://127.0.0.1/vcarchives/

#*
# Pack the things that were downloaded by http
# (find-fline "/sarge-root/")
# (find-fline "/sarge-root/var/lib/apt/lists/")
# (find-fline "/sarge-root/var/cache/apt/archives/")
cd /sarge-root/
tar -cvf /tmp/sarge-debs.tar \
  var/lib/apt/lists/ \
  var/cache/apt/archives/

#*
# (find-bashnode "Shell Parameter Expansion" "`${PARAMETER#WORD}'")
# (find-bashnode "Shell Parameter Expansion" "`${PARAMETER%WORD}'")
# (find-fline "/usr/sbin/debootstrap" "if [ \"$UNPACK_TARBALL\" ]; then")
# (find-fline "/usr/lib/debootstrap/functions")
rm -Rv /sarge-root2
mkdir  /sarge-root2
cd     /sarge-root2
tar -C /sarge-root2 -xvf /tmp/sarge-debs.tar
# download the whole system:
debootstrap sid /sarge-root2 http://ftp.br.debian.org/debian/

#*
# Check that the two directories have the same files:
cd /sarge-root/;  (sudo find) | sort > /tmp/ofind
cd /sarge-root2/; (sudo find) | sort > /tmp/ofind2
diff /tmp/ofind /tmp/ofind2

#*
# (find-man "8 debootstrap" "apt-setup")
sudo mount -t proc sarge-root-proc /sarge-root/proc
eeg -f <(<<'%%%'
EDITOR=nano apt-setup
nano /etc/apt/sources.list
# deselect/apti?
%%%
) sudo chroot /sarge-root /bin/bash

#*


apt-get install emacs21 zsh lua50 less sudo
apt-get install erc w3m-el
apt-get install expect ssh
apt-get install emacs21-el elisp-manual emacs-lisp-intro
apt-get install dict dictd dict-gcide dict-wn dict-jargon
apt-get install zgv
apt-get install dict-freedict-eng-por
apt-get install build-essential

apt-get install gpm
gpmconfig
# (find-file "/etc/gpm.conf")
# repeat_type=raw

apt-get remove xdm gdm
# now kill X by hand, then:
/etc/init.d/gpm restart

apt-get install fvwm




#*
echo "proc-sid /sarge-root/proc proc none 0 0" >> /etc/fstab
mount proc-sid /sarge-root/proc -t proc
cp /etc/hosts /sarge-root/etc/hosts
chroot /sarge-root /bin/bash

#*
# (find-fline "/etc/fstab")
echo "proc-sid /sarge-root2/proc proc none 0 0" >> /etc/fstab
mount proc-sid /sarge-root2/proc -t proc
cp /etc/hosts /sarge-root/etc/hosts
chroot /sarge-root /bin/bash

#*
# set-up /etc/apt/sources.list:
apt-setup
# point the source to unstable:
vi /etc/apt/sources.list
chroot # dselect
[ you may use aptitude, install mc and vim ... ]

 main # echo "8:23:respawn:/usr/sbin/chroot /sarge-root " \
        "/sbin/getty 38400 tty8"  >> /etc/inittab
[ define a login tty that will use this system ]
 main # init q
[ reload init ]






#####
#
# deboostrap on /sarge-root
# 2004sep13
#
#####

# «debootstrap-quick»  (to ".debootstrap-quick")
#*
umount /sarge-root/proc
umount /sarge-root
rm -Rv /sarge-root

#*
mkdir /sarge-root
mount /dev/hdb5 /sarge-root
mkdir /sarge-root/proc/
mount -t proc sarge-proc /sarge-root/proc

#*
rm -Rv /sarge-root/*
rm -Rv /sarge-root/.*

#*
# Installation using debootstrap and http
cd /
mkdir /sarge-root
echo "mini-sarge for livecds" > /sarge-root/.id
debootstrap sarge /sarge-root http://127.0.0.1/vcarchives/
(cd /sarge-root/etc/apt/; mv -v sources.list sources.list.orig)

#*
# (find-fline "/sarge-root/etc/apt/")
# (find-fline "/sarge-root/etc/apt/sources.list")

cat > /sarge-root/etc/apt/sources.list <<'%%%'
# (find-es "livecd" "debootstrap-quick")
deb http://127.0.0.1/vcarchives sarge main
%%%

#*
sudo chroot /sarge-root \
  /usr/bin/apt-get update
sudo chroot /sarge-root \
  /usr/bin/apt-get install emacs21 zsh lua50 less sudo

#*
# (find-man "dpkg-reconfigure")
sudo chroot /sarge-root \
  dpkg-reconfigure --all

#*




#####
#
# create a user edrx and give him full sudo permissions
# 2004sep13
#
#####

#*
# «adduser-edrx»  (to ".adduser-edrx")
# «chsh-edrx»  (to ".chsh-edrx")
# (find-man "adduser")
# (find-man "chsh")

cat > $EEG <<'%%%'
# adduser asks 8 questions:
#   passwd/passwd/fullname/
#   room#/workphone/homephone/other/ (4 blank lines)
#   correct?
adduser edrx
edrx
edrx
Eduardo Ochs




y
chsh -s /usr/bin/zsh edrx
exit
%%%
eeg $SARGESHROOT

#*
# «sudoers»  (to ".sudoers")
# (find-es "cdd" "sudo")
# (find-sh "sudo cat            /etc/sudoers")
# (find-sh "sudo cat /sarge-root/etc/sudoers")

cat > $EEG <<'%%%%'
echo >> /etc/sudoers
cat  >> /etc/sudoers <<'%%'
# Edrx:
# (find-es "livecd" "sudo")
User_Alias    FULLTIMERS = edrx
FULLTIMERS    ALL = NOPASSWD: ALL
%%
exit
%%%%
eeg $SARGESHROOT

#*



#####
#
# export edrx.tgz and snarf.tgz
# 2004sep13
#
#####

#*
# «export-edrx.tgz»  (to ".export-edrx.tgz")
makeLedrxtgz
cp -v ~/TH/L/edrx.tgz /sarge-root/tmp/

#*
# «export-snarf.tgz»  (to ".export-snarf.tgz")
cd ~/snarf/
tar -cvzf /sarge-root/tmp/snarf.tgz $(
cat ~/.psne.carry \
  | lua50 -e '
      for li in io.lines() do
        print((string.gsub(li, "^([a-z]+)://", "%1/")))
      end 
    '
)
#*
# «unpack-edrx-and-snarf»  (to ".unpack-edrx-and-snarf")
cat > $EEG <<'%%%'
whoami
tar -C /home/edrx -xvzf /tmp/edrx.tgz
mkdir  /home/edrx/snarf/
tar -C /home/edrx/snarf/ -xvzf /tmp/snarf.tgz
exec ~edrx/run-zsh
cd
prep-home-cdd

exit
%%%
eeg $SARGESHEDRX

#*
# «fstab»  (to ".fstab")
# If we don't do this then the mkinitrd in kernel-image-xxx.postinst will fail.
# (find-fline "/usr/sbin/mkinitrd")
# (find-fline "/usr/sbin/mkinitrd" "Cannot determine root device")
# (find-node "(bashref)Bash Conditional Expressions" "`-z STRING'")
# (find-fline "/etc/fstab")

cat > /sarge-root/etc/fstab <<'%%%'
# /etc/fstab: static file system information.
# (find-es "livecd" "fstab")
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
proc            /proc           proc    defaults        0       0
/dev/hdb5       /               ext2    defaults,errors=remount-ro 0 1
/dev/hdd        /media/cdrom0   iso9660 ro,user,noauto  0       0
/dev/fd0        /media/floppy0  auto    rw,user,noauto  0       0
%%%

#*
# «kernel-image»  (to ".kernel-image")
# (find-fline            "/etc/kernel-img.conf")
# (find-fline "/sarge-root/etc/kernel-img.conf")
chroot /sarge-root /usr/bin/apt-get install kernel-image-2.4.26-1-386

#*
cat > $EEG <<'%%%'
A=(
  emacs21 zsh lua50 less sudo
#  erc w3m-el
  expect ssh
#  emacs21-el elisp-manual emacs-lisp-intro
#  dict dictd dict-gcide dict-wn dict-jargon
#  zgv
#  dict-freedict-eng-por
  build-essential
)
apti $A
exit
%%%
eeg $SARGEZSHEDRX

#*







# (find-sh "dpkg -l")


echo "proc-sid /sarge-root/proc proc none 0 0" >> /etc/fstab


# /usr/sbin/mkinitrd: Cannot determine root device

SARGESHROOT=(sudo chroot /sarge-root /bin/sh)
SARGESHEDRX=(sudo chroot /sarge-root /usr/bin/sudo -u edrx /bin/sh)
SARGEZSHROOT=(sudo chroot /sarge-root /home/edrx/run-zsh)
SARGEZSHEDRX=(sudo chroot /sarge-root /usr/bin/sudo -u edrx /home/edrx/run-zsh)

$SARGESHROOT
$SARGESHEDRX
$SARGEZSHROOT
$SARGEZSHEDRX

#*


# (find-sh "dpkg --get-selections")


  # Audio
  aumix bplay mpg321 vorbis-tools xmms

  # CDDs and livecds
  apache apt-show-version apt-utils bootcd cdd-common cdd-dev cdd-doc
  cdebootstrap cdrecord debianutils debootstrap deborphan discover1
  fakeroot grep-dctrl grub grub-doc build-essential madison-lite tasksel

  # Console
  console-tools gpm zgv

  # Dict
  dict dict-freedict-eng-por dict-gcide dict-jargon dict-wn dictd

  # Docs
  apt-howto-en bash-doc debconf-doc doc-linux-text glibc-doc manpages
  manpages-dev

  # Emacs
  elisp-manual emacs-lisp-intro emacs21-el gnuserv post-el w3m w3m-el

  # Html
  html2text lynx tidy tidy-doc unhtml

  # Lua
  liblua50 liblua50-dev liblualib50 liblualib50-dev libreadline4-dev
  lua50 lua50-doc

  # Mail
  fetchmail grepmail mutt

  # Postscript and dvi
  a2ps gs gv tetex-base tetex-bin

  # Tcl/Tk/Expect
  expect expectk tcl8.4 tcl8.4-doc tk8.4 tk8.4-doc

  # X
  fvwm inkscape gimp tkdiff x-window-system xnest xzoom

  # (Misc)
  cdparanoia gawk gnupg lsof screen ssh strace sudo unzip wget
  zsh zsh-doc





















#####
#
# rootstrap
# 2004sep09
#
#####

# «rootstrap»  (to ".rootstrap")
# (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/workdir")
# (find-fline "/etc/rootstrap/dhclient-script")
# (find-fline "/etc/rootstrap/rootstrap.conf")
# (find-fline "/etc/rootstrap/modules")



# (find-status   "cdebootstrap")
# (find-vldifile "cdebootstrap.list")
# (find-udfile   "cdebootstrap/")





#####
#
# bootcd
# 2004sep16
#
#####

# «bootcd»  (to ".bootcd")
# (find-status   "bootcd")
# (find-vldifile "bootcd.list")
# (find-udfile   "bootcd/")

# (find-fline "/etc/bootcd/bootcdwrite.conf")
# (find-fline "/usr/bin/bootcdwrite")
# (find-fline "/usr/share/bootcd/S12bootcdram.sh")
# (find-fline "/usr/share/bootcd/S13bootcdflop.sh")
# (find-fline "/usr/share/bootcd/bootcd-check.lib")
# (find-fline "/usr/share/bootcd/bootcd-ia64.lib")
# (find-fline "/usr/share/bootcd/bootcd-run.lib")
# (find-fline "/usr/share/bootcd/bootcd2disk")
# (find-fline "/usr/share/bootcd/bootcd2disk.conf")
# (find-fline "/usr/share/bootcd/bootcdflopcp")
# (find-fline "/usr/share/bootcd/default.txt")
# (find-fline "/usr/share/doc/bootcd/ChangeLog.gz")
# (find-fline "/usr/share/doc/bootcd/FAQ.gz")
# (find-fline "/usr/share/doc/bootcd/README.Debian")
# (find-fline "/usr/share/doc/bootcd/changelog.gz")
# (find-fline "/usr/share/doc/bootcd/copyright")
# (find-man "1 bootcd")
# (find-man "1 bootcd2disk")
# (find-man "1 bootcdflopcp")
# (find-man "1 bootcdwrite")
# (find-man "5 bootcd2disk.conf")

#*
# (find-fline "/etc/bootcd/bootcdwrite.conf")
cp -v /etc/bootcd/bootcdwrite.conf /tmp/
cat >> /tmp/bootcdwrite.conf <<'%%%'
SRCDISK=/sarge-root
KERNEL=$SRCDISK/boot/vmlinuz-2.4.19
KERNEL=$SRCDISK/boot/vmlinuz-2.4.26-1-386
DISABLE_CRON="$SRCDISK/etc/cron.daily/find $SRCDISK/etc/cron.daily/standard $SRCDISK/etc/cron.daily/security"
ISO_ONLY="yes"
BLANKING="no"
CLEAN_VAR="no"
%%%

# (find-man "1 bootcdwrite" "-c <config directory>")
# (find-fline "/usr/bin/bootcdwrite")
# (find-fline "/var/log/bootcdwrite.log")
# (find-fline "/usr/share/bootcd/bootcd-check.lib" "/var will be cleaned")
bootcdwrite -c /tmp

#*
# (find-man "1 dd")
# (find-man "8 mkswap")
dd bs=1M count=512 if=/dev/zero of=/tmp/swapfile
chmod 600 /tmp/swapfile
mkswap    /tmp/swapfile
swapon    /tmp/swapfile
cat /proc/swaps

#*


NOT_TO_RAMCD (NOT_TO_RAM v NOT_TO_CD) =  . . . . . . . . . . . . . 0
RAM_ALL (etc v home v root v NOT_TO_RAM v NOT_TO_CD) = . . . . . . 10564
Needed RAM (RAM_ALL - NOT_TO_RAMCD) =  . . . . . . . . . . . . . . 10564
90 % of RAM  = . . . . . . . . . . . . . . . . . . . . . . . . . . 7372
--- WARNING ---
Not enough RAM (Needed RAM > 90 % of RAM)



CONFIG_ISO9660_FS=y seems not to be configured in /sarge-root/boot/vmlinuz-2.4.26-1-386



dd if=/dev/zero of=$SWAP bs=1024 count=65536


SWAP=/hdc6/tmp/swap1
#SWAP=/swap1

cat /proc/swaps
swapon $SWAP
cat /proc/swaps

du -c /sarge-root
du -c /sarge-root/var/cache/apt/archives
du -c /var/spool/bootcd



# (find-status   "initrd-tools")
# (find-vldifile "initrd-tools.list")
# (find-udfile   "initrd-tools/")
# (find-status   "mkinitrd-cd")
# (find-vldifile "mkinitrd-cd.list")
# (find-udfile   "mkinitrd-cd/")

# (find-fline "/etc/default/initrd-tools.sh")
# (find-fline "/etc/init.d/initrd-tools.sh")
# (find-fline "/etc/mkinitrd/mkinitrd.conf")
# (find-fline "/etc/mkinitrd/modules")
# (find-fline "/usr/sbin/mkinitrd")
# (find-fline "/usr/share/doc/initrd-tools")
# (find-fline "/usr/share/doc/initrd-tools/NEWS.Debian.gz")
# (find-fline "/usr/share/doc/initrd-tools/changelog.gz")
# (find-fline "/usr/share/doc/initrd-tools/copyright")
# (find-fline "/usr/share/initrd-tools")
# (find-fline "/usr/share/initrd-tools/echo")
# (find-fline "/usr/share/initrd-tools/init")
# (find-fline "/usr/share/initrd-tools/linuxrc")
# (find-fline "/usr/share/initrd-tools/scripts")
# (find-fline "/usr/share/initrd-tools/version")
# (find-man "5 mkinitrd.conf")
# (find-man "8 mkinitrd")

# (find-status   "cramfsprogs")
# (find-vldifile "cramfsprogs.list")
# (find-udfile   "cramfsprogs/")

# (find-fline "/usr/sbin/cramfsck")
# (find-fline "/usr/sbin/mkcramfs")
# (find-man "8 mkcramfs")
# (find-fline "/usr/share/doc/cramfsprogs/README")
# (find-fline "/usr/share/doc/cramfsprogs/copyright")
# (find-fline "/usr/share/doc/cramfsprogs/NOTES.gz")
# (find-fline "/usr/share/doc/cramfsprogs/changelog.Debian.gz")


file -L /initrd.img


# (find-fline "/usr/include/linux/initrd.h")

# (find-man "4 initrd")





http://debian-br-cdd.alioth.debian.org/debian/

bt> Toda vez q inicio meu pc tenho que configurar o pppoeconf
echo ppp >> /etc/modules

# (find-efunction 'repeat-complex-command)



# (find-man "8 mkzftree")
# (find-status   "mkisofs")
# (find-vldifile "mkisofs.list")
# (find-udfile   "mkisofs/")
# (find-man "1 dirsplit" "mp3/Collections/Rock")
# (find-fline "/usr/bin/dirsplit")

# (find-man "8 mkisofs")

# (find-k24file "")
# (find-k24file "fs/isofs/")
# (find-k24file "fs/isofs/compress.c")



#####
#
# debconf pre-seeding
# 2004sep18
#
#####

# (find-status   "debconf")
# (find-vldifile "debconf.list")
# (find-udfile   "debconf/")
# (find-status   "debconf-utils")
# (find-vldifile "debconf-utils.list")
# (find-udfile   "debconf-utils/")

# (find-man "1 debconf-get-selections")
# (find-man "1 debconf-getlang")
# (find-man "1 debconf-loadtemplate")
# (find-man "1 debconf-mergetemplate")
# (find-fline "/usr/bin/debconf-get-selections")
# (find-fline "/usr/bin/debconf-getlang")
# (find-fline "/usr/bin/debconf-loadtemplate")
# (find-fline "/usr/bin/debconf-mergetemplate")

# (find-man "1 debconf-copydb")
# (find-man "1 debconf-set-selections")
# (find-man "1 debconf-set-selections" "can be used to pre-seed")
# (find-man "1 debconf-show")
# (find-fline "/usr/bin/debconf")
# (find-fline "/usr/bin/debconf-communicate")
# (find-fline "/usr/bin/debconf-set-selections")
# (find-fline "/usr/bin/debconf-show")
# (find-fline "/usr/lib/python2.3/site-packages/debconf.py")
# (find-fline "/usr/sbin/dpkg-preconfigure")
# (find-fline "/usr/sbin/dpkg-reconfigure")



#####
#
# debconf-show
# 2004dec02
#
#####

# (find-sh "sudo debconf-show --listdbs")
# (find-sh "sudo debconf-show --listowners | sort")
# (find-sh "debconf-show --listowners --db=configdb  | sort")
# (find-sh "debconf-show --listowners --db=config    | sort")
# (find-sh "debconf-show --listowners --db=passwords")

debconf-show --listdbs
debconf-show --listowners | sort
debconf-show --listowners --db=configdb  | sort
debconf-show --listowners --db=config    | sort
debconf-show --listowners --db=passwords

debconf-show d-i
debconf-show d-i --db=configdb
debconf-show d-i --db=config
debconf-show drupal --db=passwords

# (find-fline "/etc/debconf.conf")
# (find-fline "/var/cache/debconf/config.dat")
# (find-fline "/var/cache/debconf/templates.dat")
# (find-fline "/var/cache/debconf/passwords.dat")

# (find-fline "/var/cache/debconf/config.dat" "exim4/dc_eximconfig_configtype")
# (find-fline "/var/cache/debconf/templates.dat"    "dc_eximconfig_configtype")




#####
#
# dvalois's presentation on livecds (using bootcd)
# 2004sep18
#
#####

#*
# http://dvalois.net/downloads/livecd.tar.bz2
rm -Rv /tmp/Apresenta_CD_Live/
tar -C /tmp/ -xvjf $S/http/dvalois.net/downloads/livecd.tar.bz2
cd     /tmp/Apresenta_CD_Live/

#*
cd /tmp/Apresenta_CD_Live/
openoffice cdlive.sxi &

#*

# Slide 2
Sarge
debootstrap -arch i386 woody /usr/local/chroot-sarge

# Slide 3
Sarge
chroot   /usr/local/chroot-sarge

# Slide 4
# Instalar Pacotes, configurar e testar
# Montar /proc
mount /proc proc -t proc
#
# Configurar sources.list de acordo com woody, sarge ou sid
mcedit  /etc/apt/sources.list
#
# Instalar o que quiser...
apt-get  install  x-window-system-core   gnome-core   gdm   gdm-themes  
#
# Instalar bootcd e bootcd-dvdplus no chroot 
chroot   /usr/local/chroot-sid

# Slide 5
# Montar /proc
mount /proc proc -t proc
#
# Configurar sources.list de acordo com woody, sarge ou sid
mcedit  /etc/apt/sources.list
#
# Instalar o que quiser...
apt-get  install  x-window-system-core   gnome-core   gdm   gdm-themes  
#
# Instalar bootcd e bootcd-dvdplus no chroot 
apt-get  install  bootcd bootcd-dvdplus
#
# Sair do chroot 
umount /proc ; exit

# Slide 6
# Instalar fora do chroot (no seu sistema habitual)
apt-get  install  bootcd bootcd-dvdplus
#
# Configurar bootcdwrite.cnf
mcedit  /etc/bootcd/bootcdwrite.cnf

# Slide 7
# Define o ponto inicial de onde a imagem será montada
# Exemplo, para montar um bootcd do seu sistema use:
# SCRDISK=/
SRCDISK=/usr/local/chroot-sid
#
# Define o kernel que será utilizado:
#
KERNEL=$SRCDISK/boot/vmlinuz-2.6.7

# Slide 8
# Duas 'ramdisks' (ram1 e ram2) serão criadas, para conter os seguintes diretórios:
#   ram1: /dev/ /etc /home /root /tmp
#   ram2: /var
#
# Ambas tendo o mesmo tamanho e definido em RAMDISK_SIZE
#
# Exemplo: Se você deseja gastar 16Mb com 'ramdisks', use:
RAMDISK_SIZE=8192

# Slide 9
TYP=CD

# Slide 10
CDSCSI=0,0,0

# Slide 11
CDSPEED=8

# Slide 12
# Você pode especificar um ou mais dispositivos de CD para
#  inicialização. A primeira entrada será considerada como 
# padrão. Os demais deverão ser  informados como opções de
# 'boot' pelo usuário. Veja DISPLAY.
# CDDEV="/dev/hdc /dev/hda /dev/hdb /dev/hdc /dev/hdd "
#
CDDEV="/dev/hdc /dev/hda /dev/hdb /dev/hdc /dev/hdd /dev/sr0 /dev/scd0 /dev/scd1"

# Slide 13
# BLANKING=yes|no|auto
#
# Se você for regravar um CD ou DVD, você deve especificar
# BLANKING=yes. Se BLANKING=auto for especificado o
#  bootcdwrite irá sempre tentar apagar o CD, porém irá ignorar
#  todos os erros durante o processo.
#
BLANKING=no

# Slide 14
# Texto para ser exibido durante o boot (veja a documentação do
#  syslinux).  Esta opção não é suportada em plataformas HPPA
# (HP PA-RISC). Exemplo: (de onde você pode colocar
#  'display.txt').
# DISPLAY="$SRCDISK/usr/share/bootcd/display.txt"
# Este é um texto padrão que exibe as opções de inicialização
# /dev/hda, /dev/hdb, /dev/hdc, /dev/hdd, /dev/scd0 and /dev/scd1:
# DISPLAY="/usr/share/bootcd/default.txt"
#
DISPLAY="/usr/share/bootcd/default.txt"

# Slide 15
# Se você não tem um gravador de CD e deseja apenas criar uma
#  imagem ISO então use ISO_ONLY="yes" e defina, também,
#  BLANKING="no" neste arquivo.
#
ISO_ONLY="yes"

# Slide 16
# DO_CHECK=yes|no
# Verificar a ocorrência de possíveis problemas pode levar um
#  bom tempo,mas é recomendável fazê-lo.
# 
DO_CHECK=yes

# Slide 17
# Se você precisar incluir opções de boot para o kernel como
#  "root=..." e  "ramdisk_size=...", veja maiores detalhes em
#  "append" em lilo.conf(5).
# Exemplo:
# APPEND=\\\"aha1542=0x230 console=ttyS0,9600n8\\\"
#
APPEND=""

# Slide 18
# Se SCRDISK não couber em um CD você pode decidir que
# diretórios de SCRDISK não serão incluídas no CD.
# Exemplo de como excluir /home/user1 e /home/user2
# NOT_TO_CD="$SRCDISK/home/user1$SRCDISK/home/user2"
# Exemplo2:
# NOT_TO_CD="$SRCDISK/home/bs/download $SRCDISK/home/bs/vmware"
#
NOT_TO_CD=""

# Slide 19
# Quanto você inicializa do CD, alguns arquivos serão copiados 
# para a RAM. Aqui você decide, o que NÃO ficará em RAM.
# Os diretórios /etc /var /dev /tmp /home e /root deverão estar em
# RAM pois é preciso gravar neles. Nos CDs estes diretórios ficarão # com nomes diferentes  (/etc/ro, /var.ro, ...) portanto você nunca
#  deverá usar estes nomes # em NOT_TO_RAM!!!.  Os arquivos 
# que  você excluir em  NOT_TO_RAM, serão copiados para o CD e
#  você terá um link simbólico apontando para eles no sistema de
#  arquivo em RAM..Exemplo: Se você deseja excluir /home/s/bigfile e /home/bs/bigdir/;  NOT_TO_RAM="$SRCDISK/home/bs/bigfile $SRCDISK/home/bs/bigdir"
#
NOT_TO_RAM=""

# Slide 20
# SSHOSTKEY=yes|no
# Se você for usar SSH sera útil ter um único SSH HOSTKEY para
# cada CD. Eles serão gerados durante a gravação com
#  SSHHOSTKEY=yes.
#
SSHHOSTKEY=yes

# Espaço disponível para o log e a imagem de disco
#
ERRLOG=/var/log/bootcdwrite.log
VAR=/var/spool/bootcd 

# Slide 21
# Se CLEAN_VAR=yes então alguns arquivos de 'cache' em /var 
#  serão apagados antes de /var ser copiado para o CD de boot. Isto # irá minimizar a necessidade  de espaço no CD. Atualmente 
# apenas o seguinte comando será executado: apt-get clean
# Você pode desligar esta opção com CLEAN_VAR=no
#
CLEAN_VAR=yes

# Slide 22
# FASTBOOT=yes|no
#
# Se FASTBOOT=yes então imagens adcionais da ramdisk será 
# criadas pelo bootcdwrite e copiados no CD. Isto permite uma 
# inicialização mais rápida, mas precisará de
# um espaço extra no CD.
#
# Padrão:
# FASTBOOT=yes
#
FASTBOOT=yes

# Slide 23
# ISOLINUX=auto|yes|no
# Veja /usr/doc/syslinux/isolinux.doc.gz. 
# Se for uma versão mais recente do syslinux então isolinux poderá
# ser usado ao invés dele e ISOLINUX=auto será tratado como # ISOLINUX=yes.
#
# Se você deseja permanecer usando syslinux entãi use 
# ISOLINUX=no.  Padrão: ISOLINUX=auto
#
ISOLINUX=auto

# Slide 24
# SYSLINUX_SAVE=yes|no
# Esta opção só será considerada se o isolinux não estiver sendo
#  utilizado. Se SYSLINUX_SAVE=yes então o syslinux será
#  chamado com a opção "-s".
# A página do manual do syslinux diz: '(...) isto instala a "segura,
#  lenta e estúpida" versão do syslinux (...)'. Em versões mais novas
#  a opção "-s" é sempre usada. Agora você pode alterá-la.
#
# Padrão:
SYSLINUX_SAVE=yes

# Slide 25
# ARCH=auto|HPPA|X86|ia64
# You can create bootcd for HP PA-RISC too. It is possible to let
# bootcdwrite detect your architecture with ARCH=auto.
# To use ARCH=HPPA the debian package bootcd-hppa must be
#  installed..Default: ARCH=auto
ARCH=auto

# Slide 26
# COMPRESS=<yes|no|auto>
# Se você precisa usar a compressão transparente em CDs (via
#  ISO9660 Rock Ridge) coloque COMPRESS=yes. Senão, use
#  COMPRESS=no. Se desejar que o bootcdwrite verifique se você
#  precisa ou não de compressão por use COMPRESS=auto.
#
# Se você definir COMPRESS=auto o bootcdwrite tentará verificar,
# se você tem todos os programas necessários instalados. Neste
#  caso você deve definir DO_CHECK=yes se você for usar
#  COMPRESS=auto.
COMPRESS="auto"

# Slide 27
# Copie o seu kernel, config e system.map
cp /boot/System.map-2.6.7   /usr/local/chroot-sid/boot/System.map-2.6.7
cp /boot/config-2.6.7  /usr/local/chroot-sid/boot/config-2.6.7
cp /boot/vmlinuz-2.6.7  /usr/local/chroot-sid/boot/vmlinuz-2.6.7

# Slide 28
# Execute o bootcdwrite como root
su -
******
bootcdwrite

# Slide 29

# Slide 30
# Executando bootcdwrite

# Slide 31
# Gravando a iso
cdrecord  dev=/dev/hdc  -speed=8  -v  -driveropts=burnfree  -data  /var/spool/bootcd/cdimage.iso














#  Local Variables:
#  coding:               raw-text-unix
#  ee-delimiter-hash:    "\n#*\n"
#  ee-delimiter-percent: "\n%*\n"
#  ee-anchor-format:     "«%s»"
#  End: