Two years ago, I did some experiments with eatmydata and the Debian +installation system, observing how using +eatmydata +could speed up the installation quite a bit. My testing measured +speedup around 20-40 percent for Debian Edu, where we install around +1000 packages from within the installer. The eatmydata package +provide a way to disable/delay file system flushing. This is a bit +risky in the general case, as files that should be stored on disk will +stay only in memory a bit longer than expected, causing problems if a +machine crashes at an inconvenient time. But for an installation, if +the machine crashes during installation the process is normally +restarted, and avoiding disk operations as much as possible to speed +up the process make perfect sense. + +
I added code in the Debian Edu specific installation code to enable +eatmydata, +but did not have time to push it any further. But a few months ago I +picked it up again and worked with the libeatmydata package maintainer +Mattia Rizzolo to make it easier for everyone to get this installation +speedup in Debian. Thanks to our cooperation There is now an +eatmydata-udeb package in Debian testing and unstable, and simply +enabling/installing it in debian-installer (d-i) is enough to get the +quicker installations. It can be enabled using preseeding. The +following untested kernel argument should do the trick:
+ ++ ++preseed/early_command="anna-install eatmydata-udeb" +
This should ask d-i to install the package inside the d-i +environment early in the installation sequence. Having it installed +in d-i in turn will make sure the relevant scripts are called just +after debootstrap filled /target/ with the freshly installed Debian +system to configure apt to run dpkg with eatmydata. This is enough to +speed up the installation process. There is a proposal to +extend the idea a bit further +by using /etc/ld.so.preload instead of apt.conf, but I have not +tested its impact.
+ + +