How to get faster boot times in Endeavouros

Hi, so I just recently installed endeavouros and am very happy with it, I just find the bootup time of endeavour not so fast, when I used debian it was much faster, I used to use KDE Plasma on debian 12 stable.

Here is the output of sudo systemd-analyze(currently)-

Startup finished in 836ms (kernel) + 7.672s (initrd) + 3.924s (userspace) = 12.433s 
graphical.target reached after 3.921s in userspace.

As we can see, the initrd takes too much time too load I made a file to address this.

I have created a /etc/dracut.conf.d/custom.conf with contents as listed below-

omit_dracutmodules+=" btrfs crypt lvm mdraid qemu qemu-net fido2 pkcs11 nvdimm virtiofs systemd-cryptsetup i18n xfs n>
hostonly="yes"
compression="lz4"
omit_dracutmodules+=" drivers/md dmraid "

I am not completely sure about the modules I disabled especially about the drivers option, I used ChatGPT to ask about this issue and it did help, I do know that AI chatbots should only be used when necessary and only for guidance and not for actual work, and I keep caution while typing these commands it tells.

I then used sudo dracut-rebuild which builded the initramfs file, I then tried rebooting and it gave about a .8 seconds or so speed boost.

I then looked at the arch wiki for this and I stumbled upon https://wiki.archlinux.org/title/Improving_performance/Boot_process and am currently https://wiki.archlinux.org/title/Dracut while writing this topic.

In one of the wiki pages mentioned above(I think so), there was a suggestion of lowering the amount of messages that are showed during boot as it can slow down boot. So, I added “quiet splash loglevel=3” in GRUB_CMDLINE_LINUX_DEFAULT= line to speed up the boot. I also remove nowatchdog(I don’t know what it does, but it did not have any effect by disabling it) and nvme_load=Yes.

This increased the speed by atleast half a second I think.

But even after all of these things, I disabled avahi,upower,lvm2,power-profiles-daemon(I have a desktop). although the speed gain was minimal, it helped I think.

But now, it still is slower than debian, which is simply put, not right. Arch is meant to be lightweight in every aspect according to my knowledge. So I am most likely missing something.

output of inxi -Fxxxz-

System:
  Kernel: 6.13.3-arch1-1 arch: x86_64 bits: 64 compiler: gcc v: 14.2.1
    clocksource: tsc
  Desktop: KDE Plasma v: 6.3.1 tk: Qt v: N/A wm: kwin_x11 vt: 2 dm: SDDM
    Distro: EndeavourOS base: Arch Linux
Machine:
  Type: Desktop Mobo: Gigabyte model: G31M-ES2L serial: <superuser required>
    uuid: <superuser required> BIOS: Award v: FI date: 08/09/2010
CPU:
  Info: quad core model: Intel Core2 Quad Q9550 bits: 64 type: MCP
    smt: <unsupported> arch: Penryn rev: A cache: L1: 256 KiB L2: 12 MiB
  Speed (MHz): avg: 2833 high: 2834 min/max: N/A cores: 1: 2834 2: 2833
    3: 2833 4: 2833 bogomips: 22665
  Flags: ht lm nx pae sse sse2 sse3 sse4_1 ssse3 vmx
