* Use custom ramdisk tool in /etc/kernel-img.cfg: + sync kernels and initrds for both syslinux and GRUB as needed. + Strip "save-default" lines from GRUB menu.conf. * Write mount routine as functions. * Make GRUB booting in dualboot actually work. + To test, press shift at boot, then "A", and then "2". * Write trace routines as functions, and improve it: + If file does not exist already: touch .orig. + If .orig already exists: use .old. + After tweaking, if .old exists and is equal: remove. * Improve bootloader selection: + If GRUB disabled, use vfat partition as /root. * Rewrite all configuration file tweaks to be idempotent. * Make everything (except maybe mounting) work using fakeroot. * Fix all FIXMEs. * Install module-init-tools before kernels. * Add shell snippet for initial run: + Offer to dpkg-reconfigure all packages. + Generate yaird initramfs. + Reset root password. + Generate SSH host keys (if SSH server installed). * Avoid daemons starting within chroot: + syslog-ng + ssh + (rpc.statd) Possible solution: Add /usr/sbin/policy-rc.d exiting errorlevel 101 when in chroot. * Fix /dev in chroot not properly unmounted with udev-based host. (fixed in sid) * Avoid mkinitrd probing root dev (not requiring USBstick plugged in). * Always unmount even if failures oocur (some shell woodoo...) * For flashybrid relying on NFS: Include and load these in initrd: sunrpc lockd nfs_acl nfs * Make sure network is up on boot. DGIH: * If using resolvconf, make sure this is setup: ln -s /dev/shm/resolvconf /etc/resolvconf/run * Hand-edit infoscreen routines: * Add /etc/*/local-infoscreen and /usr/local/bin * Add dir /var/lib/infoscreen * mksshauth infoscreen@lager * Accept lager as host (in /root/.ssh/known_hosts )