ThinClientFasterStartup

Differences between revisions 1 and 11 (spanning 10 versions)
Revision 1 as of 2005-10-31 21:58:19
Size: 476
Editor: 187_220_103_66-WIFI_HOTSPOTS
Comment:
Revision 11 as of 2005-11-03 22:48:16
Size: 3418
Editor: 221_220_103_66-WIFI_HOTSPOTS
Comment:
Deletions are marked like this. Additions are marked like this.
Line 4: Line 4:
 * '''Created''': by OliverGrawert  * '''Created''': [[Date(2005-10-31T22:27:58Z)]] by OliverGrawert
Line 7: Line 7:
    * initramfs-tools
    * debootstrap/ltsp-client
    * ltsp-server (for ltsp-build-client)
    * various bootscripts from various packages
    * syslogd
Line 10: Line 15:
Speed up the Thin Client bootprocess for LTSP
Line 11: Line 18:

Ubuntu 5.10 thin clients take ages to boot. Some of the generic startup time improvements will also apply to thin clients, but we should specifically optimize the thin client startup process as well. Thin clients are usually low-spec hardware and need this more than most.
Line 14: Line 23:
Matthew gives a class on usability at university where uses LTSP in his class, if he's te first in the class for the day he needs to plan extra time for booting the Thin Clients for the pupils.

{{{XXX:smurf:Use cases need to be written positively, not in a "list what's broken" style}}}
Line 15: Line 28:

The boot process of LTSP Thin Clients as well as the default bootstrapping of the thin client chroot environment.
Line 18: Line 33:
 * Rip out the unneeded services from Thin Clients
 * Fix the delay of nfs mounting in klibc
 * Compare the list of started services between LTSP 4.1 and breezy LTSP
 * Remove the "sleep 3" from the initramfs nfs script
 * start LDM as early as possible in the bootprocess
 * find the slowing down part in syslogd (strace) and fix it
 * run a ntpd on the ltsp server and make the thin client pull its time from there
 * make ltsp-build-client's debootstrapping install only the bare minimum needed (probably introduce a thin client mode)
 * drop module-init-tools from the bootprocess
 * find any silent scripts that run and might slow down the bootprocess
Line 19: Line 45:

Cutting down the list of started services in rcS.d on the Thin Client to the following gains us 30 seconds:

 * S02mountvirtfs
 * S04udev
 * S32ltsp-client-setup
 * S40hotplug
 * S40networking
 * S50alsa-utils
 * S70xorg-common

This seems to be the bare minimum of bootscripts.
The boot process still needs ~60 seconds from hitting the power button (which includes BIOS indeed) to being able to log in at the login manager (which is about as much as a normal ubuntu workstation installation), mostly caused by initramfs and hotplug which should be sped up by changes Scott will make to the initramfs/hotplug architecture.
Line 22: Line 61:
Changes in ltsp-build-client are required to remove the unneeded startup scripts.
The initramfs and hotplug changes are covered in other specs.
The ltsp-client startscript should move up to the top of rc2.d
Giving readahead-list a list of files to preload on boot.
Line 24: Line 68:
== Outstanding issues == Breezy users will either need to rebuild their chroot environment (recommended, since the initramfs/hotplug changes will yield the most speedup), or we could provide a script that disables the unneeded services.
Line 26: Line 70:
== BoF agenda and discussion == == Outstanding issues during development ==

Examine the initramfs/hotplug speedup that can be done.

Examine the gain of the inclusion of readahead-list in the bootprocess.

Examining debootstrap for things that dont need to be installed (having a ltsp mode for debootstrap)

Summary

Speed up the Thin Client bootprocess for LTSP

Rationale

Ubuntu 5.10 thin clients take ages to boot. Some of the generic startup time improvements will also apply to thin clients, but we should specifically optimize the thin client startup process as well. Thin clients are usually low-spec hardware and need this more than most.

Use cases

Matthew gives a class on usability at university where uses LTSP in his class, if he's te first in the class for the day he needs to plan extra time for booting the Thin Clients for the pupils.

XXX:smurf:Use cases need to be written positively, not in a "list what's broken" style

Scope

The boot process of LTSP Thin Clients as well as the default bootstrapping of the thin client chroot environment.

Design

  • Rip out the unneeded services from Thin Clients
  • Fix the delay of nfs mounting in klibc
  • Compare the list of started services between LTSP 4.1 and breezy LTSP
  • Remove the "sleep 3" from the initramfs nfs script
  • start LDM as early as possible in the bootprocess
  • find the slowing down part in syslogd (strace) and fix it
  • run a ntpd on the ltsp server and make the thin client pull its time from there
  • make ltsp-build-client's debootstrapping install only the bare minimum needed (probably introduce a thin client mode)
  • drop module-init-tools from the bootprocess
  • find any silent scripts that run and might slow down the bootprocess

Implementation

Cutting down the list of started services in rcS.d on the Thin Client to the following gains us 30 seconds:

  • S02mountvirtfs
  • S04udev
  • S32ltsp-client-setup
  • S40hotplug
  • S40networking
  • S50alsa-utils
  • S70xorg-common

This seems to be the bare minimum of bootscripts. The boot process still needs ~60 seconds from hitting the power button (which includes BIOS indeed) to being able to log in at the login manager (which is about as much as a normal ubuntu workstation installation), mostly caused by initramfs and hotplug which should be sped up by changes Scott will make to the initramfs/hotplug architecture.

Code

Changes in ltsp-build-client are required to remove the unneeded startup scripts. The initramfs and hotplug changes are covered in other specs. The ltsp-client startscript should move up to the top of rc2.d Giving readahead-list a list of files to preload on boot.

Data preservation and migration

Breezy users will either need to rebuild their chroot environment (recommended, since the initramfs/hotplug changes will yield the most speedup), or we could provide a script that disables the unneeded services.

Outstanding issues during development

Examine the initramfs/hotplug speedup that can be done.

Examine the gain of the inclusion of readahead-list in the bootprocess.

Examining debootstrap for things that dont need to be installed (having a ltsp mode for debootstrap)

ThinClientFasterStartup (last edited 2008-08-06 16:28:01 by localhost)