Graphics:
  Device-1: NVIDIA GK107 [GeForce GT 740] driver: nvidia v: 470.256.02
    arch: Kepler-2 pcie: speed: 2.5 GT/s lanes: 16 ports: active: none
    off: HDMI-A-1 empty: DVI-I-1,VGA-1 bus-ID: 01:00.0 chip-ID: 10de:0fc8
    class-ID: 0300
  Display: x11 server: X.Org v: 21.1.15 with: Xwayland v: 24.1.5
    compositor: kwin_x11 driver: X: loaded: nvidia unloaded: modesetting
    alternate: fbdev,nouveau,nv,vesa gpu: nvidia,nvidia-nvswitch
    display-ID: :0 screens: 1
  Screen-1: 0 s-res: 1920x1080 s-dpi: 101 s-size: 483x261mm (19.02x10.28")
    s-diag: 549mm (21.61")
  Monitor-1: HDMI-A-1 mapped: HDMI-0 note: disabled model: LG (GoldStar) FHD
    serial: <filter> res: mode: 1920x1080 hz: 100 scale: 100% (1) dpi: 102
    size: 480x260mm (18.9x10.24") diag: 546mm (21.5") modes: max: 1920x1080
    min: 640x480
  API: EGL v: 1.5 hw: drv: nvidia platforms: device: 0 drv: nvidia gbm:
    drv: kms_swrast surfaceless: drv: swrast x11: drv: nvidia inactive: wayland
  API: OpenGL v: 4.6.0 compat-v: 4.5 vendor: nvidia v: 470.256.02 glx-v: 1.4
    direct-render: yes renderer: NVIDIA GeForce GT 740/PCIe/SSE2
  API: Vulkan v: 1.4.303 layers: 1 surfaces: xcb,xlib device: 0
    type: discrete-gpu driver: N/A device-ID: 10de:0fc8
  Info: Tools: api: clinfo, eglinfo, glxinfo, vulkaninfo
    de: kscreen-console,kscreen-doctor gpu: nvidia-smi wl: wayland-info
    x11: xdpyinfo, xprop, xrandr
Audio:
  Device-1: Intel NM10/ICH7 Family High Definition Audio
    vendor: Gigabyte GA-D525TUD driver: snd_hda_intel v: kernel bus-ID: 00:1b.0
    chip-ID: 8086:27d8 class-ID: 0403
  Device-2: NVIDIA GK107 HDMI Audio driver: snd_hda_intel v: kernel pcie:
    speed: 2.5 GT/s lanes: 16 bus-ID: 01:00.1 chip-ID: 10de:0e1b class-ID: 0403
  API: ALSA v: k6.13.3-arch1-1 status: kernel-api
  Server-1: PipeWire v: 1.2.7 status: active with: 1: pipewire-pulse
    status: active 2: wireplumber status: active 3: pipewire-alsa type: plugin
    4: pw-jack type: plugin
Network:
  Device-1: Qualcomm Atheros AR8131 Gigabit Ethernet
    vendor: Gigabyte GA-G31M-ES2L driver: atl1c v: kernel pcie: speed: 2.5 GT/s
    lanes: 1 port: bf00 bus-ID: 03:00.0 chip-ID: 1969:1063 class-ID: 0200
  IF: enp3s0 state: down mac: <filter>
  Device-2: Ralink RT5370 Wireless Adapter driver: rt2800usb type: USB
    rev: 2.0 speed: 480 Mb/s lanes: 1 bus-ID: 2-5:2 chip-ID: 148f:5370
    class-ID: 0000 serial: <filter>
  IF: wlan0 state: up mac: <filter>
Drives:
  Local Storage: total: 1.38 TiB used: 17.79 GiB (1.3%)
  ID-1: /dev/sda vendor: A-Data model: SU800 size: 476.94 GiB
    speed: <unknown> tech: SSD serial: <filter> fw-rev: 8B scheme: MBR
  ID-2: /dev/sdb vendor: Toshiba model: DT01ACA100 size: 931.51 GiB
    speed: <unknown> tech: HDD rpm: 7200 serial: <filter> fw-rev: A7C0
    scheme: MBR
Partition:
  ID-1: / size: 173.1 GiB used: 16.87 GiB (9.7%) fs: ext4 dev: /dev/sda1
  ID-2: /home size: 14.66 GiB used: 945.8 MiB (6.3%) fs: ext4 dev: /dev/sda6
Swap:
  ID-1: swap-1 type: zram size: 1.91 GiB used: 3.8 MiB (0.2%) priority: 100
    dev: /dev/zram0
  ID-2: swap-2 type: partition size: 8 GiB used: 0 KiB (0.0%) priority: -2
    dev: /dev/sda3
Sensors:
  System Temperatures: cpu: 64.0 C mobo: N/A
  Fan Speeds (rpm): N/A
Info:
  Memory: total: 4 GiB available: 3.82 GiB used: 2.12 GiB (55.4%)
  Processes: 181 Power: uptime: 33m states: freeze,mem,disk suspend: deep
    wakeups: 0 hibernate: platform Init: systemd v: 257 default: graphical
  Packages: pm: pacman pkgs: 1025 Compilers: gcc: 14.2.1 Shell: Bash
    v: 5.2.37 running-in: konsole inxi: 3.3.37

output of sudo dracut-rebuild (if it helps)-

:: Building initramfs for linux (6.13.3-arch1-1)
dracut[I]: Executing: /usr/bin/dracut --force --hostonly --no-hostonly-cmdline /boot/initramfs-linux.img 6.13.3-arch1-1
dracut[I]: *** Including module: bash ***
dracut[I]: *** Including module: systemd ***
dracut[I]: *** Including module: systemd-ask-password ***
dracut[I]: *** Including module: systemd-battery-check ***
dracut[I]: *** Including module: systemd-initrd ***
dracut[I]: *** Including module: systemd-journald ***
dracut[I]: *** Including module: systemd-modules-load ***
dracut[I]: *** Including module: systemd-pcrphase ***
dracut[I]: *** Including module: systemd-sysctl ***
dracut[I]: *** Including module: systemd-tmpfiles ***
dracut[I]: *** Including module: systemd-udevd ***
dracut[I]: *** Including module: systemd-sysusers ***
Creating group 'nobody' with GID 65534.
Creating group 'audio' with GID 998.
Creating group 'disk' with GID 997.
Creating group 'input' with GID 996.
Creating group 'kmem' with GID 995.
Creating group 'kvm' with GID 994.
Creating group 'lp' with GID 993.
Creating group 'optical' with GID 992.
Creating group 'render' with GID 991.
Creating group 'sgx' with GID 990.
Creating group 'storage' with GID 989.
Creating group 'tty' with GID 5.
Creating group 'uucp' with GID 988.
Creating group 'video' with GID 987.
Creating group 'users' with GID 986.
Creating group 'systemd-journal' with GID 985.
Creating user 'root' (Super User) with UID 0 and GID 0.
Creating user 'nobody' (Kernel Overflow User) with UID 65534 and GID 65534.
dracut[I]: *** Including module: kernel-modules ***
dracut[I]: *** Including module: kernel-modules-extra ***
dracut[I]: *** Including module: resume ***
dracut[I]: *** Including module: rootfs-block ***
dracut[I]: *** Including module: terminfo ***
dracut[I]: *** Including module: udev-rules ***
dracut[I]: *** Including module: dracut-systemd ***
dracut[I]: *** Including module: usrmount ***
dracut[I]: *** Including module: base ***
dracut[I]: *** Including module: fs-lib ***
dracut[I]: *** Including module: shell-interpreter ***
dracut[I]: *** Including module: shutdown ***
dracut[I]: *** Including modules done ***
dracut[I]: *** Installing kernel module dependencies ***
dracut[I]: *** Installing kernel module dependencies done ***
dracut[I]: *** Resolving executable dependencies ***
dracut[I]: *** Resolving executable dependencies done ***
dracut[I]: *** Hardlinking files ***
dracut[I]: *** Hardlinking files done ***
dracut[I]: *** Generating early-microcode cpio image ***
dracut[I]: *** Constructing GenuineIntel.bin ***
dracut[I]: *** Store current command line parameters ***
dracut[I]: *** Stripping files ***
dracut[I]: *** Stripping files done ***
dracut[I]: *** Creating image file '/boot/initramfs-linux.img' ***
dracut[I]: *** Creating initramfs image file '/boot/initramfs-linux.img' done ***
:: Building fallback initramfs for linux (6.13.3-arch1-1)
dracut[I]: Executing: /usr/bin/dracut --force --no-hostonly /boot/initramfs-linux-fallback.img 6.13.3-arch1-1
dracut[I]: *** Including module: bash ***
dracut[I]: *** Including module: systemd ***
dracut[I]: *** Including module: systemd-ask-password ***
dracut[I]: *** Including module: systemd-battery-check ***
dracut[I]: *** Including module: systemd-initrd ***
dracut[I]: *** Including module: systemd-journald ***
dracut[I]: *** Including module: systemd-modules-load ***
dracut[I]: *** Including module: systemd-pcrphase ***
dracut[I]: *** Including module: systemd-sysctl ***
dracut[I]: *** Including module: systemd-tmpfiles ***
dracut[I]: *** Including module: systemd-udevd ***
dracut[I]: *** Including module: modsign ***
dracut[I]: *** Including module: systemd-sysusers ***
Creating group 'nobody' with GID 65534.
Creating group 'audio' with GID 998.
Creating group 'disk' with GID 997.
Creating group 'input' with GID 996.
Creating group 'kmem' with GID 995.
Creating group 'kvm' with GID 994.
Creating group 'lp' with GID 993.
Creating group 'optical' with GID 992.
Creating group 'render' with GID 991.
Creating group 'sgx' with GID 990.
Creating group 'storage' with GID 989.
Creating group 'tty' with GID 5.
Creating group 'uucp' with GID 988.
Creating group 'video' with GID 987.
Creating group 'users' with GID 986.
Creating group 'systemd-journal' with GID 985.
Creating user 'root' (Super User) with UID 0 and GID 0.
Creating user 'nobody' (Kernel Overflow User) with UID 65534 and GID 65534.
dracut[I]: *** Including module: kernel-modules ***
dracut[I]: *** Including module: kernel-modules-extra ***
dracut[I]: *** Including module: hwdb ***
dracut[I]: *** Including module: lunmask ***
dracut[I]: *** Including module: resume ***
dracut[I]: *** Including module: rootfs-block ***
dracut[I]: *** Including module: terminfo ***
dracut[I]: *** Including module: udev-rules ***
dracut[I]: *** Including module: dracut-systemd ***
dracut[I]: *** Including module: usrmount ***
dracut[I]: *** Including module: base ***
dracut[I]: *** Including module: fs-lib ***
dracut[I]: *** Including module: shell-interpreter ***
dracut[I]: *** Including module: shutdown ***
dracut[I]: *** Including modules done ***
dracut[I]: *** Installing kernel module dependencies ***
dracut[I]: *** Installing kernel module dependencies done ***
dracut[I]: *** Resolving executable dependencies ***
dracut[I]: *** Resolving executable dependencies done ***
dracut[I]: *** Hardlinking files ***
dracut[I]: *** Hardlinking files done ***
dracut[I]: *** Generating early-microcode cpio image ***
dracut[I]: *** Constructing GenuineIntel.bin ***
dracut[I]: *** Store current command line parameters ***
dracut[I]: *** Stripping files ***
dracut[I]: *** Stripping files done ***
dracut[I]: *** Creating image file '/boot/initramfs-linux-fallback.img' ***
dracut[I]: *** Creating initramfs image file '/boot/initramfs-linux-fallback.img' done ***

tl:dr- How do I make initrd/boot time faster.
Every suggestion is appreciated,
Thanks,
LL

I’ve experienced super fast boot times without changing anything. On two different PCs and a laptop, I go from powered off to full desktop in around 10 to 15 seconds.

3 Likes

Yer no complaints here either, maybe OP can record it otherwise I honestly wonder how precious these few seconds are to them cos I turn on PC, turn on kettle, log in and then make coffee, PC ready to go

2 Likes

It is never ever that precious. People have just grown to love this stupid fast economy. It affects every industry and every aspect of our lives. Messes up everything we do, similar to enshittification or a product of enshittification or the other way around.

4 Likes

My thoughts exactly, if those few seconds so precious use them to do something else or get better hard ware is my only thoughts here

3 Likes

One obvious thing you can do to speed your boot (if that’s all you’re concerned about), is disable starting of a GUI. The more layers you have, the slower.
Text terminals typically boot in 15 seconds or less :slight_smile:

Oh, you like GUIs? Well you also like fast boot times, pick your poison.

I haven’t actually timed my boot, but I’d say into Plasma is less than 15 seconds, perhaps 20…negligible, since it takes my Bluetooth another 10 seconds to come on so I can move the mouse.

You may also be comparing apples and oranges. Stable Debian (fossilized) is on KDE 5.29 I think. We’re running 6.3.x now…and software tends to get bloatier with more features etc.

3 Likes

As much as I can say, I want a DE and a functioning system, with grub working that’s all. As @dbarronoss said that newer version=more features= more bloated. I was just curious that why was this so slow when debian was much faster? This system is at it’s peak, no more upgrades will increase performance. And I cannot afford a complete new system as of right now, Is asking for suggestions too much? You don’t have to be so toxic…

Sincerely,
LL

tldr

However just by the title if you think its to slow try Windows then get back to me.

3 Likes

I’m not sure why you’ve taken any of the comments as any kind of personal attack.
None of them are about you.

They are about society and/or societal expectations of technology, time, etc.

I benchmarked them both with a stopwatch and windows clocked in at 14s and endeavouros at 18.5s. As I felt endeavouros being slower while booting, that’s why I tried to investigate further in this issue and came at last to the forums when there was no choice.

1 Like

Ok, I perceived that you are talking about me, as I am quite sensitive.

1 Like

Are they on identical drives? (different drives have different read write speeds)
What do you have installed that loads at boot time?

EndeavourOS is a minimal system so if its slow then Its something with YOUR system.

Yep, the same ssd.

personally don’t know and don’t care if you think its slow try another OS.

have an nice day.

Here I was thinking it took close to 2 minutes…
Meanwhile, mine is always a minimum of one minute. :person_shrugging:

EDIT: Technically, that’s a lie. Subtract 10 for the GRUB menu.
So, 50 seconds. And I consider it fast. :wink:

I have did about 2 or 3 installations of endeavouros and they all proved to be slower than windows. I was trying to install vanilla arch but I did not have enough data to complete the installation. And when I tried to install nvidia driver it was a hassle that’s why I wanted to use endeavouros. Other than the boot times this os is perfect for me.

Well, how many times a day do you have to boot? Is it really an issue? I mean it’s like Smokey said, perhaps take a bathroom break or refill your drink.

Though yes, if you slim down startup services (and yes, installing plain Arch is probably the easiest way to do that, with dependencies and all) you can speed it up by perhaps 25%. You may (or may not) loose some features in doing that. I really don’t know…seems to work well enough for me when I’ve done it? Though unless you reboot nearly constantly, not quite sure what good an extra 5 seconds is going to do you. I’d rather have a system that boots slowly, but is more secure, more up to date, and crashes less than an almost instant boot one with deficits.

Still, this does not mean that windows has to be faster than linux, atleast not on old hardware. And I do boot multiple times a day, but who doesn’t like a responsive system?

1 Like

Here’s a little “toxicity”: The OP uses Windows. They think they need to reboot after every update, so they reboot like 20 times a day because Arch-based distros have like 20 updates per day. :rofl:

Okay, I’m done now. Muting this thread because complaining about 18 seconds is quite ridiculous imho.
:zipper_mouth_face: :vulcan_salute:

1 Like

I need to switch between windows and linux constantly, and I use the system atleast 3 times. But whatever, if others don’t care then why do I care? I will delete this thread if I find the option to do so…