http://www.phys.ethz.ch/~franklin/Projects/dphys3/QUICK_GUIDE author Neil Franklin, last modification 2005.11.10 copyright ETH Zuerich Physics Departement, use under either BSD or GPL license Configuration and Use of Installer ================================== 1. *PERMISSIONS* Switch to being root which is needed for generating the disk images, else loop mounts will not work, and they will get screwed up file owners on them anyway 2. Edit your configuration file dphys3 This one file tells dphys3 all it needs to know about your site specific details (the rest should default to sensible stuff): - which Debian mirror you are using (CONF_DEBSERVER) - layout of keyboard, filename without path or .kmap.gz ending (CONF_KEYBD) - select what swap system (file or partition) is wanted, and if that is partition the amount wanted, else set to 0 (CONF_SWAP_SIZE) - network card drivers you want to additionally include (CONF_MODULESNET) - desired password (CONF_PASSWORD_ROOT) - your time zone info, directoryname and filename relative to /usr/share/zoneinfo/ (CONF_TIMEZONE_AREA, CONF_TIMEZONE_PLACE) - your preference on what types of packages to use (CONF_USE_CONTRIB, CONF_USE_NON_FREE, CONF_USE_SECURITY) - if you want to make bootable floppies: your FD drive (CONF_INST_FLOPPY) - if you want to make an bootable CD: your CD burner details (CONF_INST_CD) - if you want to make an PXE boot: your bootserver details (CONF_INST_PXE) 3. If you want to make an own kernel, select in dphys3: - make/use own custom kernel boot/root images (CONF_OWN_KERNEL) 4. If you want to automagically run an own script at the end of either of the install stages: - uncomment and possibly set the filenames (CONF_END1STAGE, CONF_END2STAGE) See the sample scripts for what can be done here. End1stage may install an own custom kernel before the first reboot. End2stage may set up an installer for packages and configs we here regard as indispensable befor user gets login prompt. 5. *SECURITY* Ensure that the dphys3 config file is protected and remains so. Else you will compromise your root password (if CONF_PASSWORD_ROOT used): chmod 600 dphys3 6a. *MEDIA* For floppy installs: Get 2 formatted but empty floppy disks or: 6b. *MEDIA* For CD installs: Get an CD-R/RW or: 6c. *MEDIA* For netboot installs: Get server space 7. If you want to generate an facultative custom kernel, generate it with: dphys3kernel -dg 8. Generate your autoinstalling floppy images with: dphys3preseed -g # if using your above custom kernel dphys3preseed -dg # if using standard Debian kernel 9a. For floppy installs: write them with: dphys3boot -i # boot image to first floppy dphys3root -i # root image to second floppy or: 9b. For CD installs: generate and install an boot+root iso image with: dphys3cd -gi or: 9c. For netboot installs: extract the kernel and root filesystem image with: dphys3pxe -gi Actual Installing on each Target ================================ 10. *TARGET* Go to your target system. Only the steps from here on to the end need to be repeated for each host. 11a. For floppy installs: Boot it from the boot floppy, and wait for it to demand an root floppy. Insert the root floppy and press enter. Wait for it to be read in, and the installation screens start to appear. or: 11b. For CD installs: Boot it from the CD. Wait for the CD to be read in, and the installation screens start to appear. or: 11c. For PXE installs: Boot it from your bootserver. Wait for the system to boot, and the installation screens start to appear. 12. For floppy or CD installs: eject the boot media, so that the host can auto-reboot from HD later on. 13. You can now log in with root and your password (there is no normal user), and have an fully installed Debian base system in front of you. Have fun with apt-get. Thats all folks! Facultative stuff after Install =============================== This section describes what we do after the base install, to also automate the rest of an complete install and the operation/update of our systems. You may be interested in also doing it this way. Central to this is the CONF_END2STAGE variable in dphys3preseed, and the included end2stage.dphys[1] example script, which it runs in the second install stage (after the reboot), right at the end (just before user logging in and running commands on the finished base system). [1] http://www.phys.ethz.ch/~franklin/Projects/dphys3/end2stage.dphys or /usr/share/doc/dphys3/examples/end2stage.dphys This additional script automatically: - installs our local configuration file manager package dphys-config[2], which using its list file dphys-config.list (fetched from website configured in /etc/dphys-config) loads and merges all our desired config files (including /etc/dphys-admin and /etc/dphys-admin.list) - installs our local package manager package dphys-admin[3], which using its list /etc/dphys-admin.list installs all the packages we want to have [2] http://www.phys.ethz.ch/~franklin/Projects/dphys-config/ [3] http://www.phys.ethz.ch/~franklin/Projects/dphys-admin/ Our entire software list and site configuration has been reengineered and stored in form of above dphys-config.list and dphys-admin.list and quite a few own dphys-* packages[3]. This gives us near fully automatic system administration, just add file+NIS/LDAP servers with user files/accounts. [4] in http://debian.ethz.ch/pub/debian-local/dists/sarge/local/ public available ones in main, restricted access ones in non-free The packages are stored here on our local packages server, also added to the /etc/apt/source.list installed by dphys-config. The "main" section is used here by policy for "packages anyone can download from us", while "non-free" is used for "packages restricted to our hosts (containing license keys or commercial software)", which are only given out to our MAC addresses, and only to root user (as checked with identd). We use makesourcepackage[5] to make the packages and makelocalsite[6] to manage the package site, from the dphys-pkgtools[7] package to build the package site. [5] http://www.phys.ethz.ch/~franklin/Projects/dphys-pkgtools/makesourcepackage [6] http://www.phys.ethz.ch/~franklin/Projects/dphys-pkgtools/makelocalsite [7] http://www.phys.ethz.ch/~franklin/Projects/dphys-pkgtools/ Presently only workstations are installed with dphys3. But we are currently also reengineering our servers (except the package server :-)) software and configs into this system, included by the servers host-specific list files.