Mkinitcipio hooks

Подыму немного холиварную тему.
Похожее обсуждение уже как-то всплывало на форуме в одной из тем. Но тогда это было мимоходом.
В последние пару дней уделил немного времени оптимизации загрузки, в том числе и различным параметрам сборки загрузочного образа.
Хотелось бы посмотреть, кто какие хуки и параметры использует для генерации.
Сам на текущий момент остановился на такой конфигурации mkinitcpio.conf:

MODULES="ext4"
BINARIES=""
FILES="/etc/udev/hwdb.bin"
HOOKS="autodetect systemd block"
COMPRESSION="cat"

Из всех вариантов, перепробованных мною, этот оказался самым быстрым для моей машины.
Linux 4.9.6-1-zen x86_64
Gnome 2 >> Unity >> KDE 4 >> Openbox >> Awesome >> Xmonad
GitHub , BitBuket

systemd-analyze
Startup finished in 1.229s (kernel) + 2.382s (userspace) = 3.612s
mkinitcpio.conf по дефолту:

# vim:set ft=sh
# MODULES
# The following modules are loaded before any boot hooks are
# run.  Advanced users may wish to specify all system modules
# in this array.  For instance:
#     MODULES="piix ide_disk reiserfs"
MODULES=""

# BINARIES
# This setting includes any additional binaries a given user may
# wish into the CPIO image.  This is run last, so it may be used to
# override the actual binaries included by a given hook
# BINARIES are dependency parsed, so you may safely ignore libraries
BINARIES=""

# FILES
# This setting is similar to BINARIES above, however, files are added
# as-is and are not parsed in any way.  This is useful for config files.
FILES=""

# HOOKS
# This is the most important setting in this file.  The HOOKS control the
# modules and scripts added to the image, and what happens at boot time.
# Order is important, and it is recommended that you do not change the
# order in which HOOKS are added.  Run 'mkinitcpio -H <hook name>' for
# help on a given hook.
# 'base' is _required_ unless you know precisely what you are doing.
# 'udev' is _required_ in order to automatically load modules
# 'filesystems' is _required_ unless you specify your fs modules in MODULES
# Examples:
##   This setup specifies all modules in the MODULES setting above.
##   No raid, lvm2, or encrypted root is needed.
#    HOOKS="base"
#
##   This setup will autodetect all modules for your system and should
##   work as a sane default
#    HOOKS="base udev autodetect block filesystems"
#
##   This setup will generate a 'full' image which supports most systems.
##   No autodetection is done.
#    HOOKS="base udev block filesystems"
#
##   This setup assembles a pata mdadm array with an encrypted root FS.
##   Note: See 'mkinitcpio -H mdadm' for more information on raid devices.
#    HOOKS="base udev block mdadm encrypt filesystems"
#
##   This setup loads an lvm2 volume group on a usb device.
#    HOOKS="base udev block lvm2 filesystems"
#
##   NOTE: If you have /usr on a separate partition, you MUST include the
#    usr, fsck and shutdown hooks.
HOOKS="base udev autodetect modconf block filesystems keyboard fsck"

# COMPRESSION
# Use this to compress the initramfs image. By default, gzip compression
# is used. Use 'cat' to create an uncompressed image.
#COMPRESSION="gzip"
#COMPRESSION="bzip2"
#COMPRESSION="lzma"
#COMPRESSION="xz"
#COMPRESSION="lzop"
#COMPRESSION="lz4"

# COMPRESSION_OPTIONS
# Additional options for the compressor
#COMPRESSION_OPTIONS=""



Нашёл интересную статейку
Привёл mkinitcpio.conf к вот такому виду

MODULES="ahci sd_mod ext4"
BINARIES="fsck fsck.ext4"
FILES="/etc/udev/hwdb.bin"
HOOKS="autodetect systemd"
COMPRESSION="cat"

перегенерировал загрузочный образ, ребутнул комп
результат - всё работает, время загрузки уменьшилось на 2.25 сек

Startup finished in 1.012s (kernel) + 983ms (initrd) + 2.015s (userspace) = 4.011s

