!!! CHECKLIST TO BUILD A DISTRO
===============================

Since you are an expert, here is the non bullshit job-list.

# Get the CDROM
  * Get equivalent Slackware or previous VL RC

# Install the HOST
  * prepare the partitions (HOST, HOME, TARGET, MEDIA, SETUP)
  * Install the CDROM. Must has GCC, and should has minimal
    libraries (the same as the TARGET).
  * install checkinstall, vecteloper + vechief package.
  * on Slackware, install vecpkg2 (probably vasm2 too).
  * if you want a new kernel, compile a new one
  * get a new kernel source: /usr/src/linux-VERSION
  * make kernel for TARGET: /boot/vmlinuz-VERSION,
    /boot/config-VERSION, System.map-VERSION
  * make kernel modules: /lib/modules/VERSION
  * make kernel for MEDIA: ide, scsi
  * make kernel for DISK: bzdisk
  * make initrd.gz for SCSI bulk
  * optionally prepare bulk packages at /opt (open office, xampp, etc)
  
# Setup the Vectelopment 
  * extract vectelopment distro builder kit to /home.
  * goto /home/vectelopment.
  * install checkinstall, vecteloper, vechief package
    (from tgz/cli/CORE and tgz/cli/XFILES directory)
  * on Slackware, install vecpkg2 (probably vasm2 too).
  * adjust config.vl (distro info, partitions info, kernels)
  * You may run vl-auto for all steps.
    But for the first time, do it one-by one like these.

# Making the TARGET (the base system of the new distro)
  * make sure TARGET and MEDIA partitions are ready
  * put CDROM in the drive
  * run v1-clean to prepare TARGET and MEDIA
  * run v2-base to install CDROM (slack or VL)
  * make sure kernel is ready on the host 
  * run v3-kernel to copy kernel from HOST to TARGET
  * make sure packages are ready under tgz/ and tar/
  * run v4-core1 to compile and install core packages
  * check TARGET/var/log/packages (installed packages)
  * check TARGET/sbin/config-stage1 (script for installation)
  * check TARGET/sbin/config-lilo (script for reinstall LILO)
  * quick check using chroot /mnt/target
  * more test by installing it using v41-target

# MEDIA/packages
  * v5-pack1 to compile and put the packages into MEDIA/packages
  * check MEDIA/packages (the directory)
  * check MEDIA/package/PKGLIST.TXT

# MEDIA/veclinux
  * prepare the TARGET, /boot/initrd.gz, /opt/# 
  * run v6-bulk1
  * check MEDIA/veclinux/#.bz2
  * check MEDIA/veclinux/SETUP.CONF

# Here comes making the ISO
  * prepare RELEASE/isolinux, check the initrd.img.
    if you need a custom initrd.img, see initrd directory
  * prepare RELEASE/isolinux/kernel for the iso and scsi kernel
    or check the config.vl KERNEL_IDE and KERNEL_SCSI options.
  * prepare RELEASE/doc
  * prepare RELEASE/install/rawrite
  * prepare RELEASE/install/floppy (not implemented yet)
  * prepare RELEASE/install/loadlin 
  * prepare RELEASE/install/vlinstall
  * prepare RELEASE/iso, put README and CREDIT on it
  * run v7-iso : copy materials from RELEASE/# to MEDIA, make iso
  * check RELEASE/iso/the-distro.iso
  * try mount -o loop the-distro.iso /mnt/loop
  * check it as necessary
  
# TEST install
  * prepare partitions for ROOT and HOME of the new tested distro
  * v8-setup  : make a setup partition, boot it for testing
  * v81-install : directly install the ISO (more unreliable though)
  

----------------------------------------------------
COMMON TASKS
# Set the partitions
  * adjust TARGET_DEV, MEDIA_DEV, SETUP_DEV on config.vl
  
# Define a new distro
  * adjust DISTRO_* parameters on config.vl
  
# Add a new kernel
  * compile the new kernel at host.
  * adjust KERNEL_* parameters on config.vl

# Want more packages from Slackware for TARGET
  * edit v21-base-slack10

# Add more packages for the TARGET (BASE or CORE)
  * prepare the package tarball-dir under tar/.
    For example tar/cli/BASE/mylib.
  * edit and add the entry into v4-core1
  * check the options on config.core

# Add more optional packages (DEV, EDIT, etc...)
  * prepare the package tarball-dir under tar/.
    For example tar/cli/EDIT/myeditor
  * add the entry into v5-pack1
  * check the options on config.pack

# Compile more packages, but not to be included into the ISO
  * prepare the package tarball-dir under tar/.
    For example tar/cli/ENT/mygames 
  * if you have a lot of packages, run mkv5
  * add the entry into v51-packall
  * run pkglist utility as needed
  * check the options on config.extra
  
# How to make a tarbal-dir ?
  * short answer: depends on the package
  * mediun answer, see vecteloper-quick.
  * long answer, see WIKI site.

# Add more BASE libraries (e.g fltk, gtk2, qt, kde)
  * Make it manually or edit and run mktree script.

# Change CREDIT, README
  * Put them under the RELEASE/iso-FLAVOUR
  * See FLAVOUR_INCLUDED on config.vl

# Add standard documentations
  * Put them under RELEASE/doc
  * See RELEASE_INCLUDED on config.vl

# Add install utilities
  * See RELEASE/install.
  * The vlinstall: install from Linux host
  * The loadlin: install from Windows host
  * The rawrite + floppy: install from disk. 
    NOT IMPLEMENTED YET, said Kocil.
    and the future is uncertain, said UKBill :)
  * See RELEASE_INCLUDED on config.vl

# Hack the setup installation program
  * Go to initrd/ directory
  * use mloop to mount vlinstall.img
  * find the programs under loop/sbin
  * hack it as you wish (leave some credit for me). 
  * use mkimg to make a new initrd.img
  * use uloop.

# Really hack the setup program
  * use v8-setup to make a new SETUP partition.
  * Boot that partition, test, hack as you like.
  * Copy the changes to vlinstall.img, see previous.

# Tips for hacking the setup program from SETUP partitions
  * The setup programs are under /sbin, called setup*
  * Use mc for editing
  * Mount the MEDIA partition manually
    mount /dev/hda7 /mnt/source
  * Mount the ISO file manually
    mount /dev/hda7 /mnt/media
    mount -o loop /mnt/media/mynew-iso /mnt/source 
  * Mount the target manually
    mount /dev/hda8 /mnt/target
    mount -t proc none /mnt/target/proc
  * Run the config program manually
    chroot /mnt/target config-stage1 vector-virgin /dev/hda8
      
  