[Initscripts-ng-commits] r176 - in /trunk/www/soc2006-bootsystem: ./ deliverable4/

dvictoria-guest at users.alioth.debian.org dvictoria-guest at users.alioth.debian.org
Fri Sep 8 17:22:05 UTC 2006


Author: dvictoria-guest
Date: Fri Sep  8 17:22:04 2006
New Revision: 176

URL: http://svn.debian.org/wsvn/initscripts-ng/?sc=1&rev=176
Log:
small changes

Added:
    trunk/www/soc2006-bootsystem/deliverable4/
    trunk/www/soc2006-bootsystem/deliverable4.html
    trunk/www/soc2006-bootsystem/deliverable4/bootchart_debiansid2_dash+reorder+hwclock+readahead-gdm_small.png   (with props)
    trunk/www/soc2006-bootsystem/deliverable4/bootchart_debiansid2_original2_small.png   (with props)
    trunk/www/soc2006-bootsystem/deliverable4/debianboot.bib
    trunk/www/soc2006-bootsystem/deliverable4/debianboot_d4.kilepr
    trunk/www/soc2006-bootsystem/deliverable4/debianboot_d4.pdf   (with props)
    trunk/www/soc2006-bootsystem/deliverable4/debianboot_d4.tex
Modified:
    trunk/www/soc2006-bootsystem/deliverables.html