С предыдущей конфигурацией было 6,25 сек
С моим железом вряд ли удастся добиться большего - ssd, но SATA II, к тому же медленная память (DDR2, хоть и разогнанная до 880GHz, тайминги не трогал)

Попробую ещё погуглить, может накопаю ещё что-нибудь интересное.
Gnome 2 >> Unity >> KDE 4 >> Openbox >> Awesome >> Xmonad
GitHub , BitBuket
у меня так
MODULES="lz4"
HOOKS="systemd autodetect modconf block filesystems keyboard fsck"
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874
Я изначально вот такой набор использовал
HOOKS="base udev autodetect consolefont keymap modconf block filesystems keyboard fsck "
Сжатие по дефолту.
Но решил немного оптимизировать.
Сначала вместо дефолтного gzip использовал lz4 c компрессией -9.
Стало немного быстрее.
Заменил base и udev на systemd
Потом стал потихоньку удалять ненужные хуки. Благо ядер у меня два - родное и zen-kernel, так что есть возможность экспериментировать над одним из них, не боясь, что после ребута ось не подымется.
Отказался от сжатия вообще.
В результате со времени загрузки снял в общей сложности почти 3 секунды без потери функциональности. На этой версии ядра. 4.8 у меня почему-то тупило - врямя загрузки составляло около 10 секунд + пару десятых.

P.S> немного юмора
Startup finished in 4.304s (kernel) + 1min 51.943s (userspace) = 1min 56.248s
)))
Но это не арч.
Gnome 2 >> Unity >> KDE 4 >> Openbox >> Awesome >> Xmonad
GitHub , BitBuket
Haron_Prime
Привёл mkinitcpio.conf к вот такому виду

MODULES="ahci sd_mod ext4"
BINARIES="fsck fsck.ext4"
FILES="/etc/udev/hwdb.bin"
HOOKS="autodetect systemd"
COMPRESSION="cat"
Тоже попробую))
MODULES,BINARIES,FILES- под свои нужды сделал?
fsck fsck.ext4 и /etc/udev/hwdb.bin - что это?
Morisson
MODULES,BINARIES,FILES- под свои нужды сделал?
ну естественно!

Morisson
что это?
ссылка на пару постов выше
по поводу /etc/udev/hwdb.bin - уже не помню, когда это прописывал
вероятно, при прошлом приступе предыдущих попытках настроить mkinitcpio
Gnome 2 >> Unity >> KDE 4 >> Openbox >> Awesome >> Xmonad
GitHub , BitBuket
Haron_Prime
Заменил base и udev на systemd
Потом стал потихоньку удалять ненужные хуки.
Покажите что осталось.

Haron_Prime
P.S> немного юмора
Startup finished in 4.304s (kernel) + 1min 51.943s (userspace) = 1min 56.248s
Это ни о чем не говорит. У меня на следующий день после серьезного обновления mandb может полторы минуты шкрябать винт.
Aivar
Покажите что осталось.
MODULES="ahci sd_mod ext4"
BINARIES="fsck fsck.ext4"
FILES="/etc/udev/hwdb.bin"
HOOKS="autodetect systemd"
COMPRESSION="cat"
Gnome 2 >> Unity >> KDE 4 >> Openbox >> Awesome >> Xmonad
GitHub , BitBuket
 lsinitcpio -a /boot/initramfs-linux-zen.img
==> Image: /boot/initramfs-linux-zen.img
==> Created with mkinitcpio 22
==> Kernel: 4.9.6-1-zen
==> Size: 20.98 MiB
  -> Estimated extraction time: 0,007s

==> Included modules:
  ahci [explicit]	  fscrypto		  libata		  sd_mod [explicit]
  crc16			  jbd2			  mbcache
  ext4 [explicit]	  libahci		  scsi_mod

==> Included binaries:
  fsck			  modprobe		  systemctl
  fsck.ext4		  mount			  systemd-tmpfiles
  kmod			  sulogin		  udevadm
Gnome 2 >> Unity >> KDE 4 >> Openbox >> Awesome >> Xmonad
GitHub , BitBuket
 
Зарегистрироваться или войдите чтобы оставить сообщение.