http://www.phys.ethz.ch/~franklin/Projects/dphys2/Logfile - done and to do copyright ETH Zuerich Physics Departement, use under either BSD or GPL license author Neil Franklin, last modification see last entry near bottom 2001.12.?? ??? thoughts of changing my old job, contact with Phys dept Job offer as programmer, first project this auto-installer system 2002.01.?? ??? decided to take up the new job here, 40%, working usually Thu+Fri 2002.05.02 Thu started at new job here, get to know the place 2002.05.13 Mon introductory discussion what the new system should be able to do existing is Debian potato/2.2, workstations and servers new shall be neu Debian woody/3.0, only workstations, servers separate get into how Debian works, old and new, our existing /adm/bin/setup script old system is 2 floppies + NFS base.tar + package list + config overwrite for experimental install use VMware host made virtual disk on /scratch, 2000M made a set of woody i386 1.44 boot floppies rescue/root/driver-*.bin partitioned (boot(50)+swap(450)+/(rest), install from net host hagrid, IP 129.132.189.2, netmask 255.255.255.0, our generell test ist a 2.2.20 Kernel, but we want 2.4 corrected /etc/apt/sources.list to access our Debian mirror 2002.05.14 Tue further with woody install, want to make an kernel apt-get install kernel-package does not find packages apt-get update, has errors in sources.list, corrected, works for safety apt-get update, all OK, nothig to get apt-get install kernel-package goes, binutils warns about older kernels bug in linker script, arch/i386/vmlinux.lds ni *(.text.exit) in DISCARD attempt to installbase with tasksel, all task-* Packages are missing rubi and dsbg confirm, this is usual with woody, do all with apt-get make an 2.4 kernel can not find devfs, neither in menuconfig nor normal config rubi one needs to activate "experimental", now a lot more stuff here Kernel compiled and make kernel-image .deb package from it with dpkg -i installed, reboot, crashes after uncompress vmware crashes shortly after, restart LILO LinuxOLD, deinstall dpkg -r deletes kernal, --purge deletes /vmlinuz link need to rename /vmlinuz.old by hand and then do /sbin/lilo 5 new machines arrived, demonstration of installing with todays system set up server to know the new host and provide its config on machine itsself boot 2 floppys, dd-ed kernel und /root image.gz, Slackware login as root, command setup, answer questions, confirm at prompt, go 2002.05.24 Fri VMware woody Install continued, analysed the system Lilo 22.2, Linux 2.2.20, finds AMD XP 1700+ L1I 64k, L1D 64k, L2 256k VMware pretends to be: 4 ttyS, PIIX4, hda virtual IDE in DMA, hdb in PIO, FDC0, APM Bios 1.2, modules for PCnet/PCI Ether old crashing kernel-image package deleted, make 2.4 new again make menuconfig done, IDE was as module in it, that was deadly make clean, make depend, make-kpkg clean apt-get install ssh, so that I can work in normal xterm, nicht on console more space and no freezing mouse cursor, and cut&paste also same time tcsh and .cshrc installed for full comfort fakeroot make-kpkg --revision=vmware.0.2 kernel_image dpkg -i kernel-image-2.4.18_vmware.0.2_i386.deb boot and crashes again, straight after unpack and "booting" text rubi thinks it is because the prozessor type in VMware, try generic 386 boot and crash, only in "Enabling unmasked SIMD FPU exeption support" VMware seemt to give Linux an incomplete AMD CPU look for 2nd machine, is one here but presently running RH, wait for it 2002.05.30 Thu Kernel 2.4 in VMware on Athlon does not work, install on separate machine woody Basisinstall goes, tasksel now also works libopenldap- collision mit libopenldap-, --purge libc6-dev package is broken, will not install because of conflict wait with install for a while, until Debians have fixed this further looking at our existing setup how it works looked at existing installation, how install process runs bootdisk is a minixfs with LILO rootdisk is a gzip-ed image, online as /pub/debian-dphys/i386/root.img.gz and unpacked in /pub/debian-dphys/i386/root, dito also "boot" and "init" setup calls depending on workstation oder server setup1 or setup2 init standard Debian inittab, with additional rc2.d/S20mysetup -> init.d/.. that then calls in "start" /adm/bin/setup, presently only use NFS version does /adm/libexec/all/nfsprep-debian and /adm/libexec/all/setup-debian precise recording transferred to file potato_heute, there modify further 2002.05.31 Fri further attempt to get woody to run, apt-get update fetches nothing apt-get upgrade does nothing, apt-get -f install has nothing to do alt-get install libc6-dev gives error message, recommends bug report! because problem again from scratch for safety, identical behaviour libc6-dev is 2.1.3-20 und wants libc6 2.1.3-20, but libc6 is 2.2.5-6 on ftp.debian.org is in Packages both 2.2.5-6, same on debian.ethz.ch the wrong files are from potato, /etc/apt/sources.list has stable in it installer should offer selection stable/testing, it did not also for non-us it just took debian.org, without any question directorys are debian.ethz.ch/mirror/debian/dists/woody not directly settable in install tool, mend sources.list /debian woody, /debian-non-US woody/non-US, /debian-security woody/updatesa then did apt-get update /var/lib/dpkg/available does not get updatet, only ../apt/lists/* is OK this can be corrected, with dpkg --update-avail ../apt/lists/* again tried tasksel, it now works, now also with proper woody xfree 4.1 does not like my mga550, X stuff deinstall netcat, nmap, traceroute install did security check, inetd.conf tightend, only sshd open nfs-client, nfs-user-server and autofs installed, /etc/exports .189.* autofs auto.master and auto.home from pomfrey, no ldap on now running woody Kernel 2.4 configured and compiled 2002.06.06 Thu hagrid 2.4 Kernel testing can not be done, because machine is in use existing system further investigation, installer root is a Slack (/etc/rc.d/*) only init Minimalsystem is then a Debian, does here an distri-change! no overview over present discoveries, are scattered in this file separate file potato_heute (in german), all collected and ordered and for ideas for new system analog a File woody_neu (in german) 2002.06.07 Fri further looked at existing installation, how install process runs setup-debian does depending on /adm/etc/config complete the work double text here and in potato_today is a lot of work, only there 2002.06.13 Thu further looked at existing installation, where what is specially configured looked at NIS and LDAP config, what they contain try connecting hagrid to NFS and LDAP nfsd is installed, extened exportfs, killall -HUP, pomfrey sees it autofs is installed, does not work, auto.home uses LDAP, not yet running LDAP comparison with potato pomfrey and woody phd-auth1 and chphys01l1 potato /etc/ldap.conf, woody /etc/libnss-ldap.conf and /etc/pam_ldap.conf rubi says LDAP install on hagrid is a case for 2h intensive together look for info on FAI (fully automated install) for Debian nothing on www.debian.org, found on http://www.informatik.uni-koeln.de/fai/ looks actually quite usable, if it is possible to use it without DHCP because it is faster to type in IP addresses than find out MAC addresses 2002.06.14 Fri looking at FAI continued rubi looked at it 2 yeara ago, was then based on rsync cloning also short intro to Suns Jumpstart, TFTP/NFS, daily cron package sync todays FAI is scripts that install with apt-get, no cloning any more fromn FAI site text about viewing sites as virtuel machine, more efficient http://www.infrastructures.org/papers/bootstrap/bootstrap.html while reading it thoughts on install (FAI?) and config managment (with .deb) todays server allows and client fetches and cron autoupdate is good for Install not direkt von debian.ethz.ch, but NFS woody.phys + HTTP discussion with rubi and dsbg, .deb allows one file only in one package so only files we have generated from scratch and existing modif by scripts today install is already from file:/pub, with multiple non-public directories but unlikely to use FAI itsself, because complex config strukture, only ideas 2002.06.20 Thu hagrid machine used to replace other failling machine woody install is gone, will have to re-install it quickly showed heeb ideas with dphys-host-* packages and dphys-task-* and suggested support also for servers and non i386 architektures his suggestion that we then ourselves compile am686 and i686 architektures looked at diff of setup1 workstation vs setup2 server install is only partitions sfdisk/mkfs/mount and after umount that differ discovered in 2nd boot with Debian that there is an kupdate script 2002.06.21 Fri looked at woody install process resc Disk is vfat disk with Syslinux Loader, *.txt files for help kernel linux.bin, config.gz and sys_map.gz, no initrd, uses rdev root Disk is .gz of an ext2 filesystem, unpacked it to /woody/install/root /etc/inittab is used with BusyBox, calls folowing scripts: /etc/init.d/check_fb.sh for VGA reset, just echos escape sequence /etc/init.d/rcS, mount /proc, switch off modprobe, / remount writable /tmp create it and ensure that it is writable, else RAM disk /etc/modules create it empty, with insmod >> /etc/modules fill it mkdir /lib/modules/`uname -r`, syslogd -m 0 starten /sbin/udbootstrap, run /sbin/dbootstrap, possibly with bterm if UTF-8 /sbin/dbootstrap is a binary, ARGH!, need source, where does it come from most likely from boot-floppies package, is in boot-floppies.tar.gz in there is boot-floppies/utilities/dbootstrap, the source code 2002.06.27 Thu looked detailled at /usr/src/boot-floppies/utilities/dbootstrap, but is potato got woody /pub/debian/pool/main/b/boot-floppies/boot-floppies_3.0.22.tar.gz unpacked in ~/src/woody/boot-floppies-3.0.22/utilities/dbootstrap main() in main.c searches machine and does as important part main_menu() main_menu() in main_menu.c, builds menu in struct { } entries[] tests for features and bufT (text) butN (next) bufA (altern) ,,, sets does then menuBox() and choses with switch (data) the actions all next|alternate|previous_action are function pointers, in main-menu.c configure_keyboard_m() in kbdconfig.c, builds list, menuBox2() writes selection in /tmp/keybd_settings as KEYBD='%s%s'\n, prefix, tag and switches with zcat /etc/keymaps.tgz | tar -xOf - %s%s.bmap | loadkmap partition_disk() in partition_config.c, selection /sbin/fdisk or /sbin/parted warns about partition arangements and does (on i386) /sbin/cfdisk 2002.06.28 Fri further looking at /usr/src/boot-floppies/utilities/dbootstrap init_swap() in partition_config.c, chose partition, mkswap, swapon() activate_swap() in partition_config.c, chose partition, swapon() no_swap() in partition_config.c, output warning, swapoff() init_linux() in partition_config.c, chose type, then call init_() init_ext() in partition_config.c, chose part, warn 2.2 vs 2.0, mkfs.ext2 mount_any() in partition_config.c -> mount_partition() mount_partition() in partition_config.c, chose mountpoint create if neccessary, determine part type per magic, do the mount unmount_any() in partition_config.c -> unmount_dir() unmount_dir() in partition_config.c, do an umount configure_hostname() in netconfig.c -> get_host(), write_common_network() get_host() in netconfig.c, ask name, RFC1123 test of validity write_common_network() in netconfig.c, mkdir /target/etc and /t/e/network write_hostname(), erstellt /t/etc/hosts (only localhost) (= overwrites) creates /t/etc/network/interfaces (also only localhost) write_hostname() in netconfig.c, creates t/etc/hostname (in dbootstrap.h) and /t/etc/hosts with only the hostname on 127.0.0.1 in it edit_append_line() in boxes.c, edits string in append_opts, nothing else extract_kernel_and_modules() in extract_kernel.c, verifies where it should go -> choose_and_install(), frob_lib_modules(), depmod -a choose_and_install() in extract_kernel.c, check_pending_config() install_floppy() files from rescue, install_floppies() files from drivers check_pending_config() in util.c [not looked at here, see 20020712] install_floppy() in extract_kernel.c, mount on /floppy, cd to there ./install.sh /target, cd /, umount install_floppies() in extract_kernel.c, mkdir /t/tmp getFloppies(); install_from_file() getFloppies() in floppy_merge.c, fetch em in, seems to be own format uses readFloppy() in floppy_merge.c, into /target/tmp/buff install_from_file() in extract_kernel.c, zcat /t/drivers.tgz | tar -x there also an ./install.sh /target, most likely out of drivers.tgz 2002.07.04 Thu further looking at /usr/src/boot-floppies/utilities/dbootstrap main_menu_extract_base() in main_menu.c -> debootstrap_extract_base() debootstrap_extract_base() in extract_base.c, sanity check already installed choose_medium() in choose_medium.c, put list together, chose 2002.07.05 Fri further looking at /usr/src/boot-floppies/utilities/dbootstrap further in debootstrap_extract_base(), after choose_medium() test what has been chosen, only netfetch interessting for us nf_initialize(), nf_select_server() test if somethign there with wget -q %s/dists/woody/Release /usr/sbin/debootstrap --boot-floppies --arch arch woody /target source if netfetch host/method/path/port store in /root/dbootstrap_settings BASESUITE ("testing") write to /root/dbootstrap_settings /target/etc/inittab save to /target/etc/inittab.real /etc/inittab.install activate to /target/etc/inittab, configure_base() nf_initialize() in net-fetch.c, set default, http://http.us.debian.org/ nf_select_server() in net-fetch.c, puts together query, delivers result /usr/sbin/debootstrap, is Script, find out architecture if not given for that use /usr/bin/dpkg --print-architecture again make /target, that exist for a long time /usr/lib/debootstrap/scripts/woody, mirror_style release download_style apt defines work_out_debs() and install_debs() work_out_debs sets required and base variables with package lists arch dependant a few modifications, merge in all_debs download $all_debs vektored -> download_release() sorted \n sep pack list first does download_release_indices() with wget /dists/$SUITE/Release get releases file to /target line Components: main contrib non-free write entry main away safely extract name of main/binary-???/Packages files, fetch it fetch package list, fetch packages with wget install_debs in extractd does ar -p <>.deb data.tar.gz | zcat | tar -xf - creates /t/var/lib/dpkg and in it status and available make in setup_etc mkdir /t/etc cp /etc/resolv.conf /etc/hostname /t mkdir /t/etc/apt create in it temporary /t/etc/apt/sources.list make /t/etc/fstab flach, chown 0.0, chmod 644 make in setup_proc umount /t/proc (if it was) and chroot /t mount proc to there make in setup_devices /usr/lib/debootstrap/devices.tar.gz, unpack it chroot /target /sbin/ldconfig x_feign_install Paket dpkg, fetch with ar control.tar.gz out of .deb create /t/var/lib/dpkg/info, <>.list in it and update status with chroot /t dpkg --force-depends --install install of base-files base-passwd dpkg $LIBC6 perl-base mawk debconf dpkg --force-depends --unpack for the required packages /t/sbin/start-stop-daemon temporary disable it create /t/var/lib/dpkg/cmethopt dpkg --configure --pending --force-configure-any --force-depends create /t/etc/exim and /t/etc/exim/exim.conf dpkg --force-auto-select --force-overwrite --force-confold --skip-same-version --unpack for the base packages delete /t/usr/sbin/sendmail and symlink /bin/true to there dpkg --force-confold --skip-same-version --configure -a delete /t/usr/sbin/sendmail and symlink exim to there restore /t/sbin/start-stop-daemon again delete temporary /t/etc/apt/sources.list configure_base() in baseconfig.c, test for /t/e/debian_version and /t/s/init write_fstab(), update_console_info() without serial console delete /etc/rcS.d key and cons delete /t/sbin/unconfigured.sh write_fstab() in baseconfig.c, find out / fs and make line for it if swap add line for it, make line for /proc one line each for everything below /target/* that is mounted update_console_info() in baseconfig.c, if serial /t/dev/console to ttySn adaot /t/etc/inittab and /t/etc/inittab.real to used console extend /t/etc/securetty so that seriell is also allowed for root login 2002.07.11 Thu further looking at /usr/src/boot-floppies/utilities/dbootstrap configure_drivers() in baseconfig.c, check if modules are here, depmod -a echo /sbin/modprobe >/proc/sys/kernel/modprobe test -f /target/etc/modules || cp /etc/modules /target/etc/ /target/usr/sbin/modconf with many options echo /bin/true >/proc/sys/kernel/modprobe configure_network() in netconfig.c, get_host(), get_netinterface() ask if DHCP wanted, if yes try dhclient or use /sbin/pump write_dhcp_network(), activate_static_network() else configure_static_network(), we want this get_host() in netconfig.c, ask for name and test for RFC compliant get_netinterface() in netconfig.c, complain if none, point out driver use if only one, choice if multiple write_dhcp_network() in netconfig.c, cp /etc/resolv.conf /t/etc/resolv.conf activate_static_network() in netconfig.c, ln -s /t/etc/resolv.conf /etc /sbin/ifconfig lo 127.0.0.1, /sbin/route add default gw %s metric 1 configure_static_network() in netconfig.c if no interface found write_common_network() else: get_ifconfig(), get_domain(), get_dnsconfig(), write_static_network() activate_static_network() write_common_network() in netconfig.c, /t/etc/network created, write_hostname(), write 127.0.0.1 localhost into /etc/hosts writes /etc/network/interfaces with only loopback write_hostname() in netconfig.c, writes hostname to /etc/hostname get_ifconfig() in netconfig.c, asks for IP addr netmask and gateway get_domain() in netconfig.c, asks for domain name get_dnsconfig() in netconfig.c, asks for DNS server IPs write_static_network() in netconfig.c, writes 127 localhost and into /etc/hosts, localnet into /etc/networks creates /etc/resolv.conf, creates /etc/network/interfaces complete content make_bootable() in bootconfig.c, determine boot disk, ask if MBR or bootblock determine other bootable partitions, ask if in LILO, run_lilo() install_mbr(), set_boot_default() run_lilo() in bootconfig.c, write lilo.conf, chroot /target /sbin/lilo make_boot_floppy() in bootconfig.c, -> write_boot_floppy() write_boot_floppy() in bootconfig.c, format floppy make filesystem with zcat %s/usr/lib/syslinux/img%dk.gz > %s mount on /floppy, write kernel onti it, create /floppy/syslinux.cfg create /floppy/message.txt, umount, eject chroot_start() in reboot_system.c, presently not usable, because broken would do: with initchroot_cap() test if kernal is capable of it write "/target" into /proc/sys/kernel/init-chroot, sync, swapoff -a mount -o remount,ro %s %s, mount -o remount,ro /dev/root /, reboot reboot_system() in reboot_system.c, sync if not yet done do now write_common_network() cp /var/log/messages /target/var/log/installer.log, sync, reboot halt_system() in halt_system.c, sync if not yet done do now write_common_network() cp /var/log/messages /target/var/log/installer.log, sync, halt the other funktions are not used by us, completed looking through source further commence with an Testinstall woody, on test install server for exact sequence, menu and configuration, and check result for this from student cluster take dublin, 129.132.189.86 is a PIII 650, i810, Etherexpress 100, 512M RAM, 8G HD 2002.07.12 Fri on dublin new woody test installation, observe exactly resc load Kernel and ask for root Disk, can stay so, use same disk root starts dbootstrap (replace by own script), there done: Configure the Keyboard, configure_keyboard() echo "KEYBD='i386/quertz/sg-latin'" > /tmp/keybd_settings zcat /etc/keymaps.tgz | tar -xOf - i386/quertz/sg-latin.bmap | loadkmap Partition a Hard Disk, partition_disk() replace /sbin/cfdisk by /sbin/sfdisk sfdisk -uM /dev/hda << EOF ,16,L ,512,S ,,L ; EOF Initialize and Activate a Swap Partition, init_swap() mkswap /dev/hda2 swapon /dev/hda2 Initialize a Linux Partition, init_linux() mkfs.ext2 /dev/hda3 mount /dev/hda3 /target Initialize a Linux Partition, init_linux() mkfs.ext2 /dev/hda1 mkdir /target/boot mount /dev/hda3 /target/boot doing keyboard config wondered, for what /tmp/keybd_settings is used in check_pending_config() in util.c copied on to /t/root/dbootstrap_settings /t/root/dbootstrap_settings copied on to write_userconfig() in util.c created also in check_pending_config(), "BUILDTIME", then KEYBD check_pending_config() called in choose_and_install() in extract_kernel.c 2002.07.17 Wed on dublin new woody test installation continued Install Kernel and Driver Modules, extract_kernel_and_modules() check_pending_config() echo "BUILDTIME='2002.01.01-07:53+0000'">/target/root/dbootstrap_settings cat /tmp/keybd_settings >> /target/root/dbootstrap_settings echo "LANG_INST='C'" >> /target/root/dbootstrap_settings echo "LANGUAGE_INST='en'" >> /target/root/dbootstrap_settings install_floppy() mount -r -t auto /dev/fd0 /floppy -> /woody/install/resc if [ ! -f /floppy/type.txt ] ; then echo Error: Not a Rescue Floppy endif cd /floppy ./install.sh /target cd / umount /floppy install_floppies() mkdir /target/tmp; chown 0.3 /target/tmp; chmod 01777 /target/tmp mkdir /target/tmp/drivers; chown 0.3 /target/tmp/drivers; drivers holen nach /target/drivers.tgz -> /p/debian/dists/woody/main/disks-i386/3.0.23-2002-05-21/drivers.tgz cd /target/tmp/drivers zcat /target/drivers.tgz | tar -x ./install.sh /target cd / rm /target/drivers.tgz Configure Device Driver Modules, configure_drivers() depmod -a echo /sbin/modprobe >/proc/sys/kernel/modprobe test -f /target/etc/modules || cp /etc/modules /target/etc/ /target/usr/sbin/modconf --exclude-section pcmcia --target /target --libdir /tmp/drivers --tty /dev/tty --load-only eepro100 echo /bin/true >/proc/sys/kernel/modprobe Configure the Network, configure_network() -> configure_static_network() mkdir /target/etc/network echo "$HOSTNAME" > /target/etc/hostname echo "127.0.0.1 $HOSTNAME" > /target/etc/hosts echo "# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8)" > /etc/network/interfaces echo "" >> /target/etc/network/interfaces echo "# The loopback interface" >> /target/etc/network/interfaces echo "auto lo" >> /target/etc/network/interfaces echo "iface lo inet loopback" >> /target/etc/network/interfaces echo "127.0.0.1 localhost" > /target/etc/hosts echo "$IP $HOSTNAME.$DOMAIN" >> /target/etc/hosts echo "localnet $NETWORK" > /target/etc/networks echo "search $DOMAIN" > /target/etc/resolv.conf echo "nameserver $DNS1" >> /target/etc/resolv.conf echo "nameserver $DNS2" >> /target/etc/resolv.conf echo "nameserver $DNS3" >> /target/etc/resolv.conf echo "# The first network card - this entry was created during the Debian installation" >> /target/etc/network/interfaces echo "# (network, broadcast and gateway are optional)" >> /target/etc/network/interfaces echo "auto eth0" >> /target/etc/network/interfaces echo "iface eth0 inet static" >> /target/etc/network/interfaces echo "\taddress $IP" >> /target/etc/network/interfaces echo "\tnetmask $NETMASK" >> /target/etc/network/interfaces echo "\tnetwork $NETWORK" >> /target/etc/network/interfaces echo "\tbroadcast $BROADCAST" >> /target/etc/network/interfaces echo "\tgateway $GATEWAY" >> /target/etc/network/interfaces rm /etc/resolv.conf ln -s /target/etc/resolv.conf /etc/resolv.conf /sbin/ifconfig lo 127.0.0.1 /sbin/ifconfig eth0 down /sbin/ifconfig eth0 $IP netmask $NETMASK broadcast $BROADCAST /sbin/route add default gw $GATEWAY metric 1 Install the Base System, main_menu_extract_base() -> debootstrap_extract_base() SOURCE='http://debian.ethz.ch/mirror/debian/' test ob geht: wget -q $SOURCE/dists/woody/Release /usr/sbin/debootstrap --boot-floppies --arch $ARCH woody /target $SOURCE echo "DEBIAN_MIRROR_HOSTNAME='debian.ethz.ch'" >> /target/root/dbootstrap_settings echo "DEBIAN_MIRROR_METHOD='http'" >> /target/root/dbootstrap_settings echo "DEBIAN_MIRROR_PATH='mirror/debian'" >> /target/root/dbootstrap_settings echo "DEBIAN_MIRROR_PORT='80'" >> /target/root/dbootstrap_settings echo "SUITE='testing'" >> /target/root/dbootstrap_settings mv /target/etc/inittab /target/etc/inittab.real cp /etc/inittab.install /target/etc/inittab echo "# /etc/fstab: static file system information." > /target/etc/fstab echo "#" >> /target/etc/fstab echo "# \t\t\t\t\t\t\t" >> /target/etc/fstab echo "/dev/hda3\t/\t\text2\tdefaults,errors=remount-ro\t0\t1" >> /target/etc/fstab echo "/dev/hda2\tnone\t\tswap\tsw\t\t\t0\t0" >> /target/etc/fstab echo "proc\t\t/proc\t\tproc\tdefaults\t\t\t0\t0" >> /target/etc/fstab echo "/dev/hda1\t/boot\t\text2\tdefaults\t0\t2" >> /target/etc/fstab rm /target/sbin/unconfigured.sh 2002.07.18 Thu on dublin new woody test installation continued Make System Bootable, make_bootable() cp -p /etc/lilo.conf /target/etc chmod 640 /target/etc/lilo.conf chroot /target /sbin/lilo >/dev/null export LD_LIBRARY_PATH=\"/target/lib:/target/usr/lib\" /target/sbin/install-mbr /dev/hda export LD_LIBRARY_PATH=\"/target/lib:/target/usr/lib\" /target/sbin/activate %s %s /dev/hda /dev/hda1 Reboot the System, reboot_system() sync umount /instmnt cp /var/log/messages /target/var/log/installer.log reboot looked at woody install procedure, 2nd stage, boot from HD before reboot and automatic commencing of further installation first analyse the new boot state and what will happen because of script that runs automatically and then deletes itsself HD is /dev/hda mbr, fethces /dev/hda1 LILO, then /boot (hda1) vmlinuz-2.2.20 root /dev/hda3 is ext2, will be automount ro by kernel /etc/inittab working 80x25, only 1 Konsole, no less, no history, no completion ist a drag, would be better everything copied onto pomfrey to look at but no server or writing client, both need finisched system but then the momental state is lost, particular the perishable scripts so made from present state a tar, /.install_stage_1.tar, 104MB reboot to install stage 2 remark, that one can repeat setup, /usr/sbin/base-config set up time zone: GMT = Yes, Europe, Zurich md5 passwords: No, shadow passwords: Yes, root set create user: No, as we will do LDAP, else anyway adduser delete PCMCIA Support: Yes PPP for installing system: No apt Config for Archiv: http, non-US: Yes, non-free: Yes, contrib: Yes select country: enter information manually, debian.ethz.ch, /mirror/debian proxy: left empty, another apt source: No, security updates: Yes run tasksel: No (because sources.list is broken anyway), dselect: No packages will be removed: pcmcia-cs: Yes erase previously downloaded .deb files: No exim config: 5 (no config) remark, that it is finished login and immediately made annother tar, /.install_stage_2.tar, still 90MB /etc/apt/sources.list adapted/corrected, apt-get update apt-get install ssh, installed also libssl0.9.6 and zlib1g from dumbledore nmap-t, offen are 9 13 22 25 37 in inetd.conf closed discard, daytime, time, smtp, killall -HUP further with analysing installation, stage 2 per scp both /.install_stage_*.tar to pomfrey /scratch/woody, without .* also drivers.tgz and boot_floppies moved to there, together to resc/root /etc/inittab is normal SysV init, but with special inittab, calls: /etc/init.d/rcS, is standard part, does rm /sbin/unconfigured.sh if here /sbin/unconfigured.sh there is none, is this a potato relict? /usr/sbin/termwrap /usr/sbin/base-config /dev/tty1 2>&1 termwrap tests just terminal for japanese, does then base-config /usr/sbin/base-config, runs via "script" logger its self recursive does /root/dbootstrap_settings to set some variables apt-get clean || true, mkdir /tmp/base-config.$$ copy /usr/lib/base-config/* to there and cd to it run all thes copied scripts numerically sorted 2002.07.25 Thu further with analysing installation, stage 2 /usr/lib/base-config/00dbootstrap_settings does /usr/share/debconf/confmodule to get access to debconf that runs via /usr/share/debconf/frontend istself again recursive 2002.07.26 Fri further with analysing installation, stage 2 analysing the entire debconf code will be a lot of work that can not be the way, better control debconf from its interfaces usr/share/doc/debconf/Readme.Debian points to debconf-doc Paket, apt-get that has got an introduction.txt.gz and points then to man debconf there exists an "noninteractive" frontend, that does not ask questions that can silence debconf, so ignore /usr/share/debconf/confmodule looked at the actual /usr/lib/base-config/* scripts 00dbootstrap_settings sets debconf mode, proxy, testing->woody 10intro shows just intro text, remark about /usr/sbin/base-config 12console-tools sets keyboard 15tzconfig sets time zone, menu driven questions in /usr/sbin/tzsetup 20passwd asks for root password and User if to create user 25pcmcia asks about deleting PCMCIA support 30pon PPP installing 40apt-setup initialises apt, creates /etc/apt/sources.list 50tasksel and 60dselect we don't do 75apt-get does the actual install, only PCMCIA gets killed 77exim set up exim, we don't do anything 80poff PPP back down 90final-messages just shows intro text 98s390 ist for S/390, we dont have one 99inittab activates /etc/inittab.real, kills /root/dbootstrap_settings unneccessary scripts can be deleted, for the rest: debconfig can be silenced, but that just results in standard settings how do we get out settings, debconf frontend only knows input methods no script method, so the daten has to get by other means into the DB writing a backend is a very large work or simply set standard settings and then change them to desired or patch the DB by hand, is in /var/cache/debconf/config.dat decided to patch the DB, possibly setting by db_* actions 00dbootstrap_settings leave them as we will be giving answers 10intro delete 12console-tools leave 15tzconfig give in DB 20passwd giving does not go, 'db_set passwd/root-password ""' forces and it is even a "critical" Question, no default give in DB and patch script that it does not delete 25pcmcia ??? 30pon delete 40apt-setup ??? 50tasksel and 60dselect delete, 65dphys demand out own package 75apt-get leave 77exim delete 80poff delete 90final-messages delete 98s390 delete 99inittab leave 2002.08.02 Fri further with analysing installation, stage 2 tidied up log from 20020726, split what looked at and decided actions further with actions 25pcmcia give in DB 40apt-setup does /usr/sbin/apt-setup, set in DB 65dphys analog 50tasksel, uses taskset, does dpkg --set-selections 2002.08.15 Thu started creating new root disk in /woody/root-dphys write new /sbin/dbootstrap, as sh script copied sfdisk from /pub/debian-dphys/i386/root/sbin created drivers-dphys.tgz, in it modules.tgz and modconf.tgz only needed currently we have net/e100.o net/3c59x.o net/tulip.o net/rtl8139.o cards and misc/sunrpc.o fs/lockd.o fs/nfs.o for NFS filesystem new only net card drivers, then entire original modules.tgz from net and in modconf.tgz deleted usr/share/modconf/eval_*.utf-8 from /woody/install_stage_2/etc taken lilo.conf, instead of aktiv creating 2002.08.16 Fri further creating new root disk in /woody/root-dphys tidied up /sbin/dbootstrap a bit, is now ready for first test 2002.08.22 Thu make root disk image from /woody/root-dphys /dev/ram0 with dd /dev/zero size 4M, mke2fs, tar "No space left on device" after only 32k copied (only /dev) attempt with file /woody/root-dphys.img and mount -o loop, same result df -i shows that inodes used up, mke2fs -i 1024 gives 4096, enough, need 3021 but 4M is not enough, needs 8M Platz, gzip-s then to 1595227 , over 1474560 missing 120k, Debian dbootstrap is 155k, deleted, new 1523894 missing 50k, candidats unifont-reduced.bgf etc/messages.* sbin/dhclient-* gzip -9, 1515716, missing still 40k, deleted messages.*, 1378920, OK Makefile for making entire dd/mk2fs/mount/tar/umount/gzip stuff test run 1, read does not wait for Rescue floppy, changed to read dummy bug with not terminated if, endif->fi, is sh, not tcsh test run 2, various programs not found, everywhere full path test run 3, some problem with loadkeys, scrolled away too fast added debug variable, after each section output data and read dummy for loadkeys the Name was wrong i386/quertz/sg-latin -> i386/quertz/sg-latin1 test run 4, loadkeys says "not a valid binary keymap", quertz -> qwertz sh says "/sbin/sfdisk: not found", is there but libc5, take libc6 from dublin test run 5, goes until "writing base config", /target/root is not created would have been in check_pending_config() -> write_userconfig(), added has message /dev/fd0 not ext2, not Minix, is a fat, added -t fat changed that faillure does not stop, but just waits, for 2nd console fix test run 6, does not find floppy -t fat, mount w/o -t goes, ist -t msdos, corr the "if" test for read replaced by "while", allows new test after console /target/usr/sbin/modconf produces waiting dialog, try without --tty test run 7, still dialog, because --load-only on 2nd line, merged lines can not make /etc/network/interfaces, no /etc/network directory is right so, shoudl make /target/etc/network/interfaces, corr test run 8, no Dialog, but lsmod shows no loaded Ethernet and ifconfig fails because there is no Ethernet, only shows "lo" 2002.08.23 Fri test run 8, modconf tried by hand, does not find /etc/modules.conf touch /target/etc/modules.conf, complains about wrong format demands update-modules force that then does depmod depmod -a same error, because /lib/modules/2.2.20/modules.* not ELF files in extract_kernel_and_modules() missed frob_lib_modules() replaces /lib/modules by symlink to /target/l/m, depmod -a now works but modconf by hand doesn't like /target/etc/modules.conf, deleted it complains that it can't find it any more, copied from /etc, works now debian only does this copy for s390, apparently GUI works without on x86 ifconfig now finds eth0, can now be configured, ping works can now let dbootstrap run further, debootstrap does nothing try it without --boot-floppies, works test output /target/root/dbootstrap_settings error because missing $, corr test run 9, installs fully, fstab has \t instead of tabs, /bin/echo needs -e boot flag doesn't get aktivated, is 2 %s from C printf() still in, deleted runs to completion, does Reboot, hangs then in mbr instead of autoboot mbr kann do "A", but "1" does nothing, suspect Lilo problem test run 10, tried again from beginning, no manual operations, works now after the auto-reboot hang because modprobe finds an read-only filesystem organisation, comments, echos extended Makefile moved to ~franklin/htdocs/Projects/dphys2, Link from /woody/Makefile dbootstrap also in dphys2, Makefile copies it and chmod-es to root.root 2002.08.29 Thu Makefile changed /woody -> $(WORKDIR), so portable to /scratch/dphys2 can now run as root with pwd ~franklin/htdocs/Projects/dphys2 no symlinks for Makefile and dbootstrap any more $(WORKDIR) Makefile extende, so that it can recreate entire $(WORKDIR) from scratch from fetching root and drivers by wget, until floppy finished making 2002.08.30 Fri Makefile entire $(WORKDIR) new building tested, small bugs removed fetch, unpack and build take less long as after making Image so do all in one, less user manual and typing work test run 11, complete from debian.ethz.ch newly generated, to root floppy now works first stage, after reboot modprobe can not write /var/log Makefile aux funktions for Download and dd of rescue floppys started website for dphys2, public_html/Projects/dphys2/index* and also same time public_html/Projects/index*, and that added to main page created an preliminary 00README and 0FAQ File about the projekt 2002.09.05 Thu Logfile extracted all dphys specific stuff, translated to english and stored in this Logfile in projekt directory, up to 20020822 test run 2002.09.06 Fri furter with Logfile extracting and translating, from 20020822 test run on translated potato_heute to potato_today, woody_neu to woody_new added these to website, in auxillary files section expanded external stuff selection with links to our mirror of rescue, root, drivers, boot-floppies files, deleted them from ~/tar Makefile changed to have actual target $(WORKDIR)/root-dphys.bin.gz: depending on Makefile and dbootstrap (and possibly later more) testing run errorneously as non-root, failed, add test to catch this error also missed copying in of $(WORKDIR)/root-dphys/etc/lilo.conf, added it mechanism to make .tar.gz of project for simple download, added to website wrote an preliminary user manual for installation/use RCS archive set up, loaded with all source files so far, RCS revision 0.1 work will be 0.x, milestones then x.0, further work x.x 2002.09.12 Thu test run 12, aim to understand what is causing the modprobe crash/looping install until ready for reboot, 2nd console, chroot /target /etc/inittab -> /etc/init.d/rcS -> no /sbin/unconfigured.sh or /sbin/setup.sh -> do /etc/rcS.d/S??* and /etc/rc.boot /etc/rcS.d/S05keymap.sh justs sets keyboard /etc/rcS.d/S10checkroot.sh mount /proc, activate swap, fsck /, remount ls -al /proc is empty from chroot, did mount -t proc proc /proc /etc/rcS.d/S18hwclockfirst.sh basically just hwclock /etc/rcS.d/S20modutils, is suspected crash site, depmode -a, modprobe depmod -a complains about /lib/modules/2.2.20/modules.* not ELF files look into directory, my *.o drivers are here, not in ./net created ./net, mv *.o net, depmod -a now no error message any more corrected Makefile to put them properly in root disk /drivers.tgz modprobe for every module in /etc/modules, (misc/)unix, (misc/)af_packet Makefile rename MODULE* to MODULE*NET, added MODULE*MISC also missing (net/)eepro100 in /etc/modules, need to add it, after modconf for faster debugging define DEBUG=2 to just stop at end of first stage test run 13, /bin/sfdisk not found, is missing in Makefile, added we get "Configuring the base system..." and then first configuration dialog above string is from /usr/sbin/base-config, so we have successfully booted alter dbootstrap so that CONF_* sorted by dphys2/site/subnet/hosttype/host all of dphys2/site/subnet/hosttype require different floppy if they vary host specific stuff (hostname and IP address) ask user at each install also sorted dphys/site config in Makefile, same row as in dbootstrap in both dbootstrap and Makefile all dphys2 definitions without CONF_* test run 14, runs through to "Configuring the base system..." without problem fetch rescue floppy image with kernel on it from net, not 2nd time floppy at same time, missing drivers install from net full drivers.tgz file test run 15, installs kernel from net, installs full set of drivers from net when at first dialog, look at system shows eth0 module loaded, but not config 2002.09.13 Fri network was not configured after 2nd stage boot is /etc/network/interfaces wrongly written, with \t instead of tab same missing -e probem as in fstab, in test run 9, corrected test run 16, ethernet works now, ps auxw and ls -al / look good present state archived as RCS revision 0.2 started on 2nd stage, delete useless or even annoying base-config scripts comments what should happen with others (leave/modify) from 20020726 analysis for modifying debconf database include . /usr/share/debconf/confmodule this may actually not work at 1st install time, before reboot so better make an /usr/lib/base-config/* script to do this after reboot has side effect of also being able to modify the /tmp copies, not originals also has the effect of dbootstrap now staying the way it is, modularity decided on 13dphys2-mods, after 12console-tools and before 15tzconfig but that is too late to kill 10intro, so switched to 05dphys2-mods added copy root->target to dbootstrap, project->root to Makefile made basic 05dphys2-mods script, can not delete scripts as base-config has already scanned for then, so overwrite with empty script test run 17, ends again in 10intro, was missing chmod 755 05dphys2-mods run now by hand, /var/cache/debconf/config.dat locked by 10intro reboot just 2nd stage, works, script is called, but no "echo" overwrites is because BASECONFIGDIR was set to TMPDIR, which was empty not taken over from /usr/sbin/TMPDIR, so echo-s went into /*, corrected after that it runs rest of install, leaving out our deleted scripts this seems to be a workable method, so add to index.html.en, tar, RCS ci apt-get install ssh works, after that remote login is possible also tcsh and less installed, and /root/.cshrc copied, system fully works 2002.09.17 Tue renamed Installation -> INSTALL as most people expect to find that corrected Makefile, RCS, index.html.en to fit change Makefile added root target for making root, renamed getrescue to rescue added clean target and put in code to delete work directory split all the many lines that do work out of Makefile, have it only control side effect of this is that most of config vars are now only in sh, not make so config can use single include file, in makeroot, makerescue, dbootstrap copied Makefile to makeroot, deleted non root making stuff, converted to sh copied Makefile to makerescue, deleted non rescue making stuff, convert to sh prune Makefile, just calls to makeroot and makerescue present state archived as RCS revision 0.3 2002.09.26 Thu existing hagrid machine removed, gone to other job, got new rome/129.132.189.69 so I can du an actual test run, from existing student machine state makerescue and makeroot removed banner, no banners in make, put one in setup dbootstrap banner after all config, and remark "nothing to configure" renamed 00README and 0FAQ (old FTP style) to README and FAQ (today expected) fixed names in RCS, index.html.en, and Makefile ci and tar Makefile changed so that it doesn't echo commands, instead actual echo xxx changed so that root: goes to $(WORKDIR)/root-dphys.bin.gz and rescue: goes to $(WORKDIR)/rescue.bin.gz, both with dependencies for make setup also call an makesetup script, not yet written moved all CONF_* variables into separate dphys2-setup file loaded by Makefile, makeroot, makerescue and dbootstrap, included on floppy fails, because scripts can not find dphys2-setup, because $(WORKDIR) unknown dphys2-setup must be in current directory, where make is done document changes to setup in INSTALL 2002.09.27 Fri split dphys2-setup so that site/subnet vars are separate from system vars decided that there will be (at least initially) no make setup, no script just edit the dphys2-setup file, is easier that answering questions and having to re-answer then for every subnet you are setting up because of this improved commenting in dphys2-setup file allow lilo and root passwd, CONF_* options addded, and INSTALL updated CONF_PART_* are not config vars, rename to PART_* install-mbr added optional options for "no prompt" mode, protect LILO dbootstrap modify lilo.conf on install, add PART_BOOT, PART_ROOT, password allow more or less than 3 nameservers, test on CONF_NAMESERVER2..4 test run 18, to see if all still works, 1st stage all goes well but reboot fails in mbr, shows 1FA, can not find an bootable partition in 1 try again with DEBUG = 2 test run 19, stop, lilo.conf is OK, /sbin/lilo worked, pertition 1 is active go on to 2nd stage, mbr gets read, shows 1FA, can try F, A gives 1234F what is different relative to 2002.09.13 lilo.conf new from template, checked that it creates proper file, no error install-mbr new with '-i n' for no prompt, install-mbr -l shows no effect test run 20, stop, /sbin/lilo -v -v works, chroot install-mbr, chroot activate boot 2nd stage, same result, try annother look at lilo.conf, install in mbr test run 21, stop, suspect that LILO is not working, buggy update edit /target/etc/lilo.conf hda1->hda, ran /sbin/lilo boot 2nd stage, LILO asks for password, boots, re-edit hda->hda1, install-mbr password only desired for non-standard boot, uncommented "restricted" also noticed that 05dphys2-mods is not killing unwanted dialogs reboot 2nd stage, MBR, LILO asks for password suspect LILO not writing bootsector, redo from start, exist b s untouched test run 22, worked, came up, dd if=/dev/zero of=/dev/hda1 bs=1024 count=1 test run 23, hangs, with MBR showing 1FA: prompt, is LILO missing boot code la /pub/debian/pool/main/l/lilo/ shows new LILO from Sep 1, old was Apr 13 but install to hda1 worked from running system, just not from install system went looking at bugs.debian.org, not reported, but talk about lba32 trouble try what happens if I switch that off, as we use /boot < 504MByte test run 24, hanges also, put lba32 back in, try hda1 but no install-mbr test run 25, just blinking cursor, so it is not being installed into hda decided to use direct LILO in /dev/hda, no mbr, better security-wise anyway now boots up to dialogs, but is again running full /usr/lib/base-config present state archived as RCS revision 0.4 2002.10.03 Thu from test run 25 it looks like my /tmp/base-config.$$ patching fails do something better, delete unwanted scripts direct while in dbootstrap test run 26 again, unwanted scripts, missed /target/ before ${BASECONFIGDIR} test run 27 now runs until the first needed dialog, timezone now into understanding debconf and how we can automate the remaining dialogs /usr/lib/base-config/15tzconfig -> /usr/sbin/tzsetup, uses many debconf db_* Rubischon info what he has done with debconf only /adm/libexec/all/debconf-auto script, set to non-interact and critical 2002.10.04 Fri get into debconf, looked at install_stage_1, woody has /etc/debconf.conf points to database in /var/cache/debconf/config.dat decided that deleting/modifying base-config scripts is wrong way better set the DB variables and let the scripts process them present state archived as RCS revision 0.5 simply setting debconf/priority to critical will stop some dialogs such as intro and login, tasksel and dselect, but not others such as TZ, ppp, passwd so better go and pre-set them in the database looked for implementation of db_set and others, /usr/share/debconf/confmodule is just sending them as stdin to /usr/share/debconf/frontend, confusing perl that does some generic thing, then calles some unidentified code I will have to process /var/cache/debconf/config.dat with own sed or awk code looked for docs on using sed with blocks of lines, search block then line does not seem much sensible stuff online, bring sed&awk book from home asked Heeb, he suggests using perl, good place to learn it use an split() on \n\n, then with s// insert "lines" perl is available, part of base.tgz, so it will need chroot /target looking at scripts, noticed exim does /usr/sbin/eximconfig, not debconf-ed fixed bugs in the FAQ file, still had PDP-10 title and had .../dphys/* paths 2002.10.07 Mon idea to make an generic script for modifying an block ("Name: " to ) with options for what to change in block, then call for each block 2002.10.10 Thu INSTALL file removed "no user friendly config" remark, as will stay with file some corrections (-f on rm, reorder Notes, add CONF_NAMESERVER4) read perl book, for writing script to modify debconf DB blocks are called there paragraphs, set $/ = ""; then use while(<>) multiple named fields, can be read into assoc array (key from split 1st line) then add/mod/drop fields and at end print out the record 2002.10.11 Fri futher reading perl book first test at writing perl code, to modify debconf managed to do all changes for tzconfig/* 2002.10.15 Tue Makefile replaced broken comment in ci target, analog VirtexTools dphys2.tar.gz file in .. directory, parallel to dphys2 directory changed make tar to place it there, and use $(DIR) for tar/dir names changed index.html.en to point to now proper place ../dphys2.tar.gz FAQ path for milestone archives dphsy2/milestone-* -> ../dphys2-* 2002.10.16 Wed needed an quick Debian test install at home tried using dphys2 on entirely different system, found some bugs makerescue and makeroot have (again) lost their execute bits, fix, works dbootstrap still tries D-Phys drivers, despite dphys2-setup MODULESNET set re-running make fetches root.bin and drivers.tgz again, not nice make installrescue refetches rescue.bin.gz, despite make rescue, not nice make clean aborts with syntax error on ";", fix, works 2002.10.17 Thu bugfixes from home test on Wed make clean after the "else" no ";", as that gives syntax error dbootstrap use MODULESNET var, same as makeroot, to modconf the net drivers was still hard coded list of drivers, failled when others in MODULESNET makerescue and makeroot have lost their execute bits, chmod them back make installrescue refetches the rescue.bin.gz that make rescue already got because rescue.bin.gz has Debians generation date, is before dependancies makerescue add at end an "touch" of rescue.bin.gz while at it, rescue.bin is not compressed like root.bin, so no mv .gz makeroot first deleting everything is not a great idea, net traffic wise only delete stuff that may produce conflicts, basically intermediate stuff and also wget the files using -N, so they are only fetched if newer fails for root.bin, because renamed, so correct it backwards before same also in makerescue when fetching its large file index.html.en README and FAQ into intro section, in status only Logfile same as I have reorganised all my other project websites index.html.en basics expanded description of what the project is about status section short version of done: and todo: from Logfile README fixed bug, an missed edit of "Installation" to "INSTALL" 2002.10.18 Fri call perl for debconf out of an sh script, works when no -pe, just -e and print test run 28, see if perl modified debconf works as we want it to fails to even get to perl, can not load any of the network modules modconf seems to not like .o at end of name, stript it out with cut test run 29, goes through, but can not find perl, path missing, added and path should be from /target, as root has no perl, same also config.dat test run 30, ran through, did nothing, shot through too fast to see error test run 31, with stop after base-config section, got error message now reason was, perl can not run, was missing an library, use chroot /target test run 32, no error message any more, but also no effect better if I could call the perl script separately, to experiment extract from dbootstrap, make own script file debconf-preload add archiving it to make tar, added copying it to makeroot 2002.10.22 Tue test run 33, new machine as dublin and rome back to their lab, new box seker 129.132.61.45, not our net so use hagrid 129.132.189.2 name/IP again runs up to call of /debconf-preload, fails to open output is because /target missing as sh evals the ">" before chroot happens run /debconf-preload by hand, output 0 length, missing print; added print; and run, produced config.dat that we wanted continue with reboot to 2nd stage, still asks for time zone, config.dat OK is because /usr/sbin/tzsetup does "db_fset tzconfig/gmt seen false", argh! rip all lines with "seen false" out of /usr/sbin/tzsetup test run 34, config.dat is now changes automatically complaint that 15timezone exited with return code 15, then asks password 2002.10.24 Thu present state archived as RCS revision 0.6 makerescue and makeroot execute bits are deleted again, is RCS files and ci set proper permissions in both places, so that this does not happen again missed debconf-preload, so add that to make ci will use this perl config method for all base-config scripts, no rm-ing put the mv config.dat config.dat.orig in the script, using rename(,) transfer all debconf stuff from dbootstrap into the perl script converted 10intro (and 90final-messages) to debconf faking 15tzconfig as tested, 20passwd will hang, left all after that undone save old tzsetup and put at end of new one an mv old new to restore it test run 35, debconf-preload crashes out with various syntax errors, corrected corrected them, but fails because system() does not allow redirection I am doing an grep -v tzsetup.orig > tzsetup to kill "seen false" need to do grepping in perl, while <..> { print .. unless /seen false/; } test run 36, few small syntax errors, corrected, runs now new tzsetup file not generated, config.dat missing tzconfig/geographic_area config.dat trouble is from tzsetup second use of $_ while first in use put in explicit $tzs variable, and use unless () { print } after this large parts of script tzsetup missing, is from $/ = ""; temporarily set it back with $/ = "\n"; and then again $/ = ""; after 2nd stage reboot, no 10intro, and no 15tzconfig first screens but then stops on selecting town within timezone, chose that, then password config.dat has new tzconfig/select_zone/Europe section, not in test install will definitely not be using 2nd stage time 05dphys2-mods, remove that stuff remove file from Makefile ci and tar, and also root-dphys.bin.gz dependancy and add debconf-preload into root-dphys.bin.gz dependancy dphys2-setup get rid of BASECONFIG* stuff as no one will be using it makeroot no copy 05dphys2-mods, instead put copy debconf-preload in there test run 37, everything planned now works, now just do all the rest of scripts 2002.10.25 Fri dphys2-setup and dbootstrap improved some commenting configuration for debconf-preload in same dphys2-setup as for dbootstrap have it sed-copied into debconf-preload by dbootstrap, as for lilo.conf 2002.10.31 Thu debconf-preload changed $dbfile to $debconfdb, good also for later dphys2-setup 15tzconfig section $tzsfile to $tzsetup, and used also in tail "mv" 20passwd, simply runs "dpkg-reconfigure passwd", which has no "passwd" in it calls Debconf::Config->getopt() so we can not trace variable to find it can not find any /usr/lib/perl/Debconf on system Arthur Korn tip /usr/share/perl5/Debconf, there it is Config.pm also noted that dpkg-reconfigure uses /var/lib/dpkg/info/passwd.template also totally non transparent stuff, need different approach Arthur Korn suggests to use Noninteractive frontend then supply all data by DB file or by patching debconf DB present state archived as RCS revision 0.7 debconf-preload add in 00dbootstrap_settings debconf/frontend setting of Value: Noninteractive for next test comment out the entire tzsetup script modification stuff 15tzconfig use time of actual install, not that from old test install 20passwd added code to generate/set all variables that got set test run 38, to see if this method works, perl abort, missing ; and } fixed missing dual \n at end of passwd/* blocks, added, corrected config.dat reboot goes, 15tzconfig stays quiet, despite no "seen false" script modificat but 20passwd still asks, despite setting up debconf DB and debconf/frontend is set to Noninteractive, so it should not ask 2002.11.01 Fri analysing test run 38, all tzsetup stuff is how we want it /etc/localtime points to proper zone, not default, our data was used, good but is because it forces tzconfig/gmt, but uses /etc/default/rc.S ($UTC) fixed $timestring generation from hwclock, cut 1-5->1-6, because dual-space config.dat tzconfig/select_zone/Europe has all zones in "choices = " but the Flags: seen lines have gone, as not seen, due to settings decided to leave modifying tzsetup script (no seen false) in as passwd may require teh same treatment, so code is used 20passwd or rather dpkg-reconfigure asks, despite Noninteractive look at dpkg-reconfigure passwd data in /var/lib/dpkg/info/passwd.* passwd.config is normal "db_input medium" for MD5 and shadow but then for password kills pre-given and seen, and "db_input critical" passwd.templates contains the text that gets displayed filling out password set is, and then asks for make user, despite "medium" after that it continues without any more questions 40apt-setup mount crashes debconf-preload don't bother setting passwd/root-password* instead set password from debconf-preload, so that passwd.config leaves it test run 39, debconf-preload crashes because chroot /target in chroot /target fixed, runs, /etc/passwd has password, reboot, already stops at MD5 question also stops at shadow question, doesn't ask password any more, still asks user all tests with Noninteractive then crash in not configured 40apt-setup mount so for testing leave it set to Dialog if possible, to see what is missing 2002.11.07 Thu will need annother test run to see if MD5/shadow/user problems remain also see if switching Noninteractive off does any good for this test also test more stuff, so go through rest of settings 25pcmcia, 30ppp, 40apt-setup, 50tasksel, 60dselect 77exim does nto use debconf, so no records to fudge up trigger off of base-config/install-problem (:-)) and do system() in that chmod a-x /usr/sbin/eximconfig, so that 77exim passes by so now all stuff is modified that it should not ask anything test run 40, no questions up to MD5/shadow/user, then these 3 come then PPP, all apt questions, but with proper defaults no asking if one wants to deinstall PCMCIA asks about running tasksel and dselect apt asks deinstall wenn running, and delete .debs at end, and wants enter after that no further questions, login prompt appears so it is now just debconf missbehavour and apt while installing 2002.11.08 Fri make debconf-preload configurable by dphys2-setup, via dbootstrap same method as configuring lilo.conf, copy to disk by sed substituting %VAR%s variables needed for debconfdb name (/var/cache/debconf/config.dat) timezone area (Europe) and place (Zurich), root passwd (secret) remove PCMCIA (true), apt server host and path (debian.ethz.ch and mirror/debian), contrib (true), non-free (true), non-US (true), security-updates (true), where to place debconf-preload (/debconf-preload) dphys2-setup improved some of the commenting added various CONF_* variables and a few internal variables changes copying of pleload-debconf to use variables, like drivers-dphys.tgz dbootstrap change copying to target to using sed to config it on the fly and also use variables to decide where to copy debconf-preload to while at it also copy lilo.conf template controlled by an variable debconf-preload replaced configurable values w %VAR% templates like lilo.conf 2002.11.14 Thu test run 41 to see if configurability works, no bugs added with config still exact same behaviour as hardcoded version, still debconf missbehaviour 30pon is yet annother case of forcing "seen false", patch it like tzsetup 50tasksel and 60dselect repeat the same "great" behaviour as now 4 cases to modify, make subroutine kill_script_faked_seen_false 2002.11.15 Fri decided to solve 20passwd problem by nuking the entire script as automating it by fudging data into debconf is not going to work present state archived as RCS revision 0.8 for replacement 20passwd no MD5, do shadowconfig on >/dev/null for shadow used /usr/sbin/chpasswd for setting root password, no new user to stop dpkg-reconfigure patch 20passwd, use script delete reconfigure line kill_script_faked_seen_false add delpattern, rename delete_script_line test run 42, ends with perl 5.6.1 segfaulting(!), before doing anything 2002.11.21 Thu searching for reason for segfault try print at beginning, segfault before, is in parsing try -w, still, try use strict, now complains chmod and unknown variable put in chmod 0xxx and "my" declarations, noticed tzsetupline->scriptline also changes system(chmod) to chmod() and added missing $ for scriptline now again the segfault try commenting out delete_script_line /$delpattern/, same try commenting out entire delete_script_line now complains that line while () { reading not opened file noticed that re-copied file from / still has %VAR% in it, needs sed-ing re-sed-ed debcond-preset, run, still segfaults try again with entire delete_script_line commented out, works eliminate lines, is local(SCRIPTORIG, SCRIPTMOD, $scriptline); is the SCRIPTORIG and SCRIPTMOD which are not lvalues, local() wants such test run 43, second broken floppy (CRC error) so get new one perl ran, looks all fine, but nnxxxx.orig scripts will run, chmod them 644 now runs through to Apt Configuration, 20passwd is beaten, yiipeeee!!!! the usual apt questions, then the actual install questions, thats it Beat wants that we use MD5 passwords for local root, despite lilo.conf also dphys2-setup/dbootstrap user choice variables for MD5 and shadow to implement MD5 /etc/pam.d/[passwd|login] do 's/^(password.*)$/\1 md5/' 2002.11.22 Fri now that 20passwd is silenced, look at silencing 40apt-setup lookes like again gratuitious use of "seen false" in /usr/sbin/apt-setup kill them, but then only 1 server will end up in /etc/apt/sources.list so also generate /etc/apt/sources.list, will be before, so stop it redoing so we need debconf setting and actions, do so analog for 20passwd 2002.11.28 Thu analyse 40apt-setup, it is the call to /usr/sbin/apt-setup delete it out of the script, and then generate /etc/apt/sources.list for adding non-US and security put in 2*2 new config variables test run 44, perl abort because error, CONF_USE_SECURITY missing _UPDATE also at same time searching % noticed CONF_PCMCIA_REMOVE not transferred in pam.d password, switching to MD5, sed errors: Unterminated `s' command better replace the system("mv")(system("sed") with perl code anyway setting up /etc/apt/sources.list worked, do the reboot now only asks "PCMCIA deinstall", "erase .debs", "enter to continue" made function patch_file_line, and replaced system()s with it putting $1 in function parameter and then using it in s//$param/ does not go so rename to extend_file_line and put all line/end/extend in function expand generated /etc/apt/sources.list to full size as we have it today/potato debian/non-US/security/local all with deb and deb-src lines 4*2 lines shortened CONF_USE_SECURITY_UPDATE to CONF_USE_SECURITY renamed CONF_USE_NON_US to CONF_PACK_NON_US, same SECURITY and LOCAL better get rid of all CONF_PACK_* as redundant with CONF_DEBSERVER_* 2002.11.29 Fri changed extend_file_line use .= $ext instead of =~ s/^(.*$mod.*)$/$1$ext/ renamed PRELOAD_ROOT_* to PRELOAD_ON_*, as this is a path, not a root renamed CONF_INSTDISK to CONF_INST_FLOPPY, to make its function clearer test run 45, perl error 2 }s too many, cut&paste error, deleted them division by zero, is the %CONF_DEBDIR_NON_US% ne "-none-" whch becomes mirror/debian-non-US ne "-none-", and that fails perl, add "" now script runs, but pam.d/[passwd|login] are totally messed up is because the " md5" was added after the newline, and in all lines go back to the =~ s/^(.*$mod.*)$/$1$ext/ idea, seems to be better test run 46, perl fix syntax error, pam.d/[passwd|login] now correct but /etc/shadow still has traditinal 13-char password in it is because /usr/sbin/chpasswd does not know about MD5 so we need to use /usr/sbin/chpasswd -e and crypt() it ourselves test run 47, modulus zero error, was $base64 instead of @base64, works, MD5 OK only the last 3 apt install questions left, but after login apt-get fails is /etc/apt/sources.list, all lines have got an # prepended while testing dual-line killing grep regexp noticed that restore failled seems to be because of crashed and re-run debconf-preload, reinstall fixed the # problem with second delete_script_line() for "sources.list" test run 48, MD5 now all OK, no #s in sources.list, good but 40apt-setup crashed because "fi", so no apt-get update is "fi" without commands before it, only kill the "mv -f" did apt-get update by hand, found normal/non-US/security, not local is because local had woody/updates in it, not woody, corrected it also we do not have yet woody packages, nor directory structure for them 2002.12.05 Thu sarapis Beat set up an mirror/debian-local/dists/woody/local/* directory set debconf-preload to woody/local and CONF_DEBDIR_LOCAL to mirror/debian-local analyse 75apt-get as it makes the last 3 remaining (non-dialog!) questions "PCMCIA deinstall", "erase .debs", "enter to continue" for erase and enter. delete read instructions from /usr/lib/dpkg/methods/apt/install, and for erase preset def=y test run 49, with first dd /dev/zero on 1MB of /dev/hda to test sfdisk/lilo did not set the def=y, and ends up in "packages failled" dialog make an new function replace_script_line() to modify with more precision use this to kill yesno() call and "Press enter" and read RES test run 50, /usr/lib/dpkg/methods/apt/install totally wrecked, perl code error corrected install from install.orig by hand to at least test if right thing 40apt-setup can not find 40apt-setup.orig to mv back to itsself, returns 1 for some reason no packages to remove, what happened to pcmcia? can not find /var/lib/apt/lists/debian.ethz.ch_* package lists then without questions brings login prompt, so desired 2 questions are gone login and look around, sources.list is OK, /usr/local/base-config also OK done apt-get update, normal and non-US are OK, security fails is typing error woody/update instead of woody/updates, corrected, works test run 51, same floppy, but correct /etc/apt/sources.list update->updates 40apt-setup.orig ist there, but /usr/lib/dpkg/methods/apt/install wrecked correct it like last time, and try 2nd phase of install same result, 40apt-setup error 40apt-setup.orig not found no packages to remove, and /var/lib/apt/lists/debian.ethz.ch_* missing noticed that for 2nd replace_script_line() saving install, not install.orig that may be reason, leading to screwed up stuff, retry with correction 2002.12.06 Fri test run 52, after first stage analysed system the 40apt-setup.orig ist there, but 40apt-setup has twice mv/chmod at end same in 75apt-get, just there also never run, as exit 0 is done base-config/remove-pcmcia ist set to Value: with true missing is variable name change in setup, but not in code using it, used nullstring fixed naming bug in code, use the new name as changed in setup edited the 3 files how they should be, reboot to 2nd stage PCMCIA question is back, on other console looked what is running "Do you want to continue [Y/n]" comes out of apt-get itsself, unfriendly 40apt-setup is partially restored version, after the 1st edit, before 2nd after Y, runs to end, but still "Couldn't stat source package list" errors /var/lib/apt/lists near empty, just 2 debootstrap.invalid_dists_woody_* apt-get update fixes this, above gone, all debian.ethz.ch_* here present state archived as RCS revision 0.9 replace_script_line only used in 75apt-get, one file twice, restore trouble get rid of replace_script_line, code direct inlined, both edits in one go put the "mv" for restoring old script into the exit lines, else missed second delete_script_line in 40apt-setup creates trouble is not to prevent an command that produces dialog just to prevent /etc/apt/sources.list breaking, instead tag on "un-breaking" strip the # characters from from of each line test run 53, 40apt-setup looks OK, but /usr/lib/dpkg/methods/apt/install is missing its 2nd edit ("Press enter"), the if [true] is corrected may be a problem with the regexp, shortened and simplified it now just the missing apt-get update and one pcmcia remove question while remove question was being asked, active program was apt-get itself 2002.12.12 Thu from Beat links about how to make Debian packages, from Debian Weekly News missing apt-get update, would have been in apt-setup probe which was cut out so added it to our patched up /usr/lib/base-config/40apt-setup 75apt-get stop asking (de)install question, is in install, calls apt-get when running and question, apt-get is active apt-get is a binary, so no script patching here, so redirect output actually we need to auto-answer question with "yes", so yes | apt-get test run 54, files edited right, 2nd stage runs until apt-get dselect-upgrade that then hangs for a long time, wanted libc update, fetched it, hangs pressed enter a few times, still hangs, continued then after a while as I do not know if it woudl have worked without enter, re run test while doing, drop debug=2 -> debug=0, dbootstrap delete debconf-preload test run 55, everything worked, get login, ssh install, remote login goes with this I consider the first milestone functionality reached updated INSTALL file to include all 2nd stage stuff, all changes since last in particular user config of the additional CONF_* variables updated README file to show that first milestone is reached updated index.html.en also to reflect 2nd stage done, tidy up text a bit added link to dphys2-setup, for this set it chmod 644 changed INSTALL to put in an explicit step for chmod 600 dphys2-setup before test users test run 56, works, ready for test users 2002.12.13 Fri user test run with dsbg, found INSTALL "1" confusing, simplify it mention that to do all as root, in "2" add PREFIX to WORKDIR put making rescue before root disk, mention that it is standard Debian rescue suggestion to implement dhcp in 2nd milestone, for home CATV/ADSL users changed INSTALL to reflect improvement ideas cut down "1" section code, just left wget, tar, cd added PREFIX to WORKDIR at beginning of "2" section added an "2" telling to switch to root for the rest in "8" mentioned that the rescue floppy is the standard Debian item added an "1" remark about getting 2 floppies, that I gave dsbg verbally added *TAG* tags to point out particularly important lines Beat suggests adding remark that this program requires network for install also suggests DHCP, so this goes in as requested feature for 2nd milestone added remark to index.html.en "Basics" section, and to README "preconditions" user test run with gemperli, noticed missing license statement improve some commenting (setup examples for US keyb and no LILO passwd) warning that make must run as root, else file permissions get messed up bug 1: LILO fails to install, because with no password restricted not allowed bug 2: 2nd stage after apt-get update cycles back to timezone install perhaps because of failling to read all sources, local non-free is blocked setup file added commented out keyboard config for the often used US keyboard to save the many people using it having to go and look it up install added remark that make must run as root, else permissions get lost lilo.conf restricted -> %RESTRICTED% and in dbootstrap sed set it accordingly idea to do an test install at home, for an totally different site don't want to kill 486 NetBSD, so use 386, 400M disk will not fit 512M swap good idea to make swap size user configurable, as no manual fdisk test run 56 to see if these changes are OK, test with swap=256 and no LILO pass swap=256 works, LILO worked and it reboots OK, 75apt-get hang was short/gone 2002.12.17 Tue need testing on an non 129.132.198.0/24 network connection while rebuilding decided that dphys2-setup is bad name, better setup-dphys2 because change first test run on 129.132.198.0/24 test run 57, works as desired, now go test on other net, setup-dphys2 for that test run 58, works as it should, so it is not IP range looked up Apache config, it test for domain, so I need DNS-less IP address test run 59, error behaviour has been duplicated, is debian-local non-access the time zone dialog box of course killed off the error output for debugging next test stop restoring of the modified debian scripts in debconf-preload test run 60, with DEBUG=2, stop and edit base-config to print script outputs it is 40apt-setup that returns 100 instead of 0 after a while /sbin/init complains about respawning too fast so it is 100 jumping to end of base-config, and then init respawning it script was modified as intended, no apt-get probe, instead end apt-get update when that can not access some sources, script exits with $? set to 100 apt-get man page documents that it returns 100 on error, so add an exit 0 as this is last command the 100 is propagated to 40apt-setup return value this triggers the test in base-config, put in an exit 0 at the end test run 61, still jumps back and init respawns, but no time zone dialog 2002.12.18 Wed further with test run 61 analysing, the exit 0 is not there is not on floppy, seems to have forgotten the make tar or make install :-) test run 62 with exit 0 loops, can not check if exit was in because deleted and then time zone dialog, so again no restore original scripts and print out return values of the scripts, this time in code, not patch test run 63, patched base-config, failled, done it by hand, reboot 40apt-setup still returns 100, exit 0 is in there, so that does not work replaced exit 0 with an real command true that should return 0, still 100 it is not just that the shell returns last commands retuen value but also that Debian uses set -e so it aborts immediately try edit to apt-get update || true which should allways return 0 reboot, runs through until 75apt-get, there warning "can't stat", then OK change default setup-dphys2 to have no local packages server selected changed syntax to use commenting out instead of -none-, as for LILO password license text in source, copyright ETHZ Phys, licensed under BSD and GPL Boss wants GPL, I would prefer PD, but Boss fears that so compromise BSD test run 64, final tests, should show no errors any more as non ethz.ch DNS IP with local, ignores it with warnings as non ethz.ch DNS IP no local, no troubles what so ever, as expected as ethz.ch DNS IP with local, no troubles as expected 2003.01.09 Thu as milestone 1 is reached, make archive copy to ../dphys2-20021218 made tar of it as ../dphys2-20021218.tar.gz moved install_stage_*.tar.gz to ../woody_install_stage_*.tar.gz changes index.html to new place, links for old place in current and mi 1 modified index.html to show the milestone release started new RCS archive with revision 1.0 (unchanged milestone 1) redo ../dphys2.tar.gz tar archive of current state discussion with Elmar about what the package management should do grouping of machines, base processor dependant, above place dependant with ability to define machine specific extensions discussion with dsbg, today a central package list and host local lists all fed into apt-get, to be resolved inclusive dependant packages he thinks that tasksel-like packages are the way to go this fits my ideas about site/group/host package lists, using dependances 2003.01.10 Fri look at links I got from Beat, from Debian Weekly News read http://www.kclee.com/clemens/unix/HowToCreateYourOwnDebianPackage.html is a howto for simple personal packages, try it using crashed.8 man page shows single file project, good as intro file crashed.8 in crashed_19990411-1_all/usr/share/man/man8 crashed_19990411-1_all/DEBIAN/control for package info dpkg-deb --build __all gives __all.deb, dpkg -i installs it, works added crashed_19990411-1_all/usr/share/doc/crashed/copyright, from man source added crashed_19990411-1_all/DEBIAN/[postinst|prerm] for doc->share/doc link use fakeroot dpkg-deb --build crashed_19990411-1_all for file owner = root added crashed_19990411-1_all/usr/share/doc/crashed/[changelog.gz| changelog.Debian.gz] for historical data program and debianisation run lintian over it, complains not may gzip compression and that email addresses are not Name started http://www.debian.org/doc/maint-guide/, chapter 1 is the official guide for making real packages, try it using VirtexTools 2003.01.16 Thu Conference how we will be continuing development top priority is as fast as possible until first installs are possible today all have the same packages, for the beginning leave away hierarchical only phys-site and all host-specific (fetch specific kernels) do an apt-get update/upgrade by cron every night and on every boot after base install register above scripts and do an reboot I have got to investigate getting in debconf and config before questions for testing this use system with just less (user) and ssh (server) packages Beat will for next Thursday set up an reference box look at more links I got from Beat, from Debian Weekly News from the infrastructure.org people looking for .deb and config packager looked at whether to get onto debian-devel, is about 50-100 posts/day, hmm discussions don't seem to be particularly interesting, to search that volume OTOH DWN seems to be nice, and it has an "New packages" section so when dphys2 is made into an .deb, it should be made an official package get up to speed on DWN, read all of 2002 and 2003 so far 2003.01.17 Fri further with DWN Nov2002-today seems to be quite nice, but those 2 posts from Beat seem to be only ones further with http://www.debian.org/doc/maint-guide/ but do dphys2 as example, because actually usefull for us while going through chapter 4 decided that this is too complicated use the simpler method used for "crashed", as it is good enough still read rest, just to see if there are any usefull tips in there perhaps provide DEBIAN/conffiles with setup-dphys2 in it, also DEBIAN/docs or just put in what is in the "minimal package" done with "crashed" 2003.01.23 Thu hagrid new install, pure phys2, no additions, with *.*.*.2 IP address made new .tar.gz of state after dphys2 is finished, for archiving also saved debconf database, then sshd install, save, less install, save moved all debconf databases to website, and linked them, also new install start making automatic package install on hagrid, first without config stuff made an site-ethz-phys package, ./packages/site-ethz-phys_20030123-1_all.deb copied package over to hagrid, deinstalled tcsh and less tried to install, complains about tcsh and less dependancy, ssh OK so the automatic fetching of dependant packages seems to not work Answer from Arthur Korn, dpkg does not auto-load, only tests, need apt-get 2003.01.24 Fri started an Makefile for package stuff, make site for the dpkg-deb --build script makehostpackage to generate host packages, with all name/date variance test run package, also works until crashes into dependancies look at how to put packages into debian-local, where to put what dists/woody/main/binary-alpha/[Packages|Packages.gz] for control file stuff pool/main/x/xpack/xpack_ver_all.deb for the actual archives put packages into /pub/debian-local/pool/main/s/site/* and h/host/* generate Packages list with dpkg-scanpackages pool/main indices-local/override.woody.non-free \ > dists/woody/local/main/binary-i386/Packages gzip < dists/woody/local/main/binary-i386/Packages \ > dists/woody/local/main/binary-i386/Packages.gz test run 65 apt-get update apt-get install host-hagrid fetches site-ethz-phys, less, tcsh, installs all of them, works script after making host package, delete generated work directory host-hagrid .deb only in debian-local, not in home directory script added -l option for setting debianisation level, and command line checks made an host-hagrid with level 2, apt-get update apt-get upgrade works move all site-ethz-phys stuff and Makefile to debian-local, none in home makehostpackage rename config vars to CONF_* and put them in setup-dphys2 added makehostpackage to Makefile tar and ci, and to index.html.en 2003.02.06 Thu look at docu how the install process works, when scripts are called man dpkg points to Debian Policy Guide, chapter 6, read that potato is chapter 6 last one, not right, use woody, 13 chapters chapter 6.5 is what I wanted to know, 3. 2. preinst before unpacking but only gives details for one specific package, not relative to Depends: but other source says that all unpacks happen, then all postinst so I assume that preinst happens before all unpacking starts, risk it 2003.02.07 Fri make an test preinst script, for ssh, fill debconf, search docs on how to there exists debconf-loadtemplate, but is forbidden from maintainer scripts looked at debconf man page, read it, points to /etc/apt/apt.conf.d/70debconf there /usr/sbin/dpkg-preconfigure is set as default behaviour so stopping questions by preinst may not even work, all asked by then noticed remark about DEBIAN_FRONTEND=noninteractive DEBIAN_PRIORITY=critical these would make presetting debconf entirely superfluous, just config files test with both or either one gives no questions any more here these work, unlike base-config, no set false in tested ssh + less test looks like only DEBIAN_PRIORITY=critical is needed and config files could even be in postinst, after Debian did all its stuff this looks the easiest, get all in with Depends: then normal script mods this way is also easiest for uses without learning debconf stuff 2003.02.13 Thu look into host- auto-load at end of installation switch debconf/priority to critical, best in 00dbootstrap_settings or $VERBOSE = quiet (and no $DEBIAN_PRIORITY) in /root/dbootstrap_settings instead of 50tasksel or 60dselect put in script that selects host- or after 75apt-get put in script with an normal apt-get host- dpkg-deb --build is reversed with --extract and --control /DEBIAN dbootstrap added setting /root/dbootstrap_settings $VERBOSE to quiet with CONF_DEBCONF_PRIORITY option to use it dbootstrap added script to call to apt-get install host-${CONF_HOSTNAME} /usr/local/base-config/78hostpackage test run 66, dbootstrap fails on "fi" inside "<< EOF", script restarts test run 67, echo with >> on next line missing \ for continuation so 78hostpackage script broken, correct it host-hagrid package not found, no local packages on sources.list, config err test run 68, finds packages and installs them, but asks first if to do it added -y to apt-get command in 78hostpackage to get rid of this debconf-preload leaves original sources.list in / is 40apt-setup section that forgets to add an delete to 40apt-setup, added while at it in 75apt-get section of debconf-preload changed "yes | apt-get" into apt-get -y, as this only answers questions also fix for dpkg "Available" file not getting updated while install at end of 40apt-setup, after apt-get update repeat apt-cache/dpkg/rm 2003.02.14 Fri test run 69, syntax error in debconf-preload, did not compile is the added lines for 40apt-setup, containing ""s and $VARs index.html.en added in milestone 1 that dpkg "Available" bug existed, bug #1, and that it is now corrected test run 70, annother error in debconf-preload, test for line is invalid syntax debconf-preload with CONF_* in is already deleted, so can not edit and rerun add DEBUG=3 wait before deleting debconf-preload put in separate wait message, separated DEBUG 1 and 2 messages for reboot test run 71, works, no errors any more, and dpkg "available" is now there and the "timeout" waits before remove/unpack and after unpack are gone also INSTALL added about triggering autoload of host package, and creating it present state archived as RCS revision 1.1 index.html.en update status Done (autoload) and Todo put example configuration file (/root/.cshrc) and config edits (/etc/passwd root bash->tcsh) into site package (re-)make package and Packages on server remove old tcsh package apt-get -y --purge remove apt-get update; apt-get clean: apt-get -y install, works 2003.02.20 Thu set setup-dphys2 defaults to safe, have users enable local and autoinstall corrected INSTALL to reflect this, and renumbered it while doing so makehostpackage added option -s to set site package name code for handling multiple options in any order dsbg test install on dudley to find out which packages ask questions, few do it all on our standard install use debconf, appart from sendmail install missed apt-get removing pcmcia-cs, also update/upgrade not right we found out that Beats test machine has an longer /etc/apt/sources.list should also have 2 woody-proposed-updates sections, are apparently standard instead of many specialised features, possibly at some times run user scripts 2003.02.21 Fri look into why pcmcia-cs did not get purged, is also so on hagrid 75apt-get should have done it, seems to be that apt-get -y ist not really yes so switch back to using the "yes | apt-get" method dsbg remark that 2nd dudley install with "critical" only has sendmail asking so the same one that needs treatment anyway, suggest making own mysendmail discussion about package installs and upgrades, Beat asks why site package is because of using apt-get update/upgrade and automatic hierarchy needs for each host a package, but that can be automated problem that kernel 2.4 needs to be in and running (reboot) before some other package can even be loaded/installed sent links to the infrastructures.org bootstrapping and turing texts to all while there read some more of their texts test run 72, works as intended, that was the problem check if apt-get and dpkg really have update/upgrade, yes seem to be yesterday seems to have just been problem with missing woody-proposed-updates debconf-preload added generating main and non-US woody-proposed-updates controlled by one option CONF_USE_PROPOSED in setup-dphys2 added comments to /etc/apt/sources.list that this is dphys2 generated this may be a problem with 40apt-setup # stripping, so test it test run 73, missing " character, debconf-preload did not compile, fixed test run 74, runs until using /etc/apt/sources.list comments have lost their # add the comments from the extended /usr/lib/base-config/40apt-setup after stripping all the comment signs that got put in 2003.02.27 Thu test run 75, runst through, now 7 packages that get updated, 5 from proposed dsbg bug report, lilo password doesn't work, can not be duplicated by me or him add calling an user command at end of 1st install stage, for further automation offer use of an endfirstrun script/binary, config vars in setup-dphys2 copying it in makeroot, executing in dbootstrap, document in INSTALL convert the debconf critical and loading host package stuff to using this wrote an endfurstrun script, no tests (allways do critical/hostpackage) remove conf vars for crit/hist from setup-dphys2 and INSTALL test run 76, host package not loaded, was ${HOSTNAME} not known any more script needs to stand on own feet, so use `hostname` for this changed endfirstrun to use variables for script names 2003.02.28 Fri policy decision, all our packages will be named dphys-* endfirstrun changed to do script 01debconf to directly modify crit and noninter can not use the VERBOSE=quiet hack, because 00dbootstrap_settings only crit dsbg says this stops some tested packages asking, critical misses them such as ntp for its timeserver or libnss_ldap for its LDAP servers makehostpackage don't use setup-dphys2, not part of system setup, local tool renamed host-hagrid to dphys-host-hagrid, changed makehostpackage to add dphys- renamed site-ethz-phys to dphys-site-neil-experimental, changed makehostpackage put my pubkey in test site package, to test that, works, no password any more moved all test packages from pool/* to disks/*, as dpkg-scanpackages warning modified /pub/debian-local/Makefile, added contrib and nen-free targets 2003.03.03 Mon dsbg did a test install with newest "current", got into trouble made him an dphys-host-dudley package, identical to dphys-host-hagrid the long wait is back again, but is not repeatable 79hostpackage failled with syntax error, because `hostname` was (none) needs to be dereferenced when running 79hostpackage, not in endfirstrun 01debconf gives back 127, crashed with db_set not found consequently the less and ssh dialogs were shown 12console-tools all of a sudden starts asking questions, why? 2003.03.06 Thu 01debconf was . /usr/share/debconf/confmodule in endfirstrun, instead of 01.. 79hostpackage was `hostname` run in first stage, when not yet set rework script to use 2 here documents and cat to make the 2 scripts test run 77, all works now again better #DEBUG= naming system -> DEBUG_NAME=yes, friendlier, allows multiple SLEEP -> DEBUG_SLEEP, and only if used, code has if to catch not used DEBUG -> DEBUG_WAIT_STEP, DEBUG_WAIT_DEL_PRELOAD, DEBUG_WAIT_DEL_USERCMD, DEBUG_WAIT_ENDFIRST for named options, so that no need to know 0-4 numbers while at it also config variables without CONF_ added it PREFIX -> CONF_PREFIX, WORKDIR -> CONF_DPHYS2 and CONF_WORKDIR MODULESNET -> CONF_MODULESNET, and put all DEBUG after conf in setup-dphys2 same rest of vars all changed to SYS_* ARCH -> SYS_ARCH, DEBRESCUE|ROOT|DRIVERS -> SYS_DEBRESCUE|ROOT|DRIVERS MODULE* -> SYS_MODULE*, DRIVERS_TGZ -> SYS_DRIVERS_TGZ, etc test run 78, fixed x{DEBUG_SLEEP} added $ , fixed missing = at xyes, OK present state archived as RCS revision 1.2 dsbg further test install makeroot collision with already used /mnt, better use an own mountpoint 75apt-get the big wait is back, 2 apt-get processes top shows 34% yes, 68% apt-get, and while that 80% system retested with same floppies on hagrid, also not fast, but better suspect some form of blocking between the apt-get processes, bug? sshd does not accept RSA key any more, despite pubkey file being there 2003.03.07 Fri moves floppy image mount from /mnt to ${CONF_WORKDIR}/mnt dbootstrap put in missing test if ${SYS_ENDFIRSTRUN_ON_FLOPPY} is a file makeroot also test if the file is there, and complain if not while changing, also tidy up a bit in makeroot code eliminate large rm -rf ${CONF_WORKDIR}/ at beginning distribute the needed deletions (no automatic overwrite) to their mkdir-s clean structure driver/modules/modconf all unpack, all elim/move, all pack test run 79, all works, appart from the waiting stuff pstree shows: .. - b-c - 75apt-get - install -+- apt-get - apt-get `- yes sshd same problem, did ssh -v, it only tries SSH2 keys, not my SSH1 key new makepackage script, starting with copy of makehostpackage started with designing functions that should go in it heeb did test install, brought 12console-tools dialogs may be because he tried with us keyboard, unlike all my tests with sg 2003.03.13 Thu investigating console-common dialogs, can be duplicated is not 12console-tools at fault, but 75apt-upgarde of console-common without proposed updates this problem disappears, also not with sg keyboard added proposed, tried upgrade, question back dpkg-reconfigure does not ask again, diff-ed config.dat is console-data/keymap/policy that gets an Flags: seen added debconf-preload add this line, if %CONF_USE_PROPOSED% is in use and the 75apt-get hanger is back, it is "yes" eating up all processor power! in debconf-preload yes changed to nice yes so this old bug is now gone with this all reported bugs have been killed, up to get some new ones index.html added in milestone 1 this as bug #2, and report it as fixed setup-dphys2 added default that root password ist equal lilo password test run 80, everything worked, heeb tested with his config, also all OK 2003.03.14 Fri moved dphys-site-* and dphys-host-* packages to non-free as they contain config data that in future may be secret (keys) dphys-site-* stuff to build package in my home, copy *.deb to server design what functions and options makepackage script should have separatable steps generate/pack/tidy, new/clone, set dependencies 2003.03.20 Thu makepackage implemented options and tests for separate generate/pack/tidy steps structured CONF_* DEBUG_* SYS_* settings, added DEBUG_PRINT_STEP design new/clone, no "new" option (is default anyway), just -c clone option clone allow full or just base name (later use newest version) done option processing for -c option -b analog to -s, just set CONF_SITE_PKG to empty string same -d just add this further package to existing CONF_SITE_PKG 2003.03.21 Fri makepackage extend hostname (no "-" in it) to packagename makepackage now can fully replace makehostpackage, delete old stuff index.html, RCS, Makefile ci and tar, delete makehostpackage, ln -s cloning, find package name, expanded as above, find newest version put all this in after files generated, overwrite new from clone package then back-patch the control file with its new name and version improve help text, mention name expansion redone option processing to allow combined -xyz options 2003.03.27 Thu discussion with heeb and dsgb about using makepackage, organising our setup got it clearly over how what files belong where will use /etc/dphys2/* and postinst copy into real place from there daily update/upgrade cron will also run postinst heeb suggests als an test for local changes, warning mail dsbg did test runs, name trouble, had added hostname to prefix var has trouble with permissions from, need local for setup-dphys2 but wants packages and makepackage in NFS home dir told him that both can be split, makepackage is separate this suggests making makepackage a separate project, or separate download OTOH when installed as .deb package, makepackage will be a command in path will have to redesign options meaning, particularly to allow combinations such as add to existing, or clone and add stuff at same time preferably start with no option = do nothing, then specify aoo one wants present state archived as RCS revision 1.3 2003.03.28 Fri dsbg improvement suggestions for makepackage -g should make work directory without version number -p shall update version in control and pack with version name in .deb default to -p, as -g and -t are dangerous, or better default to print help -g redid control file for him, kill contents he has added take out automatic -gpt generation when no options reorder options is row of working, g(bs) or c, d and f, p(l), t change so that directory is just package name, version add on -p so also no need to clone a package just to make an new updated version dsbg and heeb Discussion about showstopping non-debconf questions random any night all machines, on any update/upgrade our 79hostpackage apt-get when fetching sendmail asks questions first thought "bug", because "nice yes", but that only in 75apt-get added nice yes "" here, also in 75apt-get with "" tested it on heeb his test machine, no sendmail questions on testing noticed missing Makefile dependency on endfirstrun, added rename 79hostpackage to 99zhostpackage so after 99inittab allows us to do anything, including reboot, as all Debian stuff is done added test for and running of /etc/dphys/post-apt-get script all date stuff is only used for making version number, put all in -p also make changelog.Debian at this time, only make changelog on -g or -c 2003.04.03 Thu makepackage -d changed to add further Dependencies at any time not just extend line while creating an package tidy up implementation/variation for clone vs normal generate adapt cloning to now having version-less work directory names implemented expand .deb -> work directory, test fails on option processing rewrote option processing with case..esac, test for *) and give error 2003.04.04 Fri looking for makepackage -e bug, $# is 2 instaed of 1, the -e is not being used seems to be the while [ x`echo $1 | cut -c 1` = x- ] ; do -e is an option for echo, -- not recognized, -E should work but does not rename this option to -x (e)xpand, which does not collide -v verbose for selecting of one wants DEBUG_PRINT_STEP output not only dpkg-deb --build output, no option to stop it noticed dpkg-deb --info, make an -i option for it -r remove existing/old .debs, can be used before -p or with -t to delete all dsbg had an dphys2 install hang, in 2nd stage with an mount problem is in 40apt-setup inside apt-probe, wants to mount CD-ROM we do not have suspect it was an small change that did not get tested testwise do an entire new root disk generate on my system, for hagrid test run 80, fails also, because debconf-preload compile aborts, systax error is an "" used inside an perl string, oops, changed it to '' test run 81 worked again without trouble decided to not put an -f file into makepackage, let users do this themselves this requires flexibility, where the script is inferior to shell updated INSTALL file to make it a bit better, fixed small bug in tar cmd 2003.04.10 Thu documentation update FAQ, INSTALL, README, index.html, endfirstrun, makepackage noticed that clone is not yet finished, no normal files, just infrastructure command -> script (or binary) in setup-dphys2, INSTALL, dbootstrap, makeroot CONF_END_FIRST_RUN_CMD -> CONF_ENDFIRSTRUN_SCRIPT 2003.04.11 Fri 99zhostpackage renamed to 99z20hostpackage, allows more after 99inittab scripts discussion with dsbg about daily/boot updates/upgrades by cronjob/init install these by the site package, makes them admin updatable so do not make these as part of dphys2, just comments in endfirstrun he had problem with some packages aborting apt-get install doing annother apt-get install by hand solved this solved them by dirty fix of putting apt-get inside an while loop makepackage rearrange code, that cloning behaves properly first unpack, then only gen copyright, then changelog, then preinst/postrm then make or clone control file, after this rest of stuff clone add also copying of normal files to the new package this also includes changing documentation directory name made -cpv new dphys-site-franklin-experimental cloning dphys-site-neil-experimental (which was actually site-ethz-phys) made -gpv new dphys-host-hagrid using that installed on server, apt-get update/upgrade gives error message needs dist-upgrade because dependency changed of site package name delete old now unused packages, not needed any more deleted old Makefile as makepackage -p has long taken over its job test run 82 to see if all changes work, all do present state archived as RCS revision 1.4 2003.04.17 Thu dsbg sent url to older/simpler edition (2.0) of Debian New Maintainers Guide heeb diskussion, decided to not make .deb of this milestone possibly later, after swithichg to newer Debian tools for makepackage now just put out milestone 2 release and then start work on site package as milestone 2 is reached, make archive copy to ../dphys2-20030417 decided to move Projects/dphys2/debconf data to Projects/debconf, outside made tar of dphys2-20030417 as ../dphys2-20030417.tar.gz modified index.html to show the milestone release started new RCS archive with revision 2.0 (unchanged milestone 2) redo ../dphys2.tar.gz tar archive of current state tidied up directory, deleted long not used 00README and 0FAQ symlinks same also for the install_woody_stage_*.tar.gz symlinks dphys2.tar.gz link was still used in april, leave, later delete with debconf heeb discussion what needs doing in host/site packages need cron job and init.d script for apt-get update/upgrade cycle unpacked dphys-site-dsbg-experimental, makepackage -x failed missing /usr/share/doc/dphys-site-dsbg-experimental/changelog.gz has /etc/dphys/post-apt-get hard as file, should be generated by script has /pub and /scratch twice, /pub/debian better as /home/debian/htdocs /scratch create same method as /usr/local, with /var/tmp mode has /etc/dphys/usr/local/bin/ a few tools, better as /usr packages /etc/modules, 2.4 replace RTL driver, 2.4 if USB add module usb-uhci on hagrid found "Module" in /etc/modules, seems to be a install bug uhci with JE instead of GA: websearch claims hangers under some conditions 2003.04.24 Thu makepackage -x failled because full -version_all.deb, should be without add remark about this to help text, fixed this in current dsbg and heeb discussion, convertion 2.2->2.4 (ext3, devfs, RTL driver) best in all 2.4 "kernel super packages", make an post-apt-get in that test if not yet 2.4 (has running got /proc/..., then convert /etc/modules has after unix and af_packet spurious Module dbootstrap had grep -v for ^Modules , dropped the s which is too much investigate making of /usr/local[/*], is base-files postinst that makes them looking in dsbg site package noticed that postinst and prerm "share" broken is set of bugs in makepackage, "$1" instead of \$1 and missing ${PKG_NAME} 2003.04.25 Fri dsbg and me moved all our package building stuff into /pub/debian-local/build find-printer and user-info packaged as .debs, installed passwd can not be packaged, because /usr/bin/passwd already exists better generate this from an postinst script, that shifts away old passwd generated dphys-site, cloned from dphys-site-dsbg-experimental missing changelog is now newly generated, rest /u/s/d/ is OK killed /pub and /scratch, in both places, added mkdir/chmod to postinst added dphys-find-printer and dphys-user-info, killed direct files postinst added code to disable passwd and output message, killed direct file postinst generate /root/post-apt-get, killed direct file (wh even got deleted) moved .../etc/dphys/root to .../root, install it direct changed makepackage so that version number ist yyyymmdd.hhmmss testing that found bug in makepackage, repeated -p destroys changelog file so that is why dphys-site-dsbg-experimental lacks one, fixed it index.html added in milestone 2 this as bug #3, and report it as fixed 2003.05.07 Wed tidied up dphys-site postinst script in mean time dsbg site has evolved, taken over some of the changes but we have an general divergence problem, better fold changes back into dsbg dsbg not here to merge, carry on with work on example host package heeb collision of alsa-base with devfsd, postinst tests if devfsd reload script and then calls it, that fails violently if devfsd not yet run its postinst can not guarantee that, suggest install 2.4/etx3/devfs, reboot, install rest but this splits install, requires temp init.d to do large apt-get, messy better go without devfsd, only needed for /dev/dsp, use symlink, and tar it looking at dphys-host-dudley, a few configs, in preinst gen kernel-img.conf postinst yet annother (the 3rd of 4th?) cp of /etc/dphys, and 2nd lilo call 2003.05.09 Fri dphys-site* are diverging, with may edits and dsbgs additions decided to merge them, roll my stuff into his, rename mine to *-franklin-temp decided with heeb to switch from build directory to using CVS project name dphys-build, my local copy in ~/src/dphys-build move our auxillary links to /debian-local, link to them from ~/src/... move my stuff from /pub/debian-local/build to ~/src/dphys-build dsbg stuff already in CVS, rmdir /pub/debian-local/build checked in my packages, with exeption of dphys-site-franklin-temp merge my changes into dphys-site-dsbg-experimental find-printer, user-info, passwd, chagelog.gz, /scratch und /pub post-apt-get, /root wie dsbg aus /etc/dphys/root kopieren changed fstab to be sed-ed to new state, like dsbgs lilo.conf deleted file in /etc/dphys, inittab by same method, deleted file dsbg wants stuff modified in /etc/dphs, for re-copying me and heeb regard /etc/dphys as raw stuff for postinst, not to be modified decided to move /etc/dphys to /usr/lib/dphys, as it is raw data, not config tidied out my temp version, checking through CVS fails symlinks, added ln -s for /etc/printcap and /etc/mail in postinst /etc/init.d/my-dma own package dphys-ide-dma, remame to /etc/init.d/ide-dma changed dphys-site-dsbg-experimental to use dphys-ide-dma, dropped old files 2003.05.15 Thu dsbg is working on an setup.pl, run from init.d, that takes an package list and then does multiple apt-get to load all stuff, no massive Depends: run only kernel/ext3/devfs from base-config, then reboot, init.d apt-get store it on web server, get with wget, use /var/lib/dphys for such files dsbg is making cron job and init script to update/upgrade as part of this makepackage -p added code to eliminate and recreate CVS directories kernel metapackage postinst script parts for lilo.conf/inittab/fstab devfs conversion, and ext3 conversion 2003.05.16 Fri dsbg install test run 83, worked mostly but /usr/lib/dphys/etc stuff was not copied changed cp -a ${FILES}/etc /etc (oops) to cp -a ${FILES}/* / motd was broken, standard Debian one, not set as wanted after reload of package empty, should have been made by cat not by echo further with kernel metapackage postinst script switched endfirstrun + 99z20hostpackage to use /root/NEED-REBOOT flag no POST-APT-GET script, as not possible to have multiple packages use it generated new dphys-kernel-2.4-dphys-*.deb packages, with postinst in them eliminated all kernel update stuff from site package postinst convert /etc/modules 2.2 rtl8139 driver to 2.4 8139too removed overwriting /etc/modules from arizona host package dsbg arizona install fails now, can't install host package, not fetch kernel is because special 2.4.21 kernel, has been build wrongly by dphys-kernelgen 2003.05.22 Thu heeb on 2003.05.19 built the proper kernel packages for arizona, works again rubis hat set up PXE boot, it works with dphys2 root floppy image + deb kernel started working on representative host package, use arizona as base dsbg still has /etc/dphys -> /usr/lib/dphys, the 2 cp calls will collide change to only copying explicit wanted files (fails safe, to do nothing) dphys-site spilt the cp, into classes, rest of script also in classes dphys-site still has mydma, no dphys-ide-dma, or find-printer..., fixed converted dphys-host-arizona to /usr/lib and same postinst structure after commint dphys-site-dsbg-experimental /etc is back, killed it, gone and dphys-host-arizona /etc also, killed, comes back, again, worked heeb discussion on site management, dsbg install.pl will first-install OK but large upgrades will still be in random order by apt-get, bigger problem so all config changing code need to be out of postinst, only install files run all config stuff from an /etc/*.d directory, with own number scheme list better by dphys-admin package, not by direct http get even better only install dphys-admin, then have that do all, incl kernel no use of the broken Depends: stuff, all controlled by our scripts 2003.05.23 Fri heeb further discussion, have init.d+cron do dphys-admin script do everything from that, controlled install, incl kernel and "pre" img file this eliminates site package, with host->kernel list also host packages and with that also kernel meta packages, so only dphys-admin package also cron do controlled update, install dphys-admin, install rest, upgrade initial install endfirstrun just load dphys-admin and then reboot into init.d the deleted files in dphys-site and dphys-host-arizona are back once again I did cvs remove -Rf and cvs commit, cvs update -d fetched then again tried with cvs update -Pd and they are now gone, use this from now test run 84 install arizona, new *.debs, updated missing in override crashes in kernel install, looks like standard /etc/kernel-img.conf problem rerun apt-get install kernel, lilo crashes out, as lilo.conf converted reboot, comes up ok, 2.4, running devfs, 8139too ethernet, but can not use it may be problem with this board and the experimental 2.4 kernel, try hagrid test run 85 install hagrid, make temporary .deb, install no reboot because endfirstrun ${REBOOT_FILE} bug stops test for it, fixed kernel installs ok, after reboot, 2.4+devfs, but fsck crashes on old fstab test run 86, none of lilo.conf, fstab or inittab changed no dphys-kernel package, is dependency wrong in dphys-host-hagrid package was only fetching kernel, not meta package, fixed it test run 87, now with meta package, crashes out may be kernel packages preinst returning 1, no exit 0 at exit, added it but problem is not there, is kernel is clashing with modules already loaded change endfirstrun to controlled load /etc/kernel-img.conf, kern, mod, meta test run 88, installs, but meta crashed, postinst also ${REBOOT_FILE} bug reboot, /etc/modules.conf more recent than /lib/modules/... needs run of update-modules, depmod unresolved symbols in alsa modules setserial complains that ttyS* are gone, will auto-fix itsself then no dphys-admin or any other install, are not installed by hand apt-get install dphys-hist-hagrid, complains about exim deinstall complains about kernel-meta not configured, so can not configure host reboot by hand, for dphys-admin to work, installs, and again, and again fixed update-modules in kernel-meta package, rebuild (not arizona), install 2003.06.05 Thu status reports heeb: 1 Bug in endfirstrun quoting, 2 no kernel in there just kernel-img.conf dsbg: site package postinst is not idempotent, and no prerem or postrm yet fixed endfirstrun, ${REBOOT_FILE} expand at gen time, but only set at run time fixed site package postinst, all mkdir and ln -s idempotent, test exist site package postinst should save away debian defaults, non destructive reinstalled my basic hagrid, to see what unaltered debian /etc looks like save away all Debian config files that were already there postinst does restoration, if --purge, so then restore old configs dsbg asks if makepackage -c copy is now workung, as help says it doesnt 2003.06.06 Fri site package postinst and postrm tidy up, fix some logic errors arizona+dudley host package postinst same structure as site package uses now site package and arizona+dudley host package postinst fixed effect of makepackage $1 instead of \$1 bug (expanded to hostname) arizona+dudley host package added postrm, analog to site package makepackage fixed help output about -c copy option test run 89 at dsbg, typo (missing space before ]) in site postinst, fixed he regards the explicit multiple copys as too much work to maintain wants bulk copy from /usr/lib/dphys, so need separate for site/host/kernel also no saving to .orig and no postrm restoring, will never be done anyway at lunch dsbg and heeb discussion about distributing secret files (host keys) best per host tar with gpg, all in database in site package or dphys-admin have these decrypted by self-killing password entered while resc/root install need to have host key gen script ask password and encrypt also use same mechanism for setting real lilo and root passwords, preencryt further thoughts on replacing site/host pack with dphys-admin with DB files site+hosts remove postrm scripts, no saving to .orig in postinst scripts separate /usr/lib/dphys-site and -host instead of one /usr/lib/dphys switch multiple cp -a ${FILES}/etc/... /etc to single cp -a ${FILES} / convert /etc/mailname and /etc/motd to normal files in /usr/lib/dphys-site convert our replacement /usr/bin/passwd to /usr/local/bin/passwd 2003.06.12 Thu dsbg feature wish, makepackage feature to add lines to DEBIAN/control dsbg bug report, changing Architecture: to i386 gives makepackage error message is lintian, looking for an *_all.deb file, called allways with all add -a arch option to set to other than all, simply set SYS_ARCH that then automatically sets it right in control and does lintian right set/help code consistency changed -l level to also use SYS_PKG_LEVEL variable dsbg bug report, site package postinst cp -a ${FILES} / needs /. after } same in host packages cp -a ${FILES}/* / changed * to . with -b option there should be no Depends: line, test and facultative make -d must test for Depends: and extend or add line reworked help into an -h option, unknown option or no parameter call this CONF_PKG_CHLOG_* were in text, not at top, moved at same time put outdated Description: into CONF_* vars at top, easier change 2003.06.13 Fri dsbg found massive bug, cp -a of 700 /usr/lib/dphys-site sets / to 700, fail need to get rid of 700, /usr/lib/dphys-site must be like / 755 inside /usr/lib/dphys-site set all security relevant files, as in / discussion dsbg, what to do about deamon restarts when updating configs today we restart postfix on any site package update, leave nis/ldap untouched added DEBIAN/control editing ability, add/extend option lines, like -d used for Recommends:, Conflicts:, Replaces:, Provides:, etc lines started tidy up of dphys-admin, postinst/postrm, merged the 2 init.d scripts heeb discussion cron updates, after 06:00, as to about 04:30 Debian mirroring do them scattered, take 06:00..06:59, IRC joker use $((RAMDOM%60)) dsbg intro to his pkglist file, block of lines is one apt-get call 2003.06.19 Thu dphys-admin init.d script holt pkglist per wget dann dphys-setup.pl cron.d macht nur dphys-setup.pl, ohne zuerst wget zu machen ist ein bug, muss addiert werden, im init.d ein cron) addieren wenn ${REBOOT_FILE} Mail an root, dass er reboot planen soll in postinst randomize the cron job minute when it runs updates 2003.06.20 Fri analysed dphys-admin /usr/sbin/dphys-setup.pl seems to be only doing apt-get install on packages that are not loaded hagrid 0.3s per package, at 500 packages that saves 2.5min, not worth it discussion heeb, we also need an remove/purge ability, not just install and we also need to do an apt-get upgrade, and apt-get update at beginning if apdate/upgrade in perl, then also wget and reboot/mail here, all in one init/cron call with option, or do it all in init.d shell script /usr/sbin/dphys-setup.pl massive tidy up, no test for already installed added apt-get update/upgrade here, added wget $pkgfile here added reboot reactions here, so that direct call from cron and minimal init.d changed cron to direct call this, init.d no cron part, start part small 2003.06.26 Thu dsbg Bug Report, dphys2 /etc/fstab has no /floppy and /cdrom entries these would be in after an standard Debian install, dbootstrap fixed kernel-gen postisnt already knows about floppy and cdrom, no additions fixed bug in dphys-ide-dma, unneeded Depends: dphys-site-franklin-experimental heed reports that upgrade fails, because of update-rc.d links already here /pub/debian-local/Makefile extended for i386+all+src in main+contrib+non-free init.d missing restart and force-reload, added them, duplicated ;;, deleted it dphys-setup.pl, mult missing ";", twice = instead of eq, rm instead of unlink match for finding empty or comment line, strip leading and trailing spaces 2003.06.27 Fri dsbg has temporarily fixed dphys-ide-dma update-rc.d with an -f investigate what is the proper way in Debians scripts seems to be postrm remove -f, postinst remove -f and then start add this to postinst script, and add missing comment headers while there dphys-admin changed init script registration, also first remove then new while packaging again complaint missing man page, added one pkglist file moved to proper /var/lib/dphys-admin directory dphys-setup.pl added support for removing or even purging packages with "+ - *" commands, also only "+ - *" output and user output with ? voluminous apt-get output goes to an logfile /var/log/dphys-admin.log analog to * for --purge remove also ! for --reinstall install speed up reboot, get rid of 3-10min looping through null apr-get's 2003.07.03 Thu dphys-setup.pl reboot possible after any package, not at end added command | to run random command with system() fixed various bugs, perl coding traps such as $1 disappearing updated pkgfile in the package, but this is a redundant data problem discussed with dsbg, no pkglist in package, only the one with wget debian-local some unsorted packages, out them into correct directories running make (dpkg-scanpackages) complaints that override has misc, fixed /pub/debian-local/Makefile added code to automatically generate override files scan the packages Section: and Priority: fields into new override.* file for binary-i386 same file as -all, so not rm/touch/chmod of override file when no files in an section, sh takes * literally, dpkg --info screams so in all: target disable sections without packages in them 2003.07.04 Fri /pub/debian-local/Makefile split override from scanpackages, separate target only 6 of these, not 9, as -all packages are all linked to in -i386 drop code for scanning the -all directory into override selectively run scan code, only where we presently have packages fixed bug, touch/chmod664 for all 6 did main, not the other 5 add code to automatically link all -all into -i386 directory, and remove old propper create override file for source packages, no dpkg --info also no priority field in this override file in all override files added local/ before section, as in Debian contrib + n-f scan source packages with dpkg-scanpackages -> dpkg-scansources and store data in Sources and Sources.gz files problem that scansources complains about indices/*.src format 2003.07.10 Thu /pub/debian-local/Makefile scansources complains about indices/*.src format is because I wrongly added local/ to section, analog to contrib and non-free but we have all 4, local/ is analog to updates or non-us, not in indices removed local/, still error, man dpkg-scansources wants same format as bin changed to that, it works, but original Debian site format is without(!) now just one error, dphys-mozilla duplicate, is _1.2.1-1.dsc and _1.4.0-1.dsc so run finisched override file through uniq, that now works, no warnings index.html.en update with all the site specific stuff we have done as far as it is usefull for other sites, added Makefile.debian-local improved documentation in Makefile.debian-local for users making new server present state archived as RCS revision 2.1 dbootstrap add CONF_DISK_IDEDMA=1 option to force DMA usage on the target disk also in endfirstrun install base-config script to reenable it, in 2nd stage bug in dbootstrap, fstab was generated wrongly, no / entry was result of code formatting, lost >> part of echo line, corrected dbootstrap add CONF_DISK= option to auto-select hda or sda disk test if there ist an /dev/hda and use that, else assume /dev/sda so no need for multiple boot floppies for different disk types 2003.07.11 Fri dsbg bug report, syntax error in dbootstrap, "(" on line 347, expected "if" tried to recreate error in an chroot, does not happen do test run 90 on hagrid, also no syntax error, assume user error did search on dudley, is an "... ifup( ...", suggests a missing " found one in new code, missing at end of an /bin/echo "..." now why does this broken code work in chroot and on hagrid error only happens after entering hostname/ipaddress, not tested so far while at it, keymap us-latin is not in bootfloppies, replace with us now it does not run endfirstrun, add DEBUG_* functions to endfirstrun while at it also added DEBUG_* Option to leave our scripts, not delete them and rename BASECONF_DIR to SYS_BASECONF_DIR fitting setup-dephys way is because since CONF_DISK_IDEDMA=1 it loads setup-dephys, is not in chroot added copy of /etc/setup-dphys2 to /target/etc, and delete it after dbootstrap allow dhcp for IP-addr/netmask/network/broadcast/gateway/nameservers so no need for multiple boot floppies for different subnets revisit boot-floppies-3.0.22/utilities/dbootstrap for this update function() comments with file.c, so they are faster to find DHCP is all in netconfig.c configure_network() if exist: /sbin/dhclient generate /etc/dhclient.conf and run else run /sbin/pump if ran ok: write_dhcp_network(), activate_static_network() as in non-DHCP write_dhcp_network(), cp dhclient /etc/resolv.conf /target/etc/resolv.conf which generates an small /target/etc/network/interfaces file activate_static_network() after setting lo has test, rest only in not DHCP implemented straight forward code conversion, added if to activating setup-dphys2 add CONF_DHCP and also CONF_IF for eth0 setup-dphys2 static net CONF_* vars and dbootstrap CONF_IPADDR if !DHCP 2003.07.14 Mon test run 91, make tar does not like the if/fi in setup-dphys2, so removed it set setup-dphys2 to non-DHCP, to check if that still works right, OK test run 92 setup-dphys2 to use DHCP and also IDEDMA can not find /sbin/dhclient, ist not on disk, only /sbin/dhclient-2.2.x, corr test run 93, sometimes --- debug info --- is gone uses does not know if he still should wait for it to come added an --- end debug info --- so it is clear when it is debug wait after reboot 02idedma can not find /proc/ide//settings, ${DRIVE} empty works appart from this for 02idedma in endfirstrun move DRIVE= out of here document test run 94, ${DEBUG_LEAVE_SCRIPTS} -> yes, but ${CONF_DISK} -> "" is because first from setup-dphys2, second generated in dbootstrap could use . to run endfirstrun, but that will not do chroot could go without chroot, but that will make it more error prone for users in dbootstrap add an CONF_DISK=${CONF_DISK} onto end of in-use setup-dphys2 test run 95, works now INSTALL updated so it now reflects disk auto-select and DHCP usage present state archived as RCS revision 2.2 dphys-admin package dphys-setup.pl send logfile per mail to root@ but only when running from cron, not at random reboots from init.d for this have cron called dphys-setup.pl do an logrotate, with one older copy 2003.07.15 Tue dphys-setup.pl change from parameter reboot/mail (policy) to init/cron (caller) this allows all logic and comments to be in one place, in dphys-setup.pl improved commenting standards, added sections like in dbootstrap dry run in shell (as non-root) shows , instead of . and 3 strings missing "" these have been in for long time, no error message up to now, damn perl test run, apt-get asks questions, because replacing modified cron.d/... 2003.07.24 Thu fix endfirstrun, add facultative oidentd install, for access to host packages now needed as new package server active, which tests for IP/MAC and root user also needs an further update after this, to get secured package list fix dphys-admin update cron conflict, /etc/cron.d/dphys-admin as template postinst sed it with random number from /usr/lib/dphys-admin to /etc/cron.d dphys-admin added empty /var/lib/dphys-admin dir translated dphys-setup.pl comments to english (were german), for on website added mail to root, if bailing out because of missing package list 2003.07.25 Fri setup-dphys2 set CONF_DEBDIR_LOCAL to official /pub/debian-local, new server and also corrected in dphys-setup.pl, server and path as 2 separate vars dphys-setup.pl copied to website, Makefile ci/tar, README, index.html.en general improvements to index.html.en cvs killed empty /var/lib/dphys-admin dir, produce it out of dphys-setup.pl dphys-setup.pl unlink $reboot_file only if actual reboot, if mail leave, repeat while at it, eliminated redundant $reboot_policy var, direct use $called_by allways delete /root/NEED-REBOOT when running /etc/init.d/dpyhs-admin start moved dphys-admin package from non-free i386 misc to main all admin also converted postinst/postrm/init.d/cron.d comments to english dphys-admin added missing wget dependancy, removed wget from dphys-site diskussion heeb, decided only offer Debian 2.4.18, not random own kern/modules also decided no direct using ext3fs and devfs and tempfs from base install look into how Debians 2.4 boot floppies are organised seems to just be new floppies with newer kernel and modules setup-dphys2 added SYS_DEB*_24 vars, for bf2.4 paths for 2.4 kernel/modules dbootstrap|makeroot|makerescue overwrite non *_24 with *_24, if wanted while at it, reorder setup-dphys2 to correspond to actions, improved comments test run 96, regression test if 2.2 still works, is OK test run 97, test with 2.4 and driver list changed makeroot fails to copy the modules, is hard coded 2.2.20 in path change to 2.4.18-bf2.4 and also change paths below it for net modules kernel/drivers/net, misc unix.o and af_packet.o not used test run 98, broken resc floppy, replaced it, boot dbootstrap fails after download of rescue.bin, can not mount it: mount: Mounting /target/rescue.bin on /floppy failed: No such device seems that kernel does not have loopback devise in it 2003.07.31 Thu dsbg notice that Makefile.debian-local no i386->all links for non-free was disabled because of error as there were none, now are, re-enabled dsbg notice cron dphys-setup.pl logs also "reboot" Subject:, changed "has run" dsbg notice dphys-setup.pl wget on screen, not in log, added >>$logpath same time added also to apt-get update and upgrade existing apt-get s have 2>>, added that to new ones and wget also sh error with echo ... reboot (mail) ... changed to reboot *mail* dsbg notice that multiple reboot *mail* messages, is after every package test only test and real reboot after each, test for mail at end, only test file test run 98, rescue.bin mount problem, File is there, mount point also /dev/loop[0..7] exist, same mayor/minor (7/0..7) in 2.4, same mount binary looks like no loop device, but bf2.4/kernel-config has CONFIG_BLK_DEV_LOOP=y losetup is capable of registering image file, mount then fails a dd if=/dev/loop0 of=/dev/null bs=1024 gives 1440 blocks transfered tried image in floppy, and mount /dev/fd0, same result, not loop device image is SYSLINUX FAT12, so it is not filesystem type/lack, mounts on pomfrey could be missing msdos filesystem, is module, but fat is fixed, same result tried with vfat, and that works, yet annother case of wrong error message but fat is there, but does not react to fat name or msdos name, grrrr switch to vfat, or even use auto, as debian does, with warning message install continues after this is fixed, runs to reboot, but no kernel on disk while looking for bf2.4 config noticed linux.bin file, no need to extract same also for 2.2, the raw kernel is available, no need to extract both have kernel-config, but no System.map files, not really bad also needs /floppy/install.sh, will need incorporating into our dbootstrap 2003.08.01 Fri remote fixed small syntax error in dphys-setup.pl, missing an "if" looks like file got damaged while editing, also missing newlines 2003.08.04 Mon bf2.4 boot problem, decided to not direct fetch kernel from net single files are only kernel+config, no System.map, and no install.sh script dbootstrap change to use -t auto when mountig resc/kernel floppy this produces 3 lines of warning, but does not hang with bf2.4 kernel test run 98, continued, no kernel, /floppy still mounted, run install.sh kernel her, reboot, LILO 01 01 01 01, did not do lilo after install.sh test run 99, clean from scratch, with -t auto fix in it, installed but I forgot to activate endfirstrun, so no ssh etc, by hand, works heeb attempts to run on an Nvidia system and an VIA system fail when loaded from PXE (Nvidia in mkfs, VIA in kernel) when loaded from floppies both systems work as they should at least we can install on these machines, just comfort missing, not critical INSTALL add section about post base install continuation of our install process describe host, site and admin packages, and how they build up the system and provide links to the parts the user can download instead of rewrite endfirstrun add using CONF_HOST_TO_PKG_PREFIX variable, like in makepackage improve commenting in there, so user has easier job configuring it present state archived as RCS revision 2.3 as milestone 3 is reached, make archive copy to ../dphys2-20030804 made tar of dphys2-20030804 as ../dphys2-20030804.tar.gz modified index.html to show the milestone release started new RCS archive with revision 3.0 (unchanged milestone 3) deleted old compatibility links ./debconf and ./makehostpackage redo ../dphys2.tar.gz tar archive of current state complained about missing ./debconf, removed that from archive 2003.08.05 Tue deleted old compatibility link dphys2.tar.gz, missed that yesterday from dsbg intro to making his host packages, example made for hagrid cd dphys-hostbuild/lib echo hagrid > hostname ./genlist.sh hostname # gen dhcp.add, fetch types/`hostname`/ssh_host_* cd .. ./BUILD.sh # dphys-host-hagrid/, dphys-host-hagrid/info.txt cd dphys-host-hagrid/ vi config # monitor/keyb debuild # dphys-host-hagrid_1.0-1_all.deb etc index.html.en fixed missed edit, status current->milestone3, current empty (re)read "Debian New Maintainers' Guide", for new source package based .debs 2003.08.14 Thu continued (re)read "Debian New Maintainers' Guide" setup-dphys2, dbootstrap, INSTALL added option for no swap partition only make option for partition/none, for file set to none and add later so simply set ${CONF_SWAP_SIZE} to 0 or comment out its definition also avoids trouble if user gives 0 and system tries to mkswap/use it test run 100, no problems all mounting seems to be in /etc/rcS.d, check when swap need to be up before S35mountall.sh the swap file needs be be ready but also used in S10checkroot.sh, for while fsck, and that before writable 2003.08.15 Fri make package dphys-swapfile to set up and later resize existing swap file run between rcS.d 30 (fsck, /var ready) and 35 (mount, uses swapfile) making 1G takes 25s and mkswap 5s, so not every time, just when resize compute new size, compare with old, if diff remove and make new if config file do that size, else 2*RAM, usually about 1G looking at host berlin, only 1.9G free from 10G disk, is 1.8G apt cache add an apt-get clean to dphys-admin, as unlikely to reinstall, have LAN decided to auto-select 2*RAM, unless user config /etc/default/dpyhs-swapfile also limit to max 2G kernel limit script is an init.d, will start on reboot, also run once on pkg install added --purge to drop swapfile from fstab, swapoff, rm 2003.08.21 Thu investigte how dsbgs dphys-hostbuild works, what it does dphys-hostbuild/lib/genlist.sh is just fetch host specific data dphys-hostbuild/BUILD-sh builds directory structure, then in dir run debuild main thing run by debuild(dpkg-buildpackage) is /install.sh that . executes user edited /config and generates all real files 2003.08.22 Fri further investigte how dsbgs dphys-hostbuild works debuild actually runs /debian/rules Makefile, that runs /install.sh is a standard Debian example rules fule, using dh_* stuff, not transparent dh_* many names, need each lookup in man pages, replace with direct code Debian standard seems to be dphys-buildpackage->debian/rules->dh_* and dh_builddeb->dpkg->dpkg-deb to actually make the package dphys-buildpackage is from dpkg-dev, tools for makeing source packages, use dsbg uses debuild, which may do dphys-buildpackage or direct debian/rules is from devscripts package, like debhelper added on stuff, don't use decided on structure for generating packages, direct in CVS dir: dphys-host-`hostname`/ # source dphys-host-`hostname`.tar.gz # make tar of source dphys-host-`hostname`/debian /tmp /DEBIAN # debianisation and work dphys-host-`hostname`.deb # resulting package dphys-host-`hostname`.dsc # resulting description dphys-host-`hostname`.changes # resulting ??? process stuff in 2 stages: makehost hostname # fetch data, gen source + .tar.gz, user edit (opt?) makesrcpackage # run ./configure + make + make install + deb -> .deb etc 2003.08.28 Thu build first package, use crashed.8 man page as example, with like old tools looked at $DESTDIR stuff, is not $PREFIX but before it Makefile set to empty, in dpkg-buildpackage -> debian/rules to debian/tmp like heebs dphys-find-printer add an upstream README and Makefile actually crashed.README and crashed.Makefile with symlink Makefile Makefile non-root install abort with exit 1, also same in dphys2 Makefile put stuff in debian/* : changelog, control, copyright 2003.08.29 Fri entire day Fileserver faillure, no work got done 2003.09.04 Thu continue building first package, debian/* : rules in debian/rules conver DNMG example to non-dh_* usage moved all Debian specific logic (installing README) into debian/rules Makefile changed crashed.README -> README, crashed.Makefile -> Makefile added make uninstall and make tar targets for compelteness, tested running make install or debian/rules install needs root, no root-squash move all stuff to non-NFS /scratch, tidy up there /scratch/$user/src/* Makefile can not call shell with \n in input, no here documents possible put postinst and prerm as files in debian/ package compiles and generates and installs 2003.09.05 Fri continue with managment of first package, source/dsc/diff/changes undebianised source and tar, then debian renamed source then re-add Makefile changes and debian/* stuff, generate all file pgp crashes because no key, dpkg-buildpackage aborts, use -uc -us lintian error, no changelog.Debian.gz, was as changelog.gz, rename warns because version 3.5.2 newer than it knows, potato problem, use maine requires new install lintian, emacs, dh-make warns no Section/Priority in binary control, add -isp to dpkg-gencontrol rebuilding on maine dpkg-buildpackage now dislikes 3.5.2, aborts dh_make also generates with 3.5.2, so not version number problem remove empty Build-Depends: line, now it works makes .orig.tar.gz, -2.diff.gz, -2_all.deb, -2.dsc, -2_i386.changes -2_i386.changes is i386 despite -2_all.deb being all, no use anyway, delete heeb has only .tar.gz, no .orig.tar.gz and -2.diff.gz, Debian-specific this is sensible, switch to doing it this way, delete .orig.tar.gz rebuild automatically now makes an .tar.gz, no .orig.tar.gz or -2.diff.gz copied .deb, .tar.gz, .dsc files into local package server, made indexes apt-get update and apt-get install crashed works on hagrid and maine 2003.09.11 Thu dphys2 tidy ups: Makefile replaced ! $$USER = root with `whoami` != root endfirstrun remove apt-get inside while option, as g77 etc from dphys-admin endfirstrun eliminate IDE DMA stuff, as now only short install, then reboot endfirstrun eliminate /etc/kernel-img.conf "really ugly nasty workaround" 2003.09.12 Fri made straigt forward script to generate an source packages files with a few thigns (pkg name, date, config, ...) parameterised var names and contents taken from old makepackage, so later easy merge 2003.09.18 Thu investigate why man-db in base install now asks questions at home (Mon 15) but not at work (Tue 16, by heeb), postinst has "medium" question version is 2.3.20-18.woody.4, looks like from proposed-upgrades, but both use is because I did not use endfirstrun at home, as I have no host package so no db_set debconf/priority critical set, then updated man-db shows test run 101, without endfirstrun, see what happens hangs also, with man-db question, is in /u/l/dpkg/methods/apt/install called by 75-apt-get, doing apt-get dselect-upgrade, gets new man-db looks like this was an security of propoed update fix, now test for "seen" we did not notice it until now, because of endfirstrun, fix it for others in debconf-preload added rule for man-db/install-setuid seen + true then test also runs into exim trouble, hangs demanding input, is in 77exim debconf-preload killed x bits on /usr/sbin/eximconfig, because not debconf update set them again, when overwriting with updated version safer method to stop config, make dummy /etc/exim/exim.conf with "ignore" test run 102, without endfirstrun, to test all stuff install failled because wrongly typed IP address, net not found, no kernel is work to type in, and also needs config file edit, so set DHCP as default update INSTALL to reflect this change in default, and in actions works now, no questions asked makesrcpackage test impored changes from crashed edits at home Makefile (no effect as changed code not in generic package) postinst+prerm (\$1 and $${PKG_NAME} already fix, deleted senseless comments) rules (eliminated unneeded PKG_NAME= and fitting ; \ to make it usable) solve escaping problem, postinst + rules lines with \ smashed, use \\ test run makesrcpackage (test), changelog date format wrong, ISO->RFC runs now until test if user is root, that fails, despite using `whoami` 2003.09.19 Fri experimenting with fakeroot, `whoami` gives franklin, whoami gives root (whoami) als gives root, so it is not a subshell problem echo ${LD_PRELOAD} with all 3 methods, first 2 work, 3rd fails fails because executed when running shell script, not when doing make->sh and that is what also kills `whoami`, it runs when generating Makefile complaint install too few arguemtns, and copyright file missing, ; too much after fixing that still complaint, no clean, file is there lintian complains about too newer version, test runs on arizona now complaint about no copyright file also gone, lintian too old, works now 2003.09.25 Thu makesrcpackage, merge test script logic with makepackage interface/process drop generating the pretended "upstream" changelog, native Debian packages drop default Depends: as main use of host packages is now moot just use -d to add any Depends: one wants, no -s or -b to set it either use -s to set SYS_SECTION var, default admin (not misc as up to now) eliminate ${DOCDIR} and ${DEBDIR} as these are fixed by standard rename ${PKGDIR} to ${PKG_DIR}, structured like other variables add DO_GEN making an upstream package, before debianising starts introduce new ${DEB_DIR} for ${PKG_DIR}/debian, convert while working through move making control file up before rest debianising, extend it for source also change modifying an existing one, at same place compute package version drop generatiogn filename, done by Debian drop fixing version in control file, as it is not there, taken from changelog changelog save possible existing one and tag it onto end of new one 2003.09.26 Fri further with makesrcpackage, completing it added making debian/rules, direct after making postinst/prerm do this while generate, not while packaging, so user can change it converted from @PKG_NAME=\`grep ... and \$\${PKG_NAME} to ${PKG_NAME} converted extract to use the source tar ball, not the .deb (lacks stuff) move expand stuff to after similar clone stuff, part fixed that pack section taken all run-*: from rules and put them directly in script as they are not part of what debian expects in an rules file move cloning (and extracting) after debian directory made not just modify control, but also package name in postinst/prerm and rules was bug in old makepackage, corrected old program also for postinst/prerm heeb/dsbg Discussion about dphys-host-* packages, too much work to make/change they now only contain ssh Keys and config vars file for dphys-setup-* so better just configs and keys as http://configserver/xxx/`hostname`/config and have the dphys-setup-* source it, and use the set variables so all machines same packages, no dphys-host-* packages, just dphys-site exemption is dphys-kernel-* as a package can not chose and apt-get annother in endfirstrun put in open apt-get which gets list from http://.../config source .../config; apt-get install `echo DEPENDS_ROOT` this shall contain dphys-kernel-*, dphys-site and host specific additions 2003.10.02 Thu test makesrcpackage, improve output, formatting of script header lines for too long copyright line, want line break, need # after break in scripts do not want # in text files, use `sed << EOF2 ...` inside here document additional Depends: or other options belong in binary part, not source part clone does not convert all mentioning of package name 2003.10.03 Fri test makesrcpackage, fix remaining clone bugs, rename in Makefile and README up clone these after make these, so clone before make upstream, debdir also change all sed rename package operations to use "g", for mult on one line cloning debian/control missing rm debian/.control missing renamed makesrcpackage to makesourcepackage fount that cloning does not set 755 for postinst/prerm and rules, added put in DEBUG_*= option for not deleting temp files (.../debian/temp/*) corrected referrences to .deb to package files, as now multiple files present state archived as RCS revision 3.1 convert existing binary packages to using makesourcepackage dsbg leave old hosts arizona,bludger,dudley (will be deleted later) do as last with him site (he is actively working on it) every package that is converted and on server, remove from CVS do all other dphys-build/*/DEBIAN: admin, host-hagrid, ide-dma, reboot, site-franklin-experimental, swapfile, user-info additions to makesourcepackage, make removing *.changes file an CONF_* option add -u upload function, for uploading files to our local Debian mirror this gets rid of awfull link farms in /pub/debian-local/ and dphys-build also call make to update package list file, Makefile added targets for this parallel to -u also -f fetch to apt-get source the package this needs correcting the packagename-version dir to just packagename 2003.10.09 Thu chat with first potential externel dphys2 site decided to use part, own installer, but use debconf-preload dsbg we now have new machines which will work neither with woody 2.2.20 nor with woody bf2.4 2.4.18 kernels, need own kernel on resc and root modules look at debian boot floppy generation process, not needed for this just overwrite files on resc floppy, and different modules source for root unpack/compile 2.2.25 and 2.4.22 kernels to see what we can expect for stuff to extract needed files from to build an resc and root with custom modules both 2.2.25 and 2.4.22 compile with Debian .config and make oldconfig give kernel in arch/i386/bootbzImage, modules in net/*/*.o drivers/net/*.o 2003.10.10 Fri changed all CONF_KERNEL_24 to CONF_KERNEL_BF24, SYS_*_24 to SYS_*_BF24 as this is only 2.4 using bf2.4, not 2.4 general changed bf2.4 no misc modules to overwrite modules list, then generic test put single CONF_KERNEL_BF24 reassign all vars just after . ./setup-dphys2 added test for module list also for net modules, in case non-modular kernel various attempts make oldconfig additional questions automatic yes '', fails seems to open /dev/tty, but even ssh localhost has no effect at this rubi and dsbg claim that automated kernel config is impossible, eh RH fails so just extract .config and let user do oldconfig and then come back for own kernel setup-dphys2 option with path to kernel tar archive, to unpack fixed typo "Deparement" cut&pasted into all files copyright notices reorganising for self-compile, need .config, separate resc download from inst also separate root and drivers download, need no drivers for self-compile self-compile as normal user, same downloads, and installs if mode /dev/fd* OK so $CONF_WORKDIR needs to be user made, not root, better already in tar as in tar, hardcode $CONF_WORKDIR = "work", so make that SYS_WORKDIR consequent get rid of $CONF_PREFIX and $CONF_DPHYS2, use relative path rename rescue to getrescue, clone it for getroot and getdrivers for rescue just cp rescue.bin rescue-dphys.bin, installrescue use that root remove download code, as now in getroot and getdrivers added targets installorigrescue and installorig for unchanged floppies as get/make/installorig/install-resc non root possible, clean should also be so no leaving root owned subdirectories with files in them in it were only left for debugging anyway, so make this DEBUG_LEAVE_UNPACKED test run 103, regression test on the multiple changes up to now various small ommissions corrected, make get* has /bin/sleep problem make install wants to redo make and that make get* make circular getrescue <-> $(SYS_WORKDIR)/rescue.bin 2003.10.16 Thu test run 103, continued, changes all get* scripts to makeget*, avoid circular root keeps reloading, is wrong dependency (SYS_WORKDIR)/root.bin no .gz this also got rid of make cascading back to new loading makeget* /bin/sleep error, is missing $before {DEBUG_SLEEP} make install, boot, floppy CRC error, format, verify fail, replace floppy fails because no net modules on disk, so no connection to install from was false variable name, SYS_MODULESNET -> CONF_MODULESNET test run 104, works now started script makerescue, first just copy debian rescue 2003.10.17 Fri makerescue coded it out, tests, works, produces rescue image and driver.tgz discussion with dsbg about how user shall use this, wants 2 steps rubi remarks that not just while making rescue and root but also again needed when actual install, make floppy image and drivers.tgz also requires these to be put on HTTP reachable server space so this splits it into "process kernel" and "build installer" phases start designing how to organise stuff, needs to have step 1: unpack kernel, insert debian .config (standard|bf2.4) needs kernel tarball file (or URL?) and standard|bf2.4 rescue URL step 2: user does whatever is wanted for config (make oldconfig or other) step 3: compile and package rescue|drivers.tgz and upload to HTTP server needs (nfs?) path to web server to store it step 4: normal make rescue|root using above rescue|drivers.tgz, normal root generating own rescue(rescue) and root(root|drivers.tgz) needs own rescue|root|drivers URLs, instead of standard|bf2.4 ones step 5: run on machine fetching rescue and drivers.tgz for install needs same as above, step 4 2003.10.23 Thu dsbg|heeb new features for endfirstrun and dphys-admin dphys-setup.pl endfirstrun change from loading host package to direct load site package generate config files with base URL for dphys-setup-* finding host configs with ssh-setup and x-setup wgetting http://.../hostconfig/`hostname`/files dphys-admin dphys-setup.pl change to same base URL usage and variable name instead of having endfirstrun load kernel/etx3/devfs, then site package rest dphys-setup.pl add to pkglist also fetch host dependant [pre|post].pkglist 2003.10.24 Fri dphys-setup.pl rename pkglist to main.pkglist, then merge to merged.pkglist for old dphys-admin users symlink pkglist->main.pkglist after merge , also bail out if empty, not just if no file dphys-setup.pl NEEDS-SCRIPT to analog NEED-REBOOT unlike touch NEED-REBOOT packages do echo command >> NEEDS-SCRIPT as Depends: may have fetched multiple packages, use >> and loop lines dphys-setup.pl option for nice "$INPUT" | apt-get install endfirstrun->/u/l/b/99sitepackage->dphys-site->dphys-admin does not start inst is because reboot into dphys-admin was by kernel install from endfirstrun so instead have endfirstrun allways do an reboot, to start this dsbg test only 2 reboots, missing 3rd from kernel install, was config error dphys-setup.pl works, but leaves unused /var/lib/dphys-admin/pkglist have dphys-admin postinst delete this old file on upgrade makesourcepackage fix -u to go to proper main/contrib/non-free section this info is also contained in the control Section: variable up to now this assumed to be only subsection, massive bug, correct it split ${SYS_SECTION} into main and sub section before using it 2003.10.30 Thu makesourcepackage -u test, problem was file access rights, corrected but also trying to delete non-existing files, put in an test for that also possibly directories for the particular Section: not existing, make them dsbg bug reports in dphys-setup.pl, apt-get upgrade -> dist-upgrade else new packages fetched by dphys-site do not get installed also no NEED-[REBOOT|SCRIPT] test after (dist-)upgrade put in this test/action twice, and move test for mail to root after upgrade makepackage forgot -p, no action, no damage, but also no error message improve makesourcepackage with test for non-action and error message makesourcepackage -u test, when -g -s and then later -p -u places wrongly change -u to get section it uses from control file Section: line heeb improvements for dphys-setup.pl after every line test NEED-[REBOOT|SCRIPT], in case | needs it nedd an install even if package here, for possibly early upgrade change ! from useless --reinstall (only symmetry to --puge) to doing this discussion heeb about implementing version number and changelog entry when -p he prefers to edit all in emacs changelog mode, then run without generating so use the top changelog entry, facultative add an entry and then use that 2003.10.31 Fri makesourcepackage make version number stuff facultative DATE_NUM and DATE_RFC only for changelog, so move/integrate there remaining DATE_STAMP only for DO_GEN last modification, so move to there merged make version number into make changelog, as only used there changed option -l from level to log, for trigering changelog and log text if [ "x${DO_CLOG}" != x ] fouls up on multi-word log text same should be for -d depends and -o option, they use "x${DO_*}" when generating touch an empty changelog file, for emacs dired users to open merge the paired make/generate and close sections, tidy comments packaging test if no changelog entry, if so abort with error message setup-dphys2 default swap off (for using use dphys-swap or similar) dphys2-swap worked over dphys-swap, /etc/rcS.d script S32 is too early, /var may not be mounted (only in S35), use S37 S37 after swapon in S35, so need own swapo[n|ff], no line in fstab, comment 2003.11.06 Thu further with converting dphys-swap to dphys2-swap, make upstream Makefile move over existing changelog (uncompressed and renamed) to start new one move over existing conffiles, fix packagename in /e/i.d/ extend makesourcepackage to insert conffiles into package also more than just README upstream doc, improve commenting dh_* sections also to conffiles and postinst|prerm add also preinst and postrm also install init.d script from debian/init.d, not in upstream Makefile postinst angepasst, kein swapon, da init.d start das schon macht prerm macht eh nix, standard nehmen postrm muss nicht mehr benutztes swapfile loeschen kann nicht /e/i.d/d2-s purge benutzen weil das bereits geloescht ist 2003.11.07 Fri makesourcepackage -c bugfix, test all files if they exist, before sed-ing postinst|prerm also added preinst and postrm for renaming dphys2-swap init.d makesourcepackage to modify/generate postinst and postrm makesourcepackage rules file call to execute this section test dphys2-swap run on hagrid, got new hardware, unknown contents also unknown possible hardware trouble, so do test install from scratch test run 105, no trouble appart from changes MAC addres, auth faillure dphys2-swap upload to package server, apt-get update and install, OK stop and start, OK, remove and install, OK, purge and install, OK rebuild package with newer version number, apt-get update and upgrade, OK tidying up, makesourcepackage -r dphys2-swap, gave "no option" did -t, all dphys2-swap gone (but on package server), fix -r false error 2003.11.13 Thu deleted old dphys-swapfile package from server, only in use on my home machines mail from second potential externel dphys2 site mail from FAI developer, whether I know it, and what the differences are makesourcepackage added test for ~/.gnupg or ~/.pgp and have dpkg-buildpackage sign packages if either is here makesourcepackage added test / at end of package oder clone name, strip it same if _ in name, strip version stuff after it, just base name help added comment on using init.d file, and calling it while -p index.html rename dphys-swap to dphys2-swap and link .tar|.dsc|.tar.gz files doku remarks that PXE net boot is possible (user failled to notice it) added remark that makepackage is deprecated, use makesourcepackage makesourcepackage moved -r remove step to after -u upload, more usefull Makefile.debian-local complete process for contrib, now there are src there dphys2 root disk option to autoinstall dphys2-swap package setup-dphys2 option, makeroot copy into root image dbootstrap copy into target system and install base-config script dropped use of SWAP_TYPE variable, directly use CONF_SWAP_SIZE base-config script install package using dpkg --install for this endfirstrun SYS_BASECONF_DIR in setup-dphys2, for dbootstrap also same with DEBUG_LEAVE_SCRIPTS, renamed to DEBUG_LEAVE_BC_SCRIPTS enfirstrun eliminate last CONF_* variable, direct in code, simpler 2003.11.14 Fri dsbg bug report, makesourcepackage -c error: dphys-local-sound=dphys-local-sound: command not found was from / and _ elimination, ${var}=..., oops, corrected to var=..., works dphys2 autoinstall dphys2-swap package finished additions test run 106, .deb missing in .tar.gz, added, install on HD claims disk full is test for CONF_SWAP_SIZE directly reversed vs SWAP_TYPE test run 107, works until making 45swapfile, missing, add /target/ in front hand typed script, did not run, chmod 755 missing, also in real script, add also missing exit 0 so base-config complains, added it test run 108, chmod 755 add /target, rest OK, move before apt-setup, to 27 2003.11.20 Thu dphys2-swapfile fixed init.d script bug, missing output redirect to /dev/null makesourcepackage -g when debianising existing project directory don't overwrite existing Makefile and README files dphys2-swapfile added an example config file in /etc/default/dphys2-swapfile extended makesourcepackage to install such an config if existant testing noticed init.d start when already running gives swapon error same on init.d stop if not still running, or on deconfig, correct this changes to use variable names CONF_SWAPFILE and CONF_SWAPSIZE CVS deleted old dphys-swapfile stuff, package also gone, and no use any more setup-dphys2 option dphys2-swapfile tidy up code in dbootstrap put entire part that works in /target in subshell ( chroot /target ... ) setup-dphys2 option to silence debconf, CONF_* variable, not in endfirstrun test run 109, ( ch /target ... ) fails, "no such directory" seems to stop after first newline, possibly needs \\n, awfull try first with chroot and rest of stuff as here document test run 110, chroot target sh gets here document, but dislikes > inside it is because ${SCRIPT_SWAPFILE} set at here document run time, but used before 2003.11.21 Fri test run 111, seems that Debian has broken the base install over night debootstrap tries to download libidentd from the potato(!) archive dsbg 2.4 floppy set auto-reboots before getting there dsbg net 2.2 floppys on other machine also libidentd 404 obri reports on #symlink that debian has been hacked, don't update/install dpkg /v/l/d/available File is missing new packages, not being updated endfirstrun and dphys-setup.pl add apt-cache/dpkg code from debconf-preload dphys-setup.pl for - and * use dpkg --remove and --purge instead of apt-get apt-get [--purge] remove doesn't find depends, we know what we want to kill dphys-setup.pl for - and * test if package is there, so no error message 2003.11.27 Thu test run 111 continued, Debian works now again, no potato references any more dphys2-swapfile still messes up output, with "Adding Swap: ... (priority -1)" between the keeping it and , done. outputs from init.d script test swapoff/swapon has no such output, but it appears on the console is kernel -> klogd -> syslogd which is doing this, no option, leave it mail from third potential externel dphys2 site endfirstrun remove the commented out 01debconf stuff endfirstrun after install dphys-site, call /e/i.d/dphys-admin start, no reboot directly exec it, terminating last /u/l/b-c/* script, as if after reboot 2003.11.28 Fri makerescue reworked, ${LINUX} because 2.4 directory linux- and not linux option for users premade .config, instead of extracting Debians one allways make oldconfig, no shell for user to build an config, assumed done use .config from dsbg custom kernel, ~/src/dphys-build/dphys-kernelgen/types select most conservative processor option, PentiI and 1GByte .../p1-1gb with DEVFS stuff removed, install stuff can not handle devfs style naming compiled, now ready to package as rescue floppy image and drivers.tgz file third potential externel dphys2 site has decided to use dphys2, starting now making an modified dbootstrap to install server+raidctrl specific stuff 2003.12.04 Thu heeb dislikes case makesourcepackage in init.d as it confuses binary-only users who do not understand it, can not debug make separate script, for config only in one place have this modify init.d changed makesourcepackage to call this separate script move all init.d, default, conffiles stuff to the script swapfile syslog output cannot be prevented, so finish our line before syslog dsbg dphys-setup.pl continues installing after package with NEED-REBOOT resulting in partially installed package when actual reboot takes place is because /sbin/reboot only sends signal, then returns, added exit 0 makerescue only missing server upload, do test of building floppies test run 111, make rescue, tries to compile in /root, ${LIUNX}= fixed can not mount drivers.tgz for modifying, missing mountpoint fixed no ./work/drivers.tgz found, Makefile missing dependency 2003.12.05 Fri makerescue Makefile missing dependency fixed test run 112, still tries to compile in /root, ${LINUX} still empty string was -f test which fails on directory, needs -e or better -d test run 113, starts make oldconfig but then asks questions, because no .config was not copied in because ${LINUX}/.config does nto expand, with no .config test run 114, compiles, make root works, config error 2.2.20 modules, changed now reloads drivers.tgz and builds with 2.4.18-bf2.4 as path Makefile/makeroot out of sync with makerescue, update to fit new situation 2003.12.11 Thu Makefile tidy up generation process, so allways propper rescue+drivers used just makeroot dependency on drivers-dphys.tgz version, and then use this complete dependency for drivers-dphys.tgz, aliasing for rescue-dphys.bin test run 115, compile slow makerescue added -j 4 to make bzImage and modules tar -*v* output, remove v, only right if were debug output select make drivers (oder root) wants to recompile rescue make -dn shows no remake rescue-dphys.bin and drivers-dphys.tgz but wants to remake drivers despite this, may be an bug in make try compile on arizona, with newer make, is "drivers" target no such file, autoexpanded to "drivers.tgz", that is older than -dphys hotti remark that this implicit expansion can be prevented with .PHONY: changed it and works now, make root does not recompile rescue/drivers 2003.12.12 Fri rubi configuring bb to evaluate dphys-setup.pl Mails, change requests setable email address for sending error/warning/status mails to and of program status report allways, not just when from cron so change also message (and reboot) to include $called_by for full info found bug, "no pkgfile" Error test should allways mail, not just on cron messages dphys-admin then cron/init.d, added ERROR, WARNING, INFO after that makesourcepackage -u bug determines architecture all vs i386 wrongly is because when not -g -s and -u in same run, ${SYS_ARCH} set to default same bug as on 2003.10.24 Fri with ${SYS_SECTION}, same fix but grepping ${DEB_DIR}/control only works if package is available unpacked better read info from package file to be uploaded, dpkg -f ${PKG_DEBNAME} this also solves problem of -u not finding /debian/config when foreign made package is in an - dierectory test run 115 continued, try install on hagrid, should do first stage fail reboot because drivers overwritten with 2.2.20, or missing drivers kernel loads (so syslinux is ok), but can not mount root floppy CONFIG_BLK_DEV_FD is configured as module, from dsbgs standard kernel test run 116, make rescue works, make root wants to recompile, grr touch ${SYS_WORKDIR}/rescue-dphys.bin seems to have not been done is because of outdated makerescue file, no touch in it boots, finds floppy drive, but can not mount root fs from it CONFIG_BLK_DEV_RAM is also needed, dito later CONFIG_BLK_DEV_LOOP test run 117, loads kernel, finds/unpackes/mounts root fs mount ext3fs complains about no journal, as allways ext2 in dbootsrap -t ext2 depmod can not open /lib/modules/2.4.22/modules.dep cd can not change to /target/lib/modules/2.4.22/modules.dep using shell see no /lib/modules/2.4.22/*, still some useless 2.4.18 stuff also see /target/lib/modules/2.4.18 stuff, no 2.4.22 at all makeroot not only needs new drivers-dphys.tgz, but also new paths 2003.12.18 Thu tidy up *_BF24 variables, SYS_DEB* file paths only in makeget* and dbootstrap SYS_MODULES* modules stuff only in makeroot, none at all in makerescue started designing how to handle modules directory selection for custom kernels put /lib/modules//* into SYS_MODULEVER, for custom kernel 2003.12.19 Fri converted my development machine to dphys2, as 4th last of our >100 machines refetched .tar.gz, redo config/endfirstrun/setup-dphys2, reget kernel .tar.gz makeroot module directory handling, change SYS_MODULES_MISC to CONF_*, like net moved all SYS_MODULEDIR stuff to makeroot as only used there, no SYS_ there place it inside BF24 tests, them direct where used changed SYS_MODULEVER to MODULEVERS, 2.2.20 or 2.4.18-bf2.4 or custom for custom extract version number from linux*/Makefile changed MODULEVERS to KERNELRELEASE, as used in linux*/Makefile 2004.01.08 Thu heeb Problem with dphys-setup.pl, is dependant on path containing /sbin should be independant of broken settings in init vs cron vs interactive all system() added full paths to all commands in there, dual for pipes dphys-setup.pl make code more perl style, reduce system() usage all system("/bin/echo ... >> $logpath\n") -> print LOGPATH "...\n"; all system("/bin/echo ... | /usr/bin/mail ...\n") -> print MAIL "...\n"; all system("/usr/bin/mail ... < $logpath\n") -> print MAIL while ; test need script before test need reboot, so can still be run before reboot test reboot each package log "ignore", rename to need reboot mail then end test mail log and send "mail", rename back to need reboot testing dphys-setup.pl error because print to not open file is opening of LOGFILE (/var/log/dphys-admin.log) that failled is generated new with >>, but that is not problem, was access rights repace with /tmp/dphys-admin.log for test run and it works again testing dphys-setup.pl error `` not evaluated in "", so take them out, use . testing dphys-setup.pl error is not fetching pre and post, instead directory! is because `hostname` is now adding an \n, use an chomp; testing dphys-setup.pl hanging in all "nice yes", ctrl-c goes further 2004.01.09 Fri dphys-setup.pl hanging, look at ps, executing "nice" as user script ~/bin/nice instead of using shell builtin (as claimed by "which") but that is tcsh "which", the bash "which" sees this different and nice script does ssh nice.ethz.ch, which is not pingable host any more nice schould be actually /usr/bin/nice, is not sh internal, so use full path makeroot further with proper modules paths, 2.2 and bt2.4 also KERNELRELEASE generally convert all scripts to full command paths, PATH independant, robust missing /*bin/, look after | and after `, look for cut without /usr/bin dbootstrap, debconf-preload (incl system()->perl), endfirstrun, makeget* makerescue, makeroot, makesourcepackage, Makefile, Makefile.debian-local dphys-admin init.d and dphys-setup.pl set environment PATH to safe value 2004.01.15 Thu makeroot looks like OK, rest most likely just dbootstrap test run 118, updated config (unchanged), endfirstrun and setup-dphys2 fetched 2.4.24 kernel for further experimenting, so it/config is tested now also using bz2 kernel, tar wants -I -> -j, so not unpacked make rescue screwed itsself, put in text for successfull unpacking make oldconfig asks new questions, answered, saved new .config make install, boot, crashes after not finding eth0, no modules found work/modules-dphys/ has empty lib/modules/2.4.18-bf2.4/kernel/drivers/net/ test wrong way around, so not made proper KERNELRELEASE, so no copy test run 119, unresolved symbols when trying to load modules in EEPro and RTL is missing mii.o, is module now, bf2.4 has it in, search for .config option no option, is automatic, compiled in if used by compiled in driver noticed missing tulip.o driver, is because in 2.4 tulip/tulip.o, cp -p -> -a test run 120, mii.o gets copied, but tulip/ missing, forgot copying makeroot test run 121, works until mounting downloaded rescue.bin, no msdos filesystem test run 122, works boot/install under 2.4.24, but then still installs bf2.4 after reboot into 2nd phase, normal bf2.4, rest works, can ssh login at end makeroot change to extract kernel version from modules directory instead of complicated logic and setting or extracting from kernel source rename KERNELRELEASE to KERNELVERS, as more usual name for it test 2.2/2.4 and only do misc install if 2.2, var back to SYS_MODULESMISC test run 123, works same, just better code 2004.01.16 Fri eliminated unused variable SYS_MOUNT_ROOT from setup-dphys2 present state archived as RCS revision 3.2 makesourcepackage improved some comments, in option parsing worked out logistics of debian and our disks and files: make rescue: deb-rescue + deb-drivers + kernel -> dphys-rescue dphys-drivers (uses getrescue, getdrivers, new putrescue + putdrivers ?) make root: deb-root + dphys-drivers -> dphys-root (uses getroot, new putroot?) make installrescue | install: dphys-rescue | dphys-root -> floppy (uses local copies, go to net?, needs putrescue and putroot?) dphys-root-floppy(dbootstrap): dphys-rescue + dphys-drivers -> HD (uses direct wget, needs putrescue and putdrivers?) uploading compiled rescue and drivers.tgz, for the moment makeputrescue script 2004.01.22 Thu logistics of compiling custom kernel and making rescue/root/drivers uploading rescue/drivers must be as user, as root has no NFS access but creating rescue need root for loopback mount and write privs decided to compile as root and use su with user provoded username to upload paths designed to do upload and later fetching, parallel to Debians paths use path variables also parallen, change makeputrescue to use these 2004.01.23 Fri custom kernel upload paths and vars finalised, works integrated into makerescue, delete makeputrescue (which anyway put all 3) in makerescue only put rescue.bin and drivers.tgz, not root.bin(.gz) dboostrap change to use these own files from our site, just 2 wget URLs test run 124, fails to mount wget-ed rescue.bin, because rescue-dphys.bin name 2nd console mounted, fails to get rest of drivers for same reason, else works 2004.01.29 Thu tidy up usage of paths/filenames/mountpoints/variables in work/server analyse where everything is at the moment, collect info into 1 file makerescue and makeroot (work paths + names), dbootstrap (only names) eliminate dbootstrap from this, using /target/`basename ${[RESC|DRV]}` naming so now independant of file name on HTTP server, in [RESC|DRV], from setup while there merged normal/BF24 test into same if/elif/else as OWN/DEB test 2004.01.30 Fri makerescue build/upload and makeroot get require 2 separate work directories SYS_[RESC|ROOT]DIR and ./[rescue|root], makerescue, makeroot, Makefile makeget* remove unneeded BF24 modification, switch to dbootstrap style "if"s insert makeget[rescue|drivers] into makerescue, [root|drivers] to makeroot delete makeget* files, from Makefile (makerescue makeroot ci tar), from RCS generate [RESC|ROOT]SYS_DIR in make[rescue|root], no empty dir in .tar.gz makeroot fetch root image and drivers.tgz (even own drivers.tgz) from server makerescue no useless copying of rescue/drivers when not building new ones makerescue gets rescue + poss drivers, makeroot gets root + deb/loc drivers make[rescue|root] rescue/drivers/root filenames from server with `basename` so also independant of file names on HTTP server, names from setup makerescue upload also use filenames from own server with `basename` 2004.02.12 Thu dsbg dphys-setup.pl Bug, test for | edit missed, has ?, fixed make* path tidy up, mountpoints only temporary, always delete and remake use variables ${*FLOPPY} for the mountpoints ${SYS_*DIR}/floppy rename SYS_[RESC|ROOT]DIR to SYS_[RESC|ROOT]WORK tidy up SYS_*_ON_* vars, add missing ones, rename stuff that should be here SYS_DRIVERS_TGZ -> SYS_DRIVERSTGZ_ON_FLOPPY, added SYS_DRIVERSTGZ_ON_TARGET SYS_LILO_CONF -> SYS_LILOCONF_ON_FLOPPY added SYS_SWAPDEB_ON_FLOPPY and SYS_SWAPDEB_ON_TARGET added SYS_ENDFIRSTRUN_ON_FLOPPY and SYS_ENDFIRSTRUN_ON_TARGET rename CONF_KERNEL_BF24 -> CONF_KERNEL_24, as also for own 2.4.* kernels eliminate SYS_BASECONF_DIR, direct in code, as fixed Debian directory updated INSTALL text, how to configure and use 2004.02.13 Fri checked for conflict setup edit for new subnet vs kernel recompile is OK, Makefile stuff for root does not depend on stuf for rescue test run 125, makerescue and install ok, makeroot no ./root/root-dphys.bin.gz ./root/root-dphys Directory looks ok, but no disk image made from it 35 bytes root-dphys.bin, but output claims to have made/mkfs-ed 8M space is ${SYS_OWNROOT}, basename root-dphys.bin, gzip -c overwrites data reworked entire handling of Debians missnamed (.gz missing) root images keep Debians naming, and just convert for while extracting and packing compres own image normaly, then rename if user wants this test run 126, "this disk uses the linux kernel" and then bf24, despite own is in rescue, file debian.txt, edit it with sed, version from setup-dphys2 makeroot OK, dbootstrap fetches rescue image, but can not find basename is not part of root image mini system, so can not be used, emulate it mounted by hand, run further, rest ok, endfirstrun error is config, corrected test run 127, works, just unresolved symbols in 8139too.o and tulip.o these are most likely problem of my .config, not in software itsself, ignore decided to include no .config file in with software, extend Debians .config it won't fit users kernel anyway, and gets rid of problems what in there update docs about changes from last (3) milestone, FAQ, INSTALL 2004.02.19 Thu update docs about changes, README, index.html.en release 4th milestone, copy to ../dphys2-20040219, make tar file of it modified index.html to show the milestone release deleted old makepackage from current, file temporary link to milestone started new RCS archive with revision 4.0 (unchanged milestone 4) redo ../dphys2.tar.gz tar archive of current state 2004.02.20 Fri heeb website bug, link to milestone 4 .tar.gz was to milestone 3, fixed heeb missing docs what option to use in .config, as no standard .config updated INSTALL with these details, added to milestone 4, remade its tar dphys-setup.pl change to session log for mailing, and add to collected log heeb test install running in Vmware, needs buslogic scsi and that needs crc32 also uses pcnet which was already module, after adding these drivers it works 2004.02.26 Thu dphys-setup.pl tested debugged packaged makesourcepackage -u add suport for debianising non-msp packages also upload .diff.gz file if there is one there heeb install error message because /etc/apt/sources.list hast local non-free and apt-get update accesses this before oidentd loaded, denied, error would need partial local line, later updated, better entirely in endfirstrun so local line feature not used, was not debian standard, so featurectomy removed from INSTALL, dbootstrap, debconf-preload, setup-dphys2 endfirstrun http://debian.ethz.ch/pub/debian-local, before apt-get update investigate stuff for making 2.88M floppy image for on bootable CD heeb used dd, mkfs ext2, kernel, root, /dev (chroot), /etc, chroot lilo image in dir, mkisofs -b bootimage, aragog (has cd-rw) cdrecord blank=fast 2004.02.27 Fri making CD with 2.88 floppy image on it, try using syslinux, not lilo wanted to use rdev and kernel in 1st 1.44 and root in 2nd 1.44 but the option for specifying the offset to find root is missing man lists offset 500 as reserved and no history, google search rdev 500 shown that this was rdev -r with 2^14+offset, now -r is ram disk size used syslinux, dd 2880*1024 boot.bin, mkfs -t msdos, copy rescue into it copy root image into it for initrd, syslinux boot.bin test run 128, Debian boot screen appears, can not find root-dph.ysb is root-dphys.bin mangle to fit 8.3 (. gone, first 11, . after 8) rename to root-d.bin, rerun, loads kernel and root, boots kernel, VFS panic is kernel without initrd, added that, recompile, works entirely 2004.03.04 Thu CD install, extend Makefile with make cd and installcd make cd will be makecd script, make installcd just do cdrecord added CONF_INST_CD to setup, moved it and CONF_INST_FLOPPY to end of CONF_* added SYS_CDWORK, updated sizes for rescue/root/cd work dirs, update INSTALL made makecd script, to generate .iso image, gets rescue and root from server makeroot also update image like makerescue does image and archive test run 129, fixed a few small typo bugs, .iso gets made, writing fails is make with interprets VAR="blah" so that it keeps the "" in the text 2004.03.05 Fri CD install setup-dphys2 CONF_INST_CD= without "", works in shell, and make INSTALL remark kernel needs initrd if bootCD, add cd config details also remark that floppy support not needed with boot CD got heeb optimised small boot-only kernel config, got 2.4.25 test run 130, full make resue, root, cd, installcd, install on hagrid, works but no endfirstrun/site-experimental/host install of ssh etc dsbg has a trouble machine where neither floppy or net install works on aragog made cd with standard endfirstrun and no debug waits went an installed form that cd, no problem any more, works updated "done:" and website to reflect added CD capability 2004.03.11 Thu bug hagrid does not run my endfirstrun, other sys did run standard endfirstrun no efr script to check, test from now on with DEBUG_LEAVE_BC_SCRIPTS also add option DEBUG_LEAVE_EFR_SCRIPT and also DEBUG_LEAVE_PRELOAD no endfirstrun script in root floppy image, not CD problem makeroot seems to not have copied it, but code looks ok add output at makeroot runtime what efr script is being added is copying the right file, but to wrong place, because of ../endfirstrun make position on disk independant of users filename and its path present state archived as RCS revision 4.1 looked into netboot via PXE, ROM fetches via DHCP+TFTP an .com file that is then offered an UDP/IP stack API (the execution environment) our systems fetch bpbatch, which runs an TFTP bpbatch.bpb script uses LinuxBoot command to TFTP fetch linux24 and initrd24.gz then boots makepxe to download/extract just the files for installing on PXE server Makefile for installpxe just echo file names, no copy, as site dependant 2004.03.12 Fri netboot updated docs, INSTALL, README, index.html.en convert dphys-admin from old makepackage to new makesourcepackage order/plan work, sync with cvs, copy to project dir, remove old CVS stuff mv conffiles, merge control, update /etc/init.d/dphys-admin 2004.03.18 Thu convert dphys-admin, postinst/postrm from dphys-admin/debian/makesourcepackage is few details (runlevel) embedded in lots of boilerplate code, split just file init.d -> init.d.2.25, then have standard script test/use name add it to debian/conffiles, then modify postinst, generate/modify postrm also copy defaults file if one is there, and add it to debian/conffiles needs expansion of makesourcepackage-made debian/rules to automatically do it test/copy defaults and add it to defailts, same init.d.*RUN.*SEQ 2004.03.19 Fri continue convert dphys-admin, expansion of makesourcepackage-made debian/rules so that it does the init.d modifications to postinst and postrm sh->make->sh quoting for an sed with modifies 3rd sh looks hairy perhaps better to try with dh_*, can hide user-must-delete mess with ifs started rewriting makesourcepackage debian/rules section with dh_* 2004.03.25 Thu continue convert makesourcepackage debian/rules to use dh_* dh_installinit with -- defaults or -- $PARAMS from #@rc.d@ line dh_installcron and dh_installman with file tests dh_installchangelogs with tests for upstream or native changelog mode 2004.03.26 Fri continue convert makesourcepackage debian/rules to use dh_*, done rest test shows attempt to find commands DEB_BUILD_OPTIONS and findstring is piece of non-comprehensible dh_make generated code, from manual need quoting, else shell interpreted instead of inserted into rules file complaints about no debian/package.init and debian/package.cron.* is because `` being executed at script runtime, not getting into rules file no need for premade postinst/prerm files any more, delete generate keep clone for in case user is cloning old package that used them continue convert dphys-admin, generate rules file, add @rc.d@ to init script init.d moved test for stray reboot files into perl, added also reboot_mail missing that was an typical bug of stuff split over 2 files old DEBIAN/postrm is standard, debian/rules generates it, delete it old DEBIAN/postinst moved possible remaining old pkgfile delete into perl changed back using old pkgfile name, filename/varnames/errormsg consistency also put old backup logfile deletion into perl, up to now littered moved man page into main dir, where dh_installman will find it updated it, as is still documented old reboot|mail syntax, not init|cron moved program into main dir, inconsistency Makefile for prog vs dh_* for man makesourcepackage debian/rules eliminate dh_installman, allways in Makefile makesourcepackage Makefile added vars for bin, sbin, man1 and man8 dirs rename dphys-setup.pl to dphys-admin (like package), dito its man page deleted old copyright and upstream changelog, changelog.Debian to debian/* cron script directly in /etc/cron.d, via debian/dphys-admin.cron.d else it will not appear in the autogenerated debian/conffiles postinst cron randomizer fragment converted to perl sleep int(rand(3600)); 2004.04.01 Thu dphys-admin test runs, makesourcepackage syntax bugs and typos dsbg tested makerescue, setup-dphys2 comments for upload process insufficient also wants to be able to generate multiple disksets, and download proper one move SYS_VERSION to CONF_DISKSVERSION, with NFS upload stuff, better comments dsbg usage suggests ssh instead of NFS for upload, more site independant dito good for makeroot, installpxe and for makesourcepackage uploads dsbg bug report, drivers get installed in 2.4.18-bf instead of 2.4.26-pre1 his drivers.tgz and extracted drivers on root are correct 2.4.26-pre1 rerun, with new Kernel 2.4.26-rc1, kernel/depmod wants rc1, disks have pre1 is bug in Makefile, make clean does not delete work from makecd and makepxe first bug with 2.4.18-bf does not happen any more, most likely same source 2004.04.02 Fri read a few texts on user interface design, docs-in-config being GUI base idea fits yesterdays need to improve setup-dphys2 comments, put more docs there makerescue and makeroot uploads converted to using scp instead of file/NFS better handling of output (and input) file naming, with dirs in them while doing notices that using ${SYS_OWNRESCUE} for targets in these collides with Makefile testing direct for *-dphys.bin, bug, missed update change Makefile to use $(SYS_OWNRESCUE) and $(SYS_OWNROOT) while at it get rid of never used, but maintained, installorig* stuff rename ${RESC} ${ROOT} ${DRV} to *_URL, use non-_URL forms for basename 2004.04.08 Thu makecd and makepxe changed to also use *_URL and non-_URL for basename makerescue and makeroot output files use full ${*_UPL}/${SYS_OWN*} paths no need for complicated messy code with mulitple `basename` in it Makefile installpxe changes from do nothing to do scp, like makerescue|makeroot updated INSTALL to show that make installpxe now does something and what makesourcepackage upload with ssh/scp, same CONF_UPLOAD_TO / SYS_OWN* structure changed to also generate dir srtucture, copy files into it, scp all at once for this gave up feature of deleting old versions, perhaps better so anyway for package index update, put entire command as CONF_*, so user settable should allow many people to do whatever there local package server needs test run 131, just makerescue and makeroot, work, test makesourcepackage later 2004.04.15 Thu heeb dphys-admin should default to cron, not crash with unset variable added test, emit warning, and then set $called_by to cron but this gives random up to 1 hour wait, so better third "none" state works as cron, but without the delay, for manual or test changed all print() strings dphys-admin to $0, so that it changes with rename found one old phys-setup.pl string, was missing "d", so was not converted heeb make root uses 2.4.18-bf24 instead of 2.4.26-rc1 for modules directory same problem as dsbg 2 weeks ago, also with 2.4.26-rc1, 2.4.25 here works seems to be result of version mixup project/my-test/their-test versions it turned out to be the usb keyboard modules from the rescue floppy we replace the drivers.tgz/floppy drivers, but leave the rescue ones because I did not even know there were modules on the rescue not noticed to now, as they are irrelevant for what we do, no usb keyboards no interest in implementing it, so just delete these, to avoid confusion dphys-admin "upstream" Makefile proper "compile" w gzip -c then install .gz added Build-Depends-Indep: to control file, -Indep because arch independant found "/bin/sh: [: too many arguments" bug when msp -p, fixed syntax error test run 132, see if installationis stable, as dsbg and heeb have problems make installrescue wants to recompile, was missing update/ in Makefile paths test run 133, works without trouble analysed what needs to be configurable in dphys-admin while doing so simplified pkg and log paths set up, less variables, direct 2004.04.16 Fri dphys-admin configurability, decided just set conf_baseurl and conf_mailaddress changed pkgpathdir (->pkglistdir) and logdir to use $name, set to dphys-admin include an /etc/default/dphys-admin script fragment, with require; does not want to set the variables, was because of "my" making them local dphys-admin extended man page, about package lists and config file 2004.04.22 Thu dphys-admin man page continued, and finished, packaged 20040422.143354-1 uploading dphys-admin with makesourcepackage -u fails, copies loads of stuff is because I already have an upload/ directory, links in that dereferenced would have also been killed if allowed to run to end switch to using /tmp/makesourcepackage.$$.upload, UPLOAD -> TO_UPLOAD dphys-admin package tested on aragog, seems to work but wants to know if it is allowed to upgrade cron.d file will take default "NO", but we want it, after !dphys-admin put | test && mv 2004.04.23 Fri Kernel/Config/System.map files in /boot still have *-2.4.18-bf2.4 names dbootsrap installs them via rescue floppy install.sh script that still contains VERSION=2.4.18-bf2.4, change analog to debian.txt test run 134, fails to load the kernel looked at image install.sh is 0 bytes, typo, corrected, but that is sure not problem can't see anything else changed, perhaps just disk trouble test run 135, works, /boot is now correct Nth time mkdir rescue/floppy (for test mount), delete at end, in "if ! DEBUG" updated index.html.en with changes since milestone 4, added dphys-admin added dphys-admin to Makefile make tar, like dphys2-swapfile is present state archived as RCS revision 4.2 setup needs comment "results in http://${CONF_DEBSERVER}/${CONF_DEBDIR}/*", bad change const+DEBSERVER+DEBDIR and const+OWNSERVER+OWNDIR to single full var less vars, use more obvious, more flexibility as http:// not fixed in code perparatory 1 change *SERVER -> *HOST, then use *SERVER for var with both in changed http://${DEBHOST}/${DEBDIR} -> ${DEBSERVER}, same for OWN while doing found not deleted CONF_DEBDIR_LOCAL and SYS_DEBSUBDIR_LOCAL in setup-dphys and in dbootstrap "copy to debconf-preload" section, del while doing found if (x"blah" ne x) code in perl, changed ("blah" ne "") 2004.05.13 Thu test run 136, works until 40apt-setup, (u)mount goes wrong, loops is debconf-preload, still twice %CONF_DEBHOST% instead of %CONF_DEBSERVER% test run 137, works until 40apt-setup, CONF_DEBHOST error in setup-dphys2 test run 138 debconf-setup does an segfault run on pomfrey as user shows 3 syntax errors where %CONF_*% compared put them into "", and do string comparisons, safer anyway if config broken now also on pomfrey segfault, get old version 4.2 from RCS, no segfault diff, appart from added "" only hostname/dir split and the sources.list gen commented out split, works, readded /:/ split, ok, is the '/' split (dummy0, $dummy1, $host, $dir) = split '/', $path, 4; is the missing $ before dummy0, again an lvalue problem test run 139, works heeb bug report 20dphys-admin comes before 20oidentd, and so can't get nonfree should have been installed as 24dphys-admin, for exactly that reason #@rc.d@ line in debian/dphys-admin.init is set, debian/rulez looks correct when run, LINE= not set, no PARAMS= setting, dh_installinit does default so /var/lib/dpkg/info/dphys-admin.postinst is broken, defaults, not start grep '^#@rc.d@ ' debian/dphys-admin.init produces correct line PARAMS="defaults"; echo +++ 1 ${PARAMS}; is also empty, ${} seems to fail make -n shows them all removed without anything inserted 2004.05.14 Fri 20dphys-admin bug, debian/rules needs $${VAR} to fix, done, new vers, uploaded altered makesourcepackage to generate debian/rules like this convert dphys2-swapfile to new dh_* based makesourcepackage updated Makefile preset variables, debian/control added Build debhelper rm debian/conffiles (was auto-generated anyway) mv default dphys2-swapfile.default, changed it to normal hand edited, not gen mv init.d dphys2-swapfile.init, removed automatic modifications, hand edited rm debian/postinst (will be generated), prerm (same) postrm changed to include #DEBHELPER#, and only mod fstab and del swapfile CONF_SWAPFILE as variable, even if set only here, not by /etc/default/* renamed to debian/.postrm, man dh_installdb incomprehensible generated new style debian/rules file, so ready to package 2004.05.27 Thu heeb 20dphys-admin still 20, package wants 24dphys-admin but leaves conffile dphys2-swapfile heeb file should not be 644, can have root processes in it added an chmod 600 to start), while at it uninstall) in init.d script init.d script, default, postrm comments updated, made package and uploaded it dphys-admin separate project, as only managing, not installing dito also later for dphys(2)-swapfile (replacing swappartit, not installing) and dphys-idedma (setting up disk driver, not installing) and makesourcepackage (making packages, not installing) all dphys-admin stuff from now on in its own ../dphys-admin/Logfile index.html.en changed all links to dphys-admin to point to new projects page in basics, status and milestone sections, also here in Logfile "done:" also same for links to dphys-setup.pl, to now place in dphys-admin removed all links to version dependant .dsc, debianised .tar.gz, .deb Files deleted old dphys-admin directory and dphys-admin_* files out of dphys2 same also old dphys-setup.pl and RCS/dphys-setup.pl,v Makefile ci and tar removed dphys-setup.pl and dphys-setup.pl,v 2004.05.28 Fri dphys2-swapfile separate project, as only replacing swappart, not installing rename it into dphys-swapfile, no 2, as not part of dphys2 any more all dphys-swapfile stuff from now on in its own ../dphys-swapfile/Logfile index.html.en changed all links to dphys-swapfile to point to new project removed all links to version dependant .dsc, debianised .tar.gz, .deb Files with exeption of milestone 4 Links to archived dphys2 2004.06.03 Thu dphys-swapfile not part of dphys2, so difficult to include its .deb in .tar.gz how include it in tar, that it is after unpacked within dphys2 work directory do not want a copy of it in dphys2 website directory fetch via apt-get would only work if after endfirstrun local server added so it needs to come on the install disks, can not depend on net include onto disks from net requires additional code, part redo apt-get but at least only needs to run if someone wants it, and has it on server but was only supplied in case used wants to use auto-install swapfile feature as loaded anyway at beginning of dphys-admin, featurectomy of auto-install changed setup-dphys2, makeroot, dbootstrap, INSTALL, Makefile fixing setup-dphys2 added comments about dphys-swapfile and dphys-admin while doing so noticed CONF_DEBSERVER_* still with ${CONF_DEBHOST} fixed this to use ${CONF_DEBSERVER} like in my (tested) test config delete dphys2-swapfile directory and dphys2-swapfile_* files out of dphys2 2004.06.04 Fri CVS deleted dphys-admin and dphys-swapfile, this time they really are gone 2004.06.10 Thu makesourcepackage separate project, as only making packages, not installing dito also Makefile.debian-local in that project, as used together become togehter package dphys-pkgtools (makesourcepackage and makelocalsite) all make[source]package stuff from now on in own ../dphys-pkgtools/Logfile 2004.06.17 Thu dphys-pkgtools separate, index.html.en changed all makesourcepackage links while at it also links to dphys-admin and dphys-swapfile to file, not project deleted old makesourcepackage and makesourcepackage,v files out of dphys2 Makefile ci and tar removed makesourcepackage same index/delete/Makefile for Makefile.debian-local 2004.08.05 Thu dphys-host-hagrid, does nothing but Depends: dphys-site-franklin-experimental so change endfirstrun to directy load that package then eliminate dphys-host-hagrid from package server and CVS CVS needs "remove", "commit" and then "update" to get and see effect while at it do same for dsbg old dphys-host-bludger and dphys-host-dudley dphys-host-dudley has no CVS and dphys-host-bludger incomplete CVS dphys-site-franklin-experimental, only does Depends: tcsh, less, ssh and once changed root shell to tcsh (now login script is used) and installs .cshrc and .ssh/authorized_keys so change endfirstrun to directy install tcsh, less, ssh and generate .cshrc (small version) and .ssh/authorized_keys (only me) then eliminate dphys-site-franklin-experimental from package server and CVS tcsh fails, path missing, prompt screwed, is $stuff gone lost is due to << EOF applying substitution, use << 'EOF' test run 140, $stuff fails again, because outer << EOF, and that can not use '' so do everything with \\\$ (first << EOF makes \$, second << EOF makes $) test run 141, works look at dphys-user-info, only installs an script /usr/bin/user-info look at dphys-find-printer, only installs an script /usr/bin/find-printer look at dphys-reboot, only installs an postinst that touches /root/NEED-REBOOT look at dphys-site, does multiple things Depends: dphys-admin, dphys-ide-dma, wget, ssh, postfix, xserver-xfree86, xbase-clients, nfs-common, fvwm2, dphys-motd, dphys-setup-motdpath postinst copy /usr/lib/dphys-site to / (contains only /usr/local/bin/passwd) /scratch dir machen, /pub link, inittab Linux logo, syslog.conf log host fstab /var/mail NFS mount, /etc/default/dphys for dphys-admin look at dphys-ide-dma, only installs init script and postinst/postrm links it 2004.08.06 Fri investigate what typical dphys-local-* and dphys-setup-* packages contain 2004.08.12 Thu investigate other dphys-* packages, how they were done decided to do minimal conversions for now, no single-script generated packages dphys-user-info convert to source package, man page, deleted from CVS dphys-reboot convert to source package, only .postinst, deleted f CVS dphys-find-printer convert to proper source package, man page, deleted f CVS dphys-ide-dma convert to source package, only .init, deleted f CVS 2004.08.20 Fri look at what dphys-site does, and how to replace it Depends: fetches various packages, including dphys-admin use endfirstrun for dphys-local-admin|dphys-admin, use dphys-admin for rest wait with this until made replacement packages for postinst stuff added the missing ones (only nfs-common, all others were already) install /usr/local/bin/passwd, moved to an function in dphys-local-shellconf for postinst stuff make an series of small packages, one per function dphys-setup-scratch to make /scratch, but better in dphys-setup-extra-fs configured by dphys-local-extra-fs with hostconfig/`hostname`/extra-fs same also /pub symlink, /var/mail nfs mountpoint done by heeb as it requires extensions for symlinks and nfs mounts linuxlogo insert into inittab, also done by heeb dphys-local-syslog to edit /etc/syslog.conf to our liking, add log host setting up /etc/default/dphys is already done in endfirstrun, was duplicate just slightly update its commenting there, or better take it out put it into dphys-local-admin package, as it sets config to same base url change dphys-admin to delete dphys-site as it is not needed any more endfirstrun directly load dphys-local-admin and dphys-admin, no dphys-site 2004.08.26 Thu deleted dphys-site package from server, removed from CVS 2004.09.01 Wed setup-dphys split CONF_UPLOAD_TO analog to makesourcepackage into CONF_PKG_SERVER, CONF_USER and CONF_PKG_BASE test run 142, works after removing typo present state archived as RCS revision 4.3 2004.09.09 Thu for dphys2 in an .deb package no Makefile is possible, direct callable scripts discussion with heeb, config multiple sources, site/user/dir/commandline use the files in currend dir, put generated stuff back into this dir work files /tmp or /root may betoo small, NFS not root, so /var/tmp best wants all 4 targets with separate generate/write (performance vs drives) does not matter if 8 or 4 command or 1 master command, nor what naming possibly option to call root if running as normal user, or use UML? also about debconf use sarge fallback or debconf-setselection for docs on all this use an chrooted sarge base install, man 7 debconf 2004.09.10 Fri decided to make 4 scripts, each with generate|upload|install|clean subcommands make* are too generic names, particularly makecd, rename to dphys2* updated make ci, RCS, make tar, index.html.en, ln -s dphys2* make$1 add support for multiple conf files, site(/etc[/default]), user(~/.), dir(./) looked at exact functions rescue make:fetch|kernel|build|image|drivers, upload, inst:dd, clean:rm root make:fetch|delete|add|debconf|efr|image, upload, inst:dd, clean:rm cd make:fetch|resc2.88|rootins|boot|iso, no upload, inst:cdrecord, clean:rm pxe make:fetch|extract, no upload, inst:scp, clean:rm pxe install is actually an upload, but to boot server not install server decided to use makesourcepackage like design, first command line loop then all features fixed row, dependant on variables being set by that loop -d download orig, -g generate new (implies -d), -t tidy work, -u upload new (implies -dg), -i install (implies -d), -r remove new alternative to -t have -n no delete temp, as user normaly wants it deleted 2004.09.16 Thu dphys2rescue add command parser from makesourcepackage decided on -dgufir options, implicit -t and -n to not, -f fetch own/new and no implicit actions, as user may not want these, allways type full opts Makefile changed du use -dgu options make all code sections dependant on their options being run changed directory for downloaded and to-upload images to be ., not in workdir generate floppy image and drivers archive in current directory build simulated server file tree for scp only inside upload option uploading more similar to makesourcepackage, add commenting from there in msp add server test configured test like in dphys2rescue moved deleting temp files to before uploading, as then generating is finished added code for -f fetch, same as used in dbootstrap, for all 3 versions Makefile installrescue moved to dphys2rescue -i install script now uses dphys2 image if generated, else fallback on debian image Makefile clean split into 4 independant parts, moved to dphys2rescue -r as now files outside of workdir, delete them separate, delete workdir in -g test run 143, only dphys2rescue, in -g RESC and DRV not set from -d as not -dg deleting work directory still failled, fixed -g, works completely 2004.09.17 Fri test run 143 further, -u CONF_GROUP not in setup-dphys2, sometimes only GROUP -f works, -i installs, but can not boot, was floppy badly written changed DEBUG_WAIT_STEP to DEBUG_PRINT_STEP, without read dummy dphys2root convert same as dphys2rescue option parser, option conditional, wget no -P, root.bin not in workdir no upload server is error, tidy before upload, generated stuff in . dir convert upload stuff, added -f -u -r, debug wait->print, del full workdir while doing so fixed missing ${RESC} determination when using Debian .config both added $0: before ERROR: in all error messages both compute [RESC|ROOT|DRV]_URL and [RESC|ROOT|DRV] once without if then just user them or the *_DPHYS2 versions, -f only fetches dphys test run 144, fix a few small things, deleting work dirs fails again is because my setup-dphys2 sets leave tempfiles, remove that option when using -u without -g error because no files, test and not copy test run 145, works 2004.09.23 Thu dphys2cd convert same as dphys2rescue and dphys2root as no CD images on Debian mirrors, no -u upload or -f fetch options option parser, download no -P, images not in workdir, generate in dir WAIT->PRINT, Makefile all 3 programs DO_REMOVE debug do ls-al before rm instead of echo after test run 146, cdrecord aborts with "no 1,5,0", we have 0,0,0 is ${CONF_INST_CD} only containing first option, dev=0,0,0 being 3rd option is because CONF_INST_CD was designed for Makefile so had no "", sh needs them dphys2pxe convert same as dphys2rescue and dphys2root and dphys2cd test run 147, works apart from testing install actual scp, as no account Makefile removed all stuff for running dphys2*, as allways run direct merged comments from INSTALL into setup-dphys2, before scattering into dphys2* in particular path description for timezone, and kernel option requirements INSTALL changed command for using dphys2 to new dphys2* names and options 2004.09.24 Fri setup-dphys2 move SYS_* and DEBUG_* into scripts which use them, not in configs SYS_*WORK one in each, rename all as SYS_WORKDIR SYS_ARCH in all dphys2* and dbootstrap for paths, same SYS_DEB* and SYS_OWN* SYS_MODULESMISC only in dphys2root SYS_DRIVERSTGZ_ON_* only dphys2root and dbootstrap same SYS_LILOCONF_ON_* and SYS_PRELOAD_ON_* and SYS_ENDFIRSTRUN_ON_* SYS_DEBCONF_DB and SYS_DEBSUBDIR_* only dbootstrap but only used to sed debconf-preload, so better define directly in there DEBUG_SLEEP in all, DEBUG_WAIT_STEP dbootstrap and endfirstrun others DEBUG_WAIT_STEP->DEBUG_PRINT_STEP an no read dummy DEBUG_LEAVE_TEMPFILES in dbootstrap and endfirstrun DEBUG_WAIT_DEL_* and DEBUG_LEAVE_* only in dbootstrap DEBUG_WAIT_ENDFIRST only in dbootstrap, rename to DEBUG_WAIT_FIRST_REBOOT DEBUG_LEAVE_BC_SCRIPTS in dbootstrap and endfirstrun setup-dphys2 put default CONF_* into scripts, and config default commented out CONF_INST_* into the respective scripts, dphys2pxe not-configured-server CONF_ENDFIRSTRUN_SCRIPT only in root, CONF_SILENCE_DEBCONF only in dbootstrap CONF_PASSWORD_*, CONF_TIMEZOME_*, CONF_PCMCIA_*, CONF_USE_*, CONF_DEBSERVER_* all only in dbootstrap CONF_MODULESNET, CONF_IF, CONF_DHCP, CONF_DOMAIN, CONF_NAMESERVER*, CONF_NETMASK, CONF_NETWORK, CONF_GATEWAY, CONF_BROADCAST only in dbootstrap CONF_DISK, CONF_DISK_IDEDMA, CONF_SWAP_SIZE only in dbootstrap CONF_KEYBD only in dbootstrap CONF_PKG_SERVER, CONF_USER, CONF_GROUP, CONF_PKG_BASE in dphys2[rescue|root] CONF_INST_GROUP added to dphys2pxe CONF_OWNSERVER, CONF_DISKSVERSION and CONF_DEBSERVER in all scripts CONF_KERNEL_24, CONF_KERNEL_OWN in all, CONF_KERNEL_CONFIG only dphys2rescue CONF_* true->yes for CONF_PASSWORD_*, CONF_PCMCIA_*, CONF_USE_* test run 148, dphys2rescue -f does not find disk images on the server is because SYS_OWNDISKS generated before reading in configs move all SYS_DEB* and SYS_OWN* into main code body, no SYS_ in them test run 149, dbootstrap stops at DEBUG_WAIT_FIRST_REBOOT despite not activated rest works, so leave this for the moment, until next test, see if it stays 2004.09.30 Thu renamed setup-dphys2 to dphys2, for when it becomes Debian package dphys2 changed scripts dphys2[rescue|root|cd|pxe] and dbootstrap to use new name mover root user test to after command line parsing, so help works for users added texts for outputting by -h help options rename CONF_PKG_* to CONF_INST_* as are install and not package server wrote dphys2rescue man page 2004.10.01 Fri wrote dphys2root man page, also dphys2cd and dphys2pxe, and overview dphys2(7) add all man pages to index.html.en, rename missed setup-dphys2 there bugfix dphys2cd and dphys2pxe root image allways download dphys2, never Debian else we would lose the automatic installer, when using Debian kernels Makefile added all/clean/install/uninstall for 1 config 4 scripts 5 man pages 2004.10.07 Thu man dphys2 added all the options for configuring dbootstrap and so the actual installation process, updated cross-script option table but better put them in dphys2root, as they need setting before running that also there added an example how to set some of these options bugfix TIMEZOME->TIMEZONE, while at it set default to not-configured-* updated INSTALL to not mention old name setup-dphys2, same endfirstrun at same time also INSTALL update references to dphys-pkgtools and dphys-admin dphys2root conf files all merge onto floppy, for dbootstrap and target dbootstrap only uses this merged file, not the nonexistant user dir stuff also copy this merged file over to target, endfirstrun only uses this dphys2rooted and dphys2(7) added missing description for endfirstrun heeb bug report, hostname -f has no domain in it is because of /etc/hosts having 127.0.0.1 hostname without domain Debian puts hostname there, without domain, get rid of it noticed that localhost missing in that line, Debian has that, add it .deb packaging, config is now in /etc/detault/* and others binaries are in makefile already copied to /usr/bin /usr/lib/*/[dbootstrap|sfdisk|lilo.conf|debconf-preload] needs name dphys2 same as CONF=, so rename it into PNAME=, while at it tody up config comments 2004.10.08 Fri .deb packaging, fetch auxillary files from /usr/lib/${PNAME} or . dbootstrap, sfdisk, lilo.conf, debconf-preload while at it eliminated SYS_LILOCONF_ON_TARGET, only for new own files . before /usr/lib/${PNAME} so user projects can provide own replacements Makefile add mkdir and cp for these 4 files to /usr/lib/${PNAME} workdirs, UPLOAD and INSTALL also as SYS_*DIR at front move to /var/tmp/dphys2*-$$-[work|upload|install], not /tmp as too small moved my config from /usr/local/src/dphys2 to ~/public_html/Projects/dphys2 dphys2.franklin config-2.4.26.franklin endfirstrun.franklin moved my kernel archive from /usr/local/src to ~/public_html/Downloads in /u/l/src only dphys2 dir, and in that only bin and lib stuff moved dbootstrap, sfdisk, lilo.conf, debconf-preload to /usr/lib/dphys2 moved dphys2* to /usr/bin, in /u/l/s/dphys2 only dphys2 link and result files moved /u/l/s/dphys2 to /root, as only link to config and results, no source moved *.franklin here, as are user data, not project stuff, backup in proj test run 150, worked with exeption of endfirstrun, error msg, not done was in endfirstrun, ${SYS_DPHYS2CONF_ON_FLOPPY} instead of ${..._TARGET} users will also make endfirstrun bugs, need debug options, without rebuild add option processing for -D to dbootstrap "command line" (hostname input) extended DEBUG_WAIT_STEP with DEBUG_PRINT_STEP, can do either or both extended debug output, separate --- DEBUG: xxx --- lines while at it add -D to all other programs, remove -n and non standard -v use also extended DEBUG_PRINT_STEP with DEBUG_WAIT_STEP and ---DEBUG: xxx --- while here also standardised on read -p "--- DEBUG: xxx ---" dummy 2004.10.14 Thu tidy up endfirstrun and endfirstrun.franklin for use as examples end of generated base-config scripts are badly visible, need an comment better replace the generic << EOF with << END--SCRIPT even better replace all EOFs everywhere with something more descriptive while at it dbootstrap install 01debconf script without using chroot simpler code as now no nested here documents and their ends endfirstrun->endfirstrun.dphys-admin endfirstrun.franklin->endfirstrun.simple added remark about these 2 examples to dphys2root(1) in endfirstrun.dphys-admin remarks about finding dphys-admin package Makefile added install/uninstall of 2 examples in /usr/share/doc/dphys2 makesourcepackage -g made debian/ directory for packaging updated control, linked dphys2.default, made dphys2.docs makesourcepackage -p lintian complains of "all" because sfdisk binary, "i386" then complains Build-Depends: no -indep , and rules needs binary-arch then complains missing depends line, but depends only on libc as all are just lintian errors, roll back to standard indep, leave error to get rid of error message, make sfdisk.gz, then unpack on install makesourcepackage -p lintian complains of no /usr/doc symlink (un)makers but I do not have postinst|prerm scripts, should auto-generate them heeb says it is an problem with our debhelper version or backports, ignore added .deb remarks to FAQ, INSTALL, index.html.en test run 151, dphys2rescue duplicate ;; lines, dphys2root if instead of elif dbootstrap 01debconf failled, missing /target in filename without chroot using -D failled, hostname -D blah without actual name, was $1{HOSTNAME} test run 152, works, release 2004.10.15 Fri released 5th milestone, copy to ../dphys2-20041015, make tar file of it modified index.html and FAQ and INSTALL to show the milestone release deleted old make*, setup*, endfirstrun from current started new RCS archive with revision 5.0 (unchanged milestone 5) redo ../dphys2.tar.gz tar archive of current state re-package Debian, -l "new upstream milestone" updated FAQ, INSTALL and index.html.en with 20041015.104611 version number ------project status doing: todo: possible extensions: call root if running as normal user, or use an UML? option for install into chroot, for faster testing, no floppys, no 2nd host or possibly go for an UML, as is becoming standard for Debian build environs option for no partitioning, keep/use existing partitions option for using md driver, so later mirror disk addable multi-architecture, non-x86 support, split x86/piii/piv/athlon support don't ask for hostname (use dhcp+nslookup?), or empty enter set automatic done: investigation what present system does investigation what the official Debian installer does pre pre boot stage - script that automatically compiles custom users kernel and generates rescue floppy and drivers.tgz from it pre boot stage - script to generates replacement root disk and script that packs rescue and root onto an bootable CD first boot stage - script that replaces dbootstrap offer various options such as: enable IDE DMA, use 2.4 kernel setup system for site/subnet specific stuff and install docs for this run random user command/script at end of first install phase use that for setting apt-get options and for loading host package second boot stage - script that preconfigures debconf and sets up some of the files that base-config would do generalised config script (fragments) system with site/user/project split script to generate host packages with just Depends: on site package extended to generate site packages or any other package, stepwise also Makefile to (re-)build lokal packages website second script that does this for the modern source based package format later moved to separate dphys-pkgtools project with user script set up debconf and apt-get hosts package whith that load kernel, site config and important packages and reboot in important packages an swap file setup package that alows avoiding partitions later moved to separate dphys-swapfile project in important packages an admin package that loads all stuff we want later moved to separate dphys-admin project man pages for all 4 functions (rescue floppy, root floppy, cd, pxe)