Added: trunk/www/soc2006-bootsystem/deliverable4.html
URL: http://svn.debian.org/wsvn/initscripts-ng/trunk/www/soc2006-bootsystem/deliverable4.html?rev=176&op=file
==============================================================================
--- trunk/www/soc2006-bootsystem/deliverable4.html (added)
+++ trunk/www/soc2006-bootsystem/deliverable4.html Fri Sep  8 17:22:04 2006
@@ -1,0 +1,214 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<?xml-stylesheet href="sitewide.css" type="text/css"?>
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
+<head>
+<meta http-equiv="content-type" content="application/xhtml+xml; charset=iso-8859-1" />
+<meta name="author" content="Carlos Villegas"
+<link rel="stylesheet" type="text/css" href="sitewide.css" title="Debian" />
+<title>Improve the Debian boot process - SOC2006</title>
+</head>
+<body>
+<div class="container">
+<div class="menu">
+	<div class="center">
+	  <!img src="/images/soc2006.jpg" alt="ProjectDebianBoot" width="50" height="61" />
+	  <h2>&#187; <a href="http://wiki.debian.org/SummerOfCode2006">Improve Debian boot</a> &#171;</h2>
+	</div>
+	<p>
+	<b>google Summer of Code 2006</b><br>
+	Student:<a href=members.html>Carlos Villegas</a><br>
+	Mentor:<a href=members.html>Petter Reinholdtsen</a>
+	</p>
+	<h3>Project</h3>
+		<p>
+			<a href="index.html"> About</a><br />
+			<a href="timetable.html"> Timetable</a><br />
+			<a href="deliverables.html"> Deliverables</a><br />
+			<a href="proposal.html"> SOC Proposal</a><br />
+			<a href="resources.html"> Resources</a><br />
+			<a href="http://bootdebian.blogspot.com"> blog</a><br />
+			</p>
+	<h3>Related links</h3>
+		<p>
+			<a href="http://code.google.com/soc"> google Summer of Code</a><br />
+			<a href="http://wiki.debian.org/SummerOfCode2006">debian in the SOC</a><br />
+		</p>
+  	<p></p>
+	<a href="http://www.debian.org/"><img src="images/debian_banner.gif" alt="" /></a>
+</div>
+<div class="content">
+
+
+
+
+       		       	                            
+<title> Improve the Debian Boot Process\ 
+Google Summer of Code 2006 \
+\vspace{4mm}
+New boot process proposal\
+Fourth Deliverable\
+\vspace{4mm}</title>
+ 
+<h1 align="center">Improve the Debian Boot Process<br />
+Google Summer of Code 2006 <br />
+<br />
+New boot process proposal<br />
+Fourth Deliverable<br />
+<br /> </h1>
+
+<div class="p"><!----></div>
+
+<h3 align="center"><em>student</em>: Carlos Villegas (Carlos.Villegas at nuim.ie)<br />
+<em>mentor</em>: Petter Reinholdtsen (pere at hungry.com) </h3>
+
+<div class="p"><!----></div>
+    <h2><a name="tth_sEc1">
+1</a>&nbsp;&nbsp;Introduction</h2>
+
+<div class="p"><!----></div>
+In this deliverable we present a proposal to change Debian's boot process to be faster. This proposal is a result of the different tests of hotspots presented in the deliverable 3.
+
+<div class="p"><!----></div>
+The main driving force to change the boot process is given by run-time dependency information, i.e., LSB-compliance. Several steps were taken towards making Debian boot process LSB-compliant. Amoung them we can account for a patch included recently in lintian to check LSB-compliance, a guideline for maintainers, a program to check LSB compliance of the init-scripts, a webpage updated frequently showing the status of lsb-compliance of the desktop subset of init-scripts, etc. If the tendency to make debian LSB-compliant continues, we may expect the relase etch+ to be compliant.
+
+<div class="p"><!----></div>
+Besides, we make a brief comparison with the current boot process and other distributions.
+
+<div class="p"><!----></div>
+Discussion on the project may be followed in the <a href="http://lists.alioth.debian.org/mailman/listinfo/initscripts-ng-devel">initscripts-ng-devel mailing list</a> and the channel #pkg-sysvinit in <em>irc.debian.org</em>.
+
+<div class="p"><!----></div>
+ <h2><a name="tth_sEc2">
+2</a>&nbsp;&nbsp;Boot process proposal</h2>
+
+<div class="p"><!----></div>
+The boot process proposal aims to make the boot process faster and to provide a correct boot order thus allowing parallel execution of init-scripts. The approach proposed here has obtained an 8 second time decrease from 53 seconds to 45 sec of sysvinit time.<a href="#tthFtNtAAB" name="tthFrefAAB"><sup>1</sup></a>
+
+<div class="p"><!----></div>
+The boot process proposal includes:
+
+<div class="p"><!----></div>
+
+<ol type="1">
+<li> Using dash as /bin/sh,
+<div class="p"><!----></div>
+</li>
+
+<li> reordering the init-scripts,
+<div class="p"><!----></div>
+</li>
+
+<li> setting the hwclock on the background,
+<div class="p"><!----></div>
+</li>
+
+<li> using readahead as preloading and
+<div class="p"><!----></div>
+</li>
+
+<li> removing unused init-scripts (gdm and hotkey-setup).
+<div class="p"><!----></div>
+</li>
+</ol>
+
+<div class="p"><!----></div>
+The previous steps are applied as described in the deliverable 3. The original and the modified bootcharts are presented as follows. Other hotspots were tried as well like parallel execution (with shell option), prelinking, remove the discovery init-script and setting the network in the background, and none of them caused a further time reduction and thus they were not included. Nevertheless, they also didn't affected the boot time negatively.
+
+<div class="p"><!----></div>
+
+<div class="p"><!----></div>
+<a name="tth_fIg1">
+</a>             <img src="deliverable4/bootchart_debiansid2_original2_small.png" alt="bootchart_debiansid2_original2_small.png" />
+    
+<center>Figure 1: Bootchart of reference system (freshly installed sid)</center>
+    <a name="fig:bootchart_original2_small">
+</a>
+
+<div class="p"><!----></div>
+
+<div class="p"><!----></div>
+<a name="tth_fIg2">
+</a>     <img src="deliverable4/bootchart_debiansid2_dash+reorder+hwclock+readahead-gdm_small.png" alt="bootchart_debiansid2_dash+reorder+hwclock+readahead-gdm_small.png" />
+    
+<center>Figure 2: Bootchart for proposed boot system</center>
+    <a name="fig:bootchart_dash+reorder+hwclock+readahead-gdm_small">
+</a>
+
+<div class="p"><!----></div>
+ <h2><a name="tth_sEc3">
+3</a>&nbsp;&nbsp;Comparison with other systems</h2>
+
+<div class="p"><!----></div>
+The proposed boot process for Debian should not be so hard for maintainers to accept as it is not far from the proposals made by other distributions. For example, Ubuntu already implements readahead and dash as /bin/sh&nbsp;[<a href="#ubunto-shtodash" name="CITEubunto-shtodash">1</a>]. Besides, SuSE provides a well tweaked version of insserv to provide a good system order for every different configuration based on run-time dependencies among other issues. The fact of putting the hwclock on the background may be an issue if it is not finished on time although normally the programs that require it are in /etc/rc2.d while hwclock.sh is in /etc/rcS.d.
+
+<div class="p"><!----></div>
+ <h2><a name="tth_sEc4">
+4</a>&nbsp;&nbsp;Bugs and/or changes for the process to be useful for etch+</h2>
+
+<div class="p"><!----></div>
+The main issues to work on to further improve the boot process are:
+
+<div class="p"><!----></div>
+
+<ol type="1">
+<li> include a program that checks and corrects the boot order every time something new is installed and,
+<div class="p"><!----></div>
+</li>
+
+<li> work on a better readahead list.
+<div class="p"><!----></div>
+</li>
+</ol>
+
+<div class="p"><!----></div>
+The former comes as a modification to insserv that may migrate to update-rc (sysvinit) while the latter consists of a list obtained experimentally for the typical system.
+
+<div class="p"><!----></div>
+ <h2><a name="tth_sEc5">
+5</a>&nbsp;&nbsp;Conclusions and Future Work</h2>
+
+<div class="p"><!----></div>
+The proposal presented here should be improved and complemented with code to check the proper run-time dependencies of the init-scripts. With the latter, together with the lintian check for LSB-compliance, the debian distribution etch+ should be compliant without much trouble as maintainers would make the necessary changes based on a real benefit.
+
+<div class="p"><!----></div>
+Discussion on the project may be followed in the <a href="http://lists.alioth.debian.org/mailman/listinfo/initscripts-ng-devel">initscripts-ng-devel mailing list</a> and the channel #pkg-sysvinit in <em>irc.debian.org</em>.
+
+<div class="p"><!----></div>
+
+<h2>References</h2>
+
+<dl compact="compact">
+ <dt><a href="#CITEubunto-shtodash" name="ubunto-shtodash">[1]</a></dt><dd>
+Ubuntu feature specification: Dash as /bin/sh.
+
+  <a href="https://launchpad.net/distros/ubuntu/+spec/dash-as-bin-sh">https://launchpad.net/distros/ubuntu/+spec/dash-as-bin-sh</a>.</dd>
+</dl>
+	
+
+<div class="p"><!----></div>
+<hr /><h3>Footnotes:</h3>
+
+<div class="p"><!----></div>
+<a name="tthFtNtAAB"></a><a href="#tthFrefAAB"><sup>1</sup></a><b>sysvinit time</b> - from the moment /sbin/init takes control of boot process until KDE becomes usable.
+
+</div>
+<!--	<hr /> -->
+	<div class="sub_links">
+			<a href="index.html"> About</a>  |
+			<a href="timetable.html"> Timetable</a> |  
+			<a href="deliverables.html"> Deliverables</a> |
+			<a href="http://bootdebian.blogspot.com"> blog</a> |
+	</div>
+	<div class="copyright">
+  Carlos Villegas |
+  Last Modified:
+  	Jun 6, 2006.
+		<br />
+		a design by <a href="http://oswd.org/userinfo.phtml?user=tezeuz">tezeuz</a> |
+		<a href="http://validator.w3.org/check/referer">Valid XHTML 1.0 Strict</a> |
+		<a href="http://jigsaw.w3.org/css-validator/check/referer">Valid CSS</a>
+	</div>
+</div>
+</body>
+</html>

