Linux can bootup very slow or fairly fast depending on how its setup. Most Linux distributions load allot of unnecessary stuff, that can be easily disabled.

Boot loaderEdit

Make sure the timeout is set to a low number 2 seconds is fine.

  • Edit: /boot/grub/grub.conf
    • Modify line: timeout 2
  • Edit: /etc/lilo.conf
    • Modify line: timeout 2

Init processesEdit

Disable unneeded processes
  • Commands
    • Gentoo
      • rc-update (console)
      • rc-config (console)
    • Fedora/RHEL:
      • /usr/bin/system-config-services
      • /usr/sbin/serviceconf
      • /usr/sbin/ntsysv (console)
      • chkconfig (console)
    • Red Hat:
      • /usr/bin/redhat-config-services
      • /usr/sbin/ntsysv (console)
    • Ubuntu / Debian:
      • bum (Boot Up Manager) (GUI)
      • /usr/bin/services-admin (GUI)
      • /usr/sbin/sysv-rc-conf (console)
List of init processes

this list contains services from many different distributions, your system wont have all of them.

Init process Recommendation Description
alsasound Keep Sound
autofs automounts file systems on demand, USB drives, cdrom
arpwatch Keeps track of IP address to MAC address pairings
atd Run scheduled batch jobs
bluetooth, pand, hidd, dund Remove* Bluetooth netwoork support.
bootmisc Keep
checkfs Keep checks disk for errors
checkroot Keep checks disk for errors
clamd Remove* Antivirus
clock Keep
consolefont Keep
gpm Remove* Console mouse
hostname Keep Sets hostname
hplip Remove* HP printer/scanner/fax services
https Remove* Apache web server.
hsqldb Remove* Database services
iptables Firewall rules interface to kernel.
irexec Remove* Lirc controller
keymaps, keytable Loads selected keyboard map as set in /etc/sysconfig/keyboard
kudzu Keep Redhat new hardware probe/detection
cups, lpd Remove* Printer services.
lircd Remove* lirc services.
lircmd Remove* Lirc mouse services.
microcode_ctl Uploads microcode to kernel and ultimately to the Intel Pentium processor. (Hardware specific.)
mysqld Remove* Database services
modules Keep Kernel modules
named Remove* DNS name services (Bind)
network Keep Network/ethernet
net.eth0 Keep ethernet card
net.lo Keep ethernet loop-back
netmount Remove*
nfs Remove* Network file system. Unix file sharing services. Also uses services: nfslock, portmap, rpcgssd, rpcidmapd, rpcsvcgssd
nscd Password and group lookup services for use with network authentication (NIS, LDAP,...).
ntp-client Remove* sets clock from internet
ntpd Remove* time server, not needed for ntp-client
numlock Optional
pydoc-2.4 Remove*
pydoc-2.5 Remove*
pydoc-2.6 Remove*
rawdevices Enables raw IO. Useful for Oracle and software which utilizes this for high speed disk access.
rsyncd Remove* rsync server
smb Remove* SAMBA: MS/Windows PC file sharing services
sshd Remove* ssh server, not required to use ssh or ssh2
syslog-ng, syslog Keep System log file facility.
urandom, random Keep random number gen
vixie-cron, crond, anacron Keep loads scheduled processes
xdm graphical login
ypbind Remove* NIS file sharing/authentication infrastructure service.
yppasswd Remove* NIS file sharing/authentication infrastructure service.
ypserv Remove* NIS file sharing/authentication infrastructure service.

* The remove recommendations, simply mean they are not required for normal operation. But if you want that feature to work, you need to enable it. For example if you want to use a printer, you need to enable CUPS.

Enable parallel loading
  • Gentoo Linux
    • Edit: /etc/conf.d/rc:
    • Set: RC_PARALLEL_STARTUP="yes"


Recompile Kernel to fit your system
  • Remove any unneeded components, you may be able to find the exact components required for your computer, and remove hundreds of unnecessary and unused ones.
Use gzip compression on Kernel
gzip decompresses faster than Bzip2 and LZMA.
  • General setup --->
    • Kernel compression mode (Gzip) --->

Make sure system is properly configuredEdit

Things can load slower if you system has to test and guess settings. X windows loads slower if your host is not set.

Make sure configs match
  • Hostname (gentoo)
    • for example hostname=tux networkname=tuxnet
    • Edit: /etc/hosts
      • Modify: tux tux.tuxnet localhost
    • Edit: /etc/conf.d/net
      • Modify: dns_domain_lo="tuxnet"
    • Edit: /etc/conf.d/hostname
      • Modify: HOSTNAME="tux"

Other adviceEdit

Community content is available under CC-BY-SA unless otherwise noted.