!!! 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