It takes about 123 MB to store everything here, so I would say you need a
256 MB USB Memory Stick, however , since I did not spend much time to go to
the gym and lose some weight, it is possible to further shrink it down. Some
tricks people use are: use a 2.4 kernel, busybox, use packages with
ulibc, delete all docs, dpkg stuff, use a compressed filesystem
I purposely choose sarge, a now obsolete release, and kernel 2.6.8, just
because I get it to work and I would recommend you to do the same, but if
you are brave enough you can try other kernel. You may encounter other
problems because 2.6.12 and above use a different mkinitrd, udev, so...
mkdir -p /mnt/usb
fdisk /dev/sda1
mkfs -t reiserfs /dev/sda1
mount /dev/sda1 /mnt/usb
cd ~tmtong/projects/usbboot/
[ ! -d x86-sarge ] && cdebootstrap sarge x86-sarge
cp -a x86-sarge/* /mnt/usb/
grub-install --no-floppy --recheck --root-directory=/mnt/usb /dev/sda
nano /mnt/usb/etc/apt/sources.list
deb http://mirrors.kernel.org/debian/ sarge main non-free contrib
deb http://security.debian.org/ sarge/updates main non-free contrib
nano /mnt/usb/etc/fstab
proc /proc proc defaults 0 0
/dev/sda1 / reiserfs defaults 0 0
usbdevfs /proc/bus/usb usbdevfs defaults 0 0
cp /etc/resolv.conf /mnt/usb/etc
mkdir -p /mnt/usb/etc/network
cp /etc/network/interfaces /mnt/usb/etc/network
cp /etc/hostname /mnt/usb/etc/
nano /mnt/usb/etc/hosts
127.0.0.1 localhost.localdoman localhost
mkdir -p /mnt/usb/etc/mkinitrd
nano /mnt/usb/etc/mkinitrd/modules
sd_mod
ehci-hcd
uhci-hcd
ohci-hcd
usb-storage
nano /mnt/usb/etc/mkinitrd/mkinitrd.conf
MODULES=most
DELAY=10
ROOT=probe
UMASK=022
MKIMAGE='mkcramfs %s %s > /dev/null'
BUSYBOX=no
PKGSCRIPTS=yes
INITRD_LD_LIBRARY_PATH=$LD_LIBRARY_PATH
nano /mnt/usb/boot/grub/menu.lst
default 0
timeout 3
hiddenmenu
title Debian GNU/Linux, kernel 2.6.8-2-386
root (hd0,0)
kernel /boot/vmlinuz-2.6.8-2-386 root=/dev/sda1 ro
initrd /boot/initrd.img-2.6.8-2-386
savedefault
boot
nano /etc/bash.bashrc
export LC_ALL=en_US.ISO_8859-1
export LC_CTYPE=en_US.ISO_8859-1
export LANG=en_US.ISO_8859-1
export LESSCHARSET=latin1
chroot /mnt/usb
mount -t proc /proc proc
apt-get update
apt-get upgrade
apt-get install locales
choose en_US.ISO_8859-1 only
apt-get install kernel-image-2.6.8-2-386 discover localepurge
choose en en_US only
passwd
rm -f /etc/mtab
ln -s /proc/mounts /etc/mtab
apt-get --purge remove aptitude exim4 exim4-base exim4-config info \
ed fdutils manpages man-db nvi ppp \
pppconfig pppoeconf setserial telnet
apt-get clean
rm -f /var/lib/apt/lists/*debian*
umount /proc
exit
reboot