Added: trunk/www/soc2006-bootsystem/deliverable4/bootchart_debiansid2_dash+reorder+hwclock+readahead-gdm_small.png
URL: http://svn.debian.org/wsvn/initscripts-ng/trunk/www/soc2006-bootsystem/deliverable4/bootchart_debiansid2_dash%2Breorder%2Bhwclock%2Breadahead-gdm_small.png?rev=176&op=file
==============================================================================
Binary file - no diff available.

Propchange: trunk/www/soc2006-bootsystem/deliverable4/bootchart_debiansid2_dash+reorder+hwclock+readahead-gdm_small.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: trunk/www/soc2006-bootsystem/deliverable4/bootchart_debiansid2_original2_small.png
URL: http://svn.debian.org/wsvn/initscripts-ng/trunk/www/soc2006-bootsystem/deliverable4/bootchart_debiansid2_original2_small.png?rev=176&op=file
==============================================================================
Binary file - no diff available.

Propchange: trunk/www/soc2006-bootsystem/deliverable4/bootchart_debiansid2_original2_small.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: trunk/www/soc2006-bootsystem/deliverable4/debianboot.bib
URL: http://svn.debian.org/wsvn/initscripts-ng/trunk/www/soc2006-bootsystem/deliverable4/debianboot.bib?rev=176&op=file
==============================================================================
--- trunk/www/soc2006-bootsystem/deliverable4/debianboot.bib (added)
+++ trunk/www/soc2006-bootsystem/deliverable4/debianboot.bib Fri Sep  8 17:22:04 2006
@@ -1,0 +1,165 @@
+
+ at Article{LSBwikiguide,
+	title="How to LSBize an init script",
+	note="\href{http://wiki.debian.org/LSBInitScripts}{http://wiki.debian.org/LSBInitScripts}"}
+
+
+ at Article{ubunto-shtodash,
+	title="Ubuntu Feature Specification: Dash as /bin/sh",
+	note="\href{https://launchpad.net/distros/ubuntu/+spec/dash-as-bin-sh}{https://launchpad.net/distros/ubuntu/+spec/dash-as-bin-sh}"}
+
+
+ at Article{bootchartd-script,
+	title="Bootchart logger script",
+	author="Ziga Mahkovec"
+	note="/sbin/bootchartd"}
+
+ at Article{bootchart-webpage,
+	title="Bootchart -- Boot Process Performance Visualization",
+	note="\newline \href{http://www.bootchart.org/}{http://www.bootchart.org/}"}
+
+ at inproceedings{bootdebian-d1,
+author="Carlos Villegas and Petter Reinholdtsen",
+title="State-of-the-Art in the Boot Process ",
+booktitle="Improve the Debian Boot Process Project of
+Google Summer of Code 2006 ",
+note="\newline \href{http://initscripts-ng.alioth.debian.org/soc2006-bootsystem/deliverable1.html}{http://initscripts-ng.alioth.debian.org/soc2006-bootsystem/deliverable1.html}",
+month=jun,
+year=2006}
+
+
+ at inproceedings{bootdebian-d2,
+author="Carlos Villegas and Petter Reinholdtsen",
+title="Benchmarking debian and first hotspots",
+booktitle="Improve the Debian Boot Process Project of
+Google Summer of Code 2006 ",
+note="\newline \href{http://initscripts-ng.alioth.debian.org/soc2006-bootsystem/deliverable2.html}{http://initscripts-ng.alioth.debian.org/soc2006-bootsystem/deliverable2.html}",
+month=jun,
+year=2006}
+
+
+
+ at Article{suseReference,
+	title="SUSE Linux Reference 10.1",
+	month=apr,
+	year=2006,
+	note="\newline \href{http://ftp.opensuse.org/pub/opensuse/distribution/SL-10.1/inst-source/docu/en/reference_en.pdf}{http://ftp.opensuse.org/pub/opensuse/distribution/SL-10.1/inst-source/docu/en/reference\_en.pdf}"}
+
+ at Article{suseREADME,
+	title="(suse 10)/etc/init.d/README -- The SUSE boot concept"}
+
+ at Article{initscripts-ng,
+	title="Debian next generation initscripts project at Alioth",
+	note="\href{http://alioth.debian.org/projects/initscripts-ng}{http://alioth.debian.org/projects/initscripts-ng}"}
+
+
+ at Article{BrasseurPreloading,
+	title="Linux Optimization",
+	author="Eric Brasseur",
+	month=may,
+	year=2005,
+	note="\newline \href{http://www.4p8.com/eric.brasseur/linux_optimization.html}{http://www.4p8.com/eric.brasseur/linux\_optimization.html}"}
+
+
+ at Article{sysvinitIRC,
+	title="\#pkg-sysvinit at irc.debian.org"}
+
+
+
+ at Article{peterSoCProposal,
+	title="Ideas for speeding up the Debian boot process",
+	month=jan,
+	year=2006,
+	note="\newline \href{http://lists.alioth.debian.org/pipermail/pkg-sysvinit-devel/2006-January/000542.html}{http://lists.alioth.debian.org/pipermail/pkg-sysvinit-devel/2006-January/000542.html}"}
+
+
+
+
+ at Article{MewburnNetBSD,
+	author="Luke Mewburn",
+	title="The Design and Implementation of the NetBSD rc.d system",
+	month=jun,
+	year=2001,
+	booktitle="Usenix Annual Technical Conference",
+	note="\newline \href{http://www.mewburn.net/luke/papers/rc.d.pdf}{http://www.mewburn.net/luke/papers/rc.d.pdf}"}
+
+ at Article{rc-scriptFreeBSD,
+	title="(freebsd/src/etc/rc script from FreeBSD",
+	month=feb,
+	year=2006,
+	note="\newline \href{http://www.freebsd.org/cgi/cvsweb.cgi/src/etc/rc}{http://www.freebsd.org/cgi/cvsweb.cgi/src/etc/rc}"}
+
+ at Article{rcorder-manFreeBSD,
+	title="RCORDER(8) in the FreeBSD System Manager's Manual",
+	month=jul,
+	year=2000,
+	note="\newline \href{http://www.freebsd.org/cgi/man.cgi?query=rcorder}{http://www.freebsd.org/cgi/man.cgi?query=rcorder}"}
+
+
+ at Article{rcS-manDebian,
+	title="rcS(5) man page in Debian Administrator's Manual",
+	month=nov,
+	year=2003}
+
+
+ at Article{ubuntu0smf,
+	title="Ubuntu and SMF",
+	note="\newline \href{http://www.calivia.com/blog/mike/solaris_smf_for_ubuntu0packages_on_opensolaris}{http://www.calivia.com/blog/mike/solaris\_smf\_for\_ubuntu\_packages\_on\_opensolaris}"}
+
+ at Article{fedora0analysis,
+	title="Fedora analysis",
+	note="\href{http://fedoraproject.org/wiki/FCNewInit}{http://fedoraproject.org/wiki/FCNewInit}"}
+
+ at Article{chkconfig-Manfedora,
+	title="CHKCONFIG(8) man page in Fedora Core 5"}
+
+ at Article{margablog-boot,
+	title="Marga's Blog -- Parallel Booting",
+	note="\newline \href{http://www.marga.com.ar/blog/index.cgi/debian/Parallel_booting.html}
+{www.marga.com.ar/blog/index.cgi/debian/Parallel\_booting.html}"}
+
+ at inproceedings{Moraes0sysvinit,
+author="Henrique de Moraes Holschuh",
+title="System Init Scripts and the Debian O.S.",
+booktitle="3rd Debian Conference",
+note="\newline \href{http://alioth.debian.org/docman/view.php/30730/38/debconf2-initscripts-bkg.pdf}{alioth.debian.org/docman/view.php/30730/38/debconf2-initscripts-bkg.pdf}",
+month=jun,
+year=2002}
+
+ at Article{readahead0aist,title="Readahead in Knoppix",
+note="\newline \href{http://unit.aist.go.jp/itri/knoppix/readahead/index-en.html}{http://unit.aist.go.jp/itri/knoppix/readahead/index-en.html}"}
+
+ at Article{readahead0die,
+	title="Readahead(2) -- Linux man page",
+	note="\newline \href{http://www.die.net/doc/linux/man/man2/readahead.2.html}{http://www.die.net/doc/linux/man/man2/readahead.2.html}"}
+
+ at Article{initng0wiki,
+	title="initng -- Next generation init system",
+	note="\newline \href{http://www.initng.org/wiki}{http://www.initng.org/wiki}"}
+
+ at Article{mandiva0cooker,
+	title="Mandrake Linux Archives: cooker at mandrivalinux.org",
+	month=oct,
+	year=2005,
+	note="\newline \href{http://archives.mandrivalinux.com/cooker/2005-10/msg00256.php}{http://archives.mandrivalinux.com/cooker/2005-10/msg00256.php}"}
+
+ at Article{initscripts0ThomasHood2feb,
+author="Jane Weideman",
+title="Ubuntu plans for init",
+note="\newline \href{https://wiki.ubuntu.com/ReplacementInit}{https://wiki.ubuntu.com/ReplacementInit}"}
+
+ at Article{ucla0sysvinit,
+	title="startpar manual",
+	note="\newline \href{www.math.ucla.edu/computing/docindex/sysvinit-man-25.html}{www.math.ucla.edu/computing/docindex/sysvinit-man-25.html}"}
+
+ at Article{man0insserv,
+	title="insserv(8) manual",
+	note="\newline \href{http://man-wiki.net/index.php/8:insserv}{http://man-wiki.net/index.php/8:insserv}"}
+
+ at Article{initscripts0Petter8feb,
+	title="Ubuntu plans for init",
+	author="Petter Reinholdtsen",
+	month=feb,
+	year=2006,
+	note="\newline \href{http://lists.alioth.debian.org/pipermail/initscripts-ng-devel/2006-February/000251.html}{http://lists.alioth.debian.org/pipermail/initscripts-ng-devel/2006-February/000251.html}"}
+

Added: trunk/www/soc2006-bootsystem/deliverable4/debianboot_d4.kilepr
URL: http://svn.debian.org/wsvn/initscripts-ng/trunk/www/soc2006-bootsystem/deliverable4/debianboot_d4.kilepr?rev=176&op=file
==============================================================================
--- trunk/www/soc2006-bootsystem/deliverable4/debianboot_d4.kilepr (added)
+++ trunk/www/soc2006-bootsystem/deliverable4/debianboot_d4.kilepr Fri Sep  8 17:22:04 2006
@@ -1,0 +1,2 @@
+[General]
+name=debianboot_d4

Added: trunk/www/soc2006-bootsystem/deliverable4/debianboot_d4.pdf
URL: http://svn.debian.org/wsvn/initscripts-ng/trunk/www/soc2006-bootsystem/deliverable4/debianboot_d4.pdf?rev=176&op=file
==============================================================================
Binary file - no diff available.

Propchange: trunk/www/soc2006-bootsystem/deliverable4/debianboot_d4.pdf
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: trunk/www/soc2006-bootsystem/deliverable4/debianboot_d4.tex
URL: http://svn.debian.org/wsvn/initscripts-ng/trunk/www/soc2006-bootsystem/deliverable4/debianboot_d4.tex?rev=176&op=file
==============================================================================
--- trunk/www/soc2006-bootsystem/deliverable4/debianboot_d4.tex (added)
+++ trunk/www/soc2006-bootsystem/deliverable4/debianboot_d4.tex Fri Sep  8 17:22:04 2006
@@ -1,0 +1,116 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
+% Improve the Debian Boot Process.
+% Google Summer of Code 2006
+% Second Delivery (D3).
+%   o DEBIAN
+%   o Carlos Villegas
+%   o Petter Reinholdtsen
+%   o Created: 31-July-2006 
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
+
+
+\documentclass[a4paper,10pt]{article}
+
+\bibliographystyle{plain}
+\usepackage{subfigure}
+\usepackage[dvips]{graphicx}
+\usepackage{hyperref}
+
+
+       \usepackage[latin1]{inputenc}
+	\usepackage{fullpage}
+	\usepackage{color}
+       \usepackage{array}
+	\usepackage{longtable}
+       \usepackage{calc}
+       \usepackage{multirow}
+       \usepackage{hhline}
+       \usepackage{ifthen}
+
+
+\parskip 3mm
+\parindent 0mm
+
+%%\usepackage{pdfdraftcopy}
+%opening
+\title{Improve the Debian Boot Process\\ 
+Google Summer of Code 2006 \\
+\vspace{4mm}
+New boot process proposal\\
+Fourth Deliverable\\
+\vspace{4mm}}
+
+\author{\emph{student}: Carlos Villegas (Carlos.Villegas at nuim.ie)\\
+\emph{mentor}: Petter Reinholdtsen (pere at hungry.com)}
+
+
+
+\begin{document}
+
+\maketitle
+
+
+\section{Introduction}
+
+In this deliverable we present a proposal to change Debian's boot process to be faster. This proposal is a result of the different tests of hotspots presented in the deliverable 3.
+
+The main driving force to change the boot process is given by run-time dependency information, i.e., LSB-compliance. Several steps were taken towards making Debian boot process LSB-compliant. Amoung them we can account for a patch included recently in lintian to check LSB-compliance, a guideline for maintainers, a program to check LSB compliance of the init-scripts, a webpage updated frequently showing the status of lsb-compliance of the desktop subset of init-scripts, etc. If the tendency to make debian LSB-compliant continues, we may expect the relase etch+ to be compliant.
+
+Besides, we make a brief comparison with the current boot process and other distributions.
+
+Discussion on the project may be followed in the \href{http://lists.alioth.debian.org/mailman/listinfo/initscripts-ng-devel}{initscripts-ng-devel mailing list} and the channel \#pkg-sysvinit in \emph{irc.debian.org}.
+
+\section{Boot process proposal}
+
+The boot process proposal aims to make the boot process faster and to provide a correct boot order thus allowing parallel execution of init-scripts. The approach proposed here has obtained an 8 second time decrease from 53 seconds to 45 sec of sysvinit time.\footnote{\textbf{sysvinit time} - from the moment /sbin/init takes control of boot process until KDE becomes usable.}
+
+The boot process proposal includes:
+
+\begin{enumerate}
+\item Using dash as /bin/sh,
+\item reordering the init-scripts,
+\item setting the hwclock on the background,
+\item using readahead as preloading and
+\item removing unused init-scripts (gdm and hotkey-setup).
+\end{enumerate}
+
+The previous steps are applied as described in the deliverable 3. The original and the modified bootcharts are presented as follows. Other hotspots were tried as well like parallel execution (with shell option), prelinking, remove the discovery init-script and setting the network in the background, and none of them caused a further time reduction and thus they were not included. Nevertheless, they also didn't affected the boot time negatively.
+
+\begin{figure}[th]
+            \includegraphics[width=0.95\textwidth]{bootchart_debiansid2_original2_small}
+    \caption{Bootchart of reference system (freshly installed sid)}
+    \label{fig:bootchart_original2_small}
+\end{figure}
+\begin{figure}[th]
+    \includegraphics[width=0.83\textwidth]{bootchart_debiansid2_dash+reorder+hwclock+readahead-gdm_small}
+    \caption{Bootchart for proposed boot system}
+    \label{fig:bootchart_dash+reorder+hwclock+readahead-gdm_small}
+\end{figure}
+
+
+\section{Comparison with other systems}
+
+The proposed boot process for Debian should not be so hard for maintainers to accept as it is not far from the proposals made by other distributions. For example, Ubuntu already implements readahead and dash as /bin/sh~\cite{ubunto-shtodash}. Besides, SuSE provides a well tweaked version of insserv to provide a good system order for every different configuration based on run-time dependencies among other issues. The fact of putting the hwclock on the background may be an issue if it is not finished on time although normally the programs that require it are in /etc/rc2.d while hwclock.sh is in /etc/rcS.d.
+
+
+\section{Bugs and/or changes for the process to be useful for etch+}
+
+The main issues to work on to further improve the boot process are:
+
+\begin{enumerate}
+\item include a program that checks and corrects the boot order every time something new is installed and,
+\item work on a better readahead list.
+\end{enumerate}
+
+The former comes as a modification to insserv that may migrate to update-rc (sysvinit) while the latter consists of a list obtained experimentally for the typical system.
+
+\section{Conclusions and Future Work}
+
+The proposal presented here should be improved and complemented with code to check the proper run-time dependencies of the init-scripts. With the latter, together with the lintian check for LSB-compliance, the debian distribution etch+ should be compliant without much trouble as maintainers would make the necessary changes based on a real benefit.
+
+Discussion on the project may be followed in the \href{http://lists.alioth.debian.org/mailman/listinfo/initscripts-ng-devel}{initscripts-ng-devel mailing list} and the channel \#pkg-sysvinit in \emph{irc.debian.org}.
+
+
+\bibliography{debianboot}	
+
+\end{document}

Modified: trunk/www/soc2006-bootsystem/deliverables.html
URL: http://svn.debian.org/wsvn/initscripts-ng/trunk/www/soc2006-bootsystem/deliverables.html?rev=176&op=diff
==============================================================================
--- trunk/www/soc2006-bootsystem/deliverables.html (original)
+++ trunk/www/soc2006-bootsystem/deliverables.html Fri Sep  8 17:22:04 2006
@@ -55,7 +55,7 @@
 Implementation of remaining <i>hot spots</i>.
 Reorder	<i>hotspots</i> by importance from previous results and possibly add new ones.
 <p>
-	<h3>Deliverable 4</h3>
+	<h3><a href=deliverable4.html>Deliverable 4</a><a href=deliverable4/debianboot_d4.pdf>          <small>(PDF)</small></a></h3>
 <p>
 Implementation of new boot process based on results in an iterative way.
 Comparison with the current boot process and other platforms.




More information about the Initscripts-ng-commits mailing list