[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Speed up installation: activate eatmydata-udeb by default and include eatmydata package in /pool

Debian Buster installation from DVD1 ISO file takes enormous amount of time in a VM without write cache and on bare metal with older (a bit wore out) HDDs due to excessive fsync() calls.
For example, installation from debian-10.6.0-amd64-DVD-1.iso in a VM without internet access took 1 hour, 44 minutes, 30 seconds. On a bare metal: more than 40 minutes (I was too impatient, didn't wait it to finish and powered off the machine).

I found out that eatmydata-udeb package, which was implemented to speed up the installation process, is included into ISO images (in both CD and DVD), but can't be used because eatmydata and libeatmydata1 packages are missing. Enabling eatmydata-udeb does not have any effect in this case.

The issues with eatmydata-udeb in my opinion are:

  1. eatmydata-udeb should be enabled by default, to speed up the installation process. It should not require to be enabled from preseed file or bootloader cmdline. It's pointless to use fsync() in installation process, the user won't attempt to fix partially installed system due to power loss, it only slows it down.
  2. eatmydata and libeatmydata1 packages should present in ISO images (/pool directory) to make eatmydata-udeb possible to use without the internet.
  3. eatmydata-udeb should also inject libeatmydata to the base system installation process, which is performed by debootstrap. Base system installation is also quite slow, not as slow as the main system due to much less package count, but still takes much more time than it should.
    See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=700633

I've prepared an automatic patcher script which could be found here: https://bitbucket.org/ValdikSS/debian-iso-fastinstall/
It adds eatmydata and libeatmydata1 packages into ISO image, patches debootstrap to use libeatmydata, and activates eatmydata-udeb (patches boot cmdline).

With this script, patched debian-10.6.0-amd64-DVD-1.iso ISO file which previously took 1 hour, 44 minutes, 30 seconds to install, now installs in 10 minutes 37 seconds.
Patched netinstall image, when run without the internet access, installs the whole mini distro with base utilities in less than 3 minutes.

Petter Reinholdtsen, the author of eatmydata-udeb, asked me to post my findings here for public discussion. What do you think?

Attachment: OpenPGP_signature
Description: OpenPGP digital signature

Reply to: