<?xml version="1.0" encoding="utf-8" ?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:syn="http://purl.org/rss/1.0/modules/syndication/" xmlns="http://purl.org/rss/1.0/">




    



<channel rdf:about="http://www.harald-hoyer.de/fedora/fedora/RSS">
  <title>Fedora</title>
  <link>http://www.harald-hoyer.de</link>

  <description>
    
      Fedora related articles
    
  </description>

  

  
            <syn:updatePeriod>daily</syn:updatePeriod>
            <syn:updateFrequency>1</syn:updateFrequency>
            <syn:updateBase>2007-08-28T22:55:46Z</syn:updateBase>
        

  <image rdf:resource="http://www.harald-hoyer.de/logo.png"/>

  <items>
    <rdf:Seq>
      
        <rdf:li rdf:resource="http://www.harald-hoyer.de/personal/blog/fedora-15-8-services-you-can-most-likely-disable"/>
      
      
        <rdf:li rdf:resource="http://www.harald-hoyer.de/personal/blog/fedora-15-boot-optimization"/>
      
      
        <rdf:li rdf:resource="http://www.harald-hoyer.de/personal/blog/dracut-talk-at-linuxtag"/>
      
      
        <rdf:li rdf:resource="http://www.harald-hoyer.de/personal/blog/dracut-moved-to-kernel.org"/>
      
      
        <rdf:li rdf:resource="http://www.harald-hoyer.de/personal/blog/mac-book-touchpad-driver-for-fedora-15"/>
      
      
        <rdf:li rdf:resource="http://www.harald-hoyer.de/personal/blog/fosdem-2011"/>
      
      
        <rdf:li rdf:resource="http://www.harald-hoyer.de/personal/blog/fudcon-zurich-2010"/>
      
      
        <rdf:li rdf:resource="http://www.harald-hoyer.de/personal/blog/ipod-m4a-to-mp3-converter"/>
      
      
        <rdf:li rdf:resource="http://www.harald-hoyer.de/personal/blog/dracut-talk-on-fosdem-2010"/>
      
      
        <rdf:li rdf:resource="http://www.harald-hoyer.de/personal/blog/shell-gnome-notification-applet"/>
      
      
        <rdf:li rdf:resource="http://www.harald-hoyer.de/personal/blog/dracut"/>
      
      
        <rdf:li rdf:resource="http://www.harald-hoyer.de/personal/blog/added-ubuntu-8.10-and-9.04-to-the-bootchart"/>
      
      
        <rdf:li rdf:resource="http://www.harald-hoyer.de/personal/blog/updated-the-bootchart-comparison-of-popular-linux"/>
      
      
        <rdf:li rdf:resource="http://www.harald-hoyer.de/personal/blog/internet-with-your-mobile-phone-over-bluetooth"/>
      
      
        <rdf:li rdf:resource="http://www.harald-hoyer.de/personal/blog/20_Seconds_Boot_Feature_Test_Day"/>
      
    </rdf:Seq>
  </items>

</channel>


  <item rdf:about="http://www.harald-hoyer.de/personal/blog/fedora-15-8-services-you-can-most-likely-disable">
    <title>Fedora 15 - 8 services you can most likely disable</title>
    <link>http://www.harald-hoyer.de/personal/blog/fedora-15-8-services-you-can-most-likely-disable</link>
    <description>This article shows you the 8 services you can most likely disable and speed up your boot process.</description>
    <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>If you installed Fedora 15 from the live CD you will end up with some system services enabled, which you most likely do not need _ever_.</p>
<p>These services are:</p>
<ul>
<li><b>fcoe</b> and <b>lldpad</b>, only needed, if you have fibre channel over ethernet devices</li>
<li><b>iscsi</b> and <b>iscsid</b>, only needed, if you have iSCSI devices</li>
<li><b>livesys</b> and <b>livesys-late</b>, only needed for the live CD</li>
<li><b>mdmonitor</b>, only needed, if you have RAID devices</li>
</ul>
<p>You can disable them with system-config-services or by:</p>
<p># chkconfig &lt;servicename&gt; off</p>
<p>&lt;rant mode&gt;anaconda really should do this for you... I filed a <a class="external-link" href="https://bugzilla.redhat.com/show_bug.cgi?id=707553">bug</a> for this&lt;/rant mode&gt;</p>]]></content:encoded>
    <dc:publisher>No publisher</dc:publisher>
    <dc:creator>Harald Hoyer</dc:creator>
    <dc:rights></dc:rights>
    
      <dc:subject>Fedora 15</dc:subject>
    
    
      <dc:subject>Fedora</dc:subject>
    
    
      <dc:subject>Boot</dc:subject>
    
    
      <dc:subject>Boot Time</dc:subject>
    
    
      <dc:subject>Linux</dc:subject>
    
    <dc:date>2011-05-25T11:55:00Z</dc:date>
    <dc:type>News Item</dc:type>
  </item>


  <item rdf:about="http://www.harald-hoyer.de/personal/blog/fedora-15-boot-optimization">
    <title>Fedora 15 Boot Optimization (from 45 to 26 seconds)</title>
    <link>http://www.harald-hoyer.de/personal/blog/fedora-15-boot-optimization</link>
    <description>This article shows how to reduce boot time, especially for a computer with a slow spinning disk.</description>
    <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>If you want to run Fedora 15 on a slow spinning disk, then you have to customize it a bit, to get fast boot times.</p>
<p>First we choose a manual disk layout and use primary partitions and format them with ext4. In my case this results in:</p>
<pre>sda1 ext4 /boot<br />sda2 swap<br />sda3 ext4 /</pre>
<p>After the first boot, setup of the user, etc. and 2 reboots (always reboot 2 times, before taking the measurement, because readahead needs to adapt to the changed boot process), I measure 45 seconds from the grub menu to the graphical login screen. To get the grub menu, just hold down &lt;ALT&gt; in the boot phase. 45 seconds is a little bit slow compared to the <a class="internal-link" href="../../linux/boot-time-distro-comparison">other distributions</a>. systemd-analyse gives me the output: Startup finished in 5585ms (kernel) + 5509ms (initrd) + 21847ms (userspace) = 32942ms</p>
<p>The next step is to disable the initramfs, because the kernel can boot from an ext4 partition without it. Because I know how to rescue my system, I can set the root device directly to sda3 and tell the kernel which filesystem type to use. My /etc/grub.conf looks like this:</p>
<pre>title Fedora (2.6.38.6-26.rc1.fc15.i686.PAE)<br /> root (hd0,0)<br /> kernel /vmlinuz-2.6.38.6-26.rc1.fc15.i686.PAE ro root=/dev/sda3 rootfstype=ext4 rhgb quiet<br />#    initrd /initramfs-2.6.38.6-26.rc1.fc15.i686.PAE.img<br /></pre>
<p>Rebooting gives 40 seconds to the login screen. systemd-analyse prints:  Startup finished in 7897ms (kernel) + 21470ms (userspace) = 29367ms</p>
<p>Because I don't use any LVM, RAID or encrypted devices, I can safely turn off all fedora-* services. Additionally I turn off the plymouth boot splash, because I want speed and not eye candy. To turn off these services, you have to use the /dev/null softlink mechanism, because these services cannot be disabled by "systemctl disable". A bonus with that mechanism is, that no rpm %post script turns them on automatically, without me knowing :-)</p>
<pre># cd /lib/systemd/system<br /># for i in fedora-* plymouth-*; do sudo ln -s /dev/null /etc/systemd/system/$i;done</pre>
<p>Now the boot time is down to 37 seconds. systemd-analyse prints: Startup finished in 7894ms (kernel) + 17992ms (userspace) = 25887ms</p>
<p>From now on, you really have to know what you are doing and how to revert your actions. To compare Fedora 15 with e.g. Ubuntu, I will now turn off all services except sshd. The result will be a Linux system without mail, firewall, printing and selinux security.</p>
<pre>$ for i in abrt-ccpp abrt-oops cups mdmonitor netfs nfslock pcscd portreserve rpcbind rpcgssd rpcidmapd sendmail smolt ip6tables iptables sandbox selinux; do sudo chkconfig $i off;done<br /></pre>
<p>To disable selinux, edit /etc/selinux/config and/or add "selinux=0" to the kernel command line. My /etc/grub.conf now looks like this:</p>
<pre>title Fedora (2.6.38.6-26.rc1.fc15.i686.PAE)<br /> root (hd0,0)<br /> kernel /vmlinuz-2.6.38.6-26.rc1.fc15.i686.PAE ro root=/dev/sda3 rootfstype=ext4 selinux=0<br />#    initrd /initramfs-2.6.38.6-26.rc1.fc15.i686.PAE.img</pre>
<p>A reboot shows, that we are now down to a nice 26 seconds. systemd-analyse prints: Startup finished in 6157ms (kernel) + 12048ms (userspace) = 18206ms</p>
<p>Because I turned off selinux, I can also remove some packages :-)</p>
<pre># sudo yum remove $(rpm -qf --qf '%{name}\n' /etc/init.d/auditd /lib/systemd/system/{abrtd.service,mcelog.service})</pre>
<p>I also like the idea of automounting (systemd's automount feature was an idea of mine :-) ). So I turn /boot in a "mount on demand" mountpoint. Also having /tmp as a tmpfs is one way to reduce disk activity (useful for e.g. a slow flash disk).</p>
<p>My resulting /etc/fstab looks like this:</p>
<pre>/dev/sda3  /                       ext4    defaults        1 1<br />/dev/sda1  /boot                   ext4    noauto,comment=systemd.automount     1 2<br />/dev/sda2  swap                    swap    defaults        0 0<br />tmpfs      /tmp                    tmpfs   defaults        0 0<br /></pre>
<p>A reboot gives still 26 seconds, systemd-analyse: Startup finished in 6121ms (kernel) + 12772ms (userspace) = 18894ms</p>
<p>To see the difference readahead makes for the system, I turn it off temporarily and reboot</p>
<pre># cd /lib/systemd/system<br /># for i in *readahead*; do systemctl disable $i;done<br />rm '/etc/systemd/system/default.target.wants/systemd-readahead-collect.service'<br />rm '/etc/systemd/system/default.target.wants/systemd-readahead-replay.service'<br /></pre>
<p>Without readahead it takes 32 seconds to be able to login. systemd-analyse says: Startup finished in 6125ms (kernel) + 10992ms (userspace) = 17118ms</p>
<p>As we can see it's real 26 versus 32 seconds. The output of systemd-analyse would be misleading, if we only relied on that!!</p>
<p>So, because I like 26 seconds more, I turn on readahead again :-) To check, if readahead has an updated list, do a "ls -l /.readahead" to see the timestamp and check the return status of readahead ("systemctl status systemd-readahead-collect.service"). There might be a selinux related bug, because with selinux turned on, the collector always returned with error status 1 in my testing.</p>
<pre># cd /lib/systemd/system <br /># for i in *readahead*; do systemctl enable $i;done</pre>
<p>For the reference here is the list of services, that are started:</p>
<pre># LANG=C chkconfig --list|fgrep 5:on<br /><br />Note: This output shows SysV services only and does not include native<br /> systemd services. SysV configuration data might be overridden by native<br /> systemd configuration.<br /><br />cpuspeed           0:off    1:on    2:on    3:on    4:on    5:on    6:off<br />sshd               0:off    1:off    2:on    3:on    4:on    5:on    6:off<br /></pre>
<pre># systemctl<br />boot.automount            loaded active waiting       boot.automount<br />dev-hugepages.automount   loaded active waiting       Huge Pages File System Automount Point<br />dev-mqueue.automount      loaded active waiting       POSIX Message Queue File System Automount Point<br />proc-sys...misc.automount loaded active waiting       Arbitrary Executable File Formats File System Automount Point<br />sys-kern...ebug.automount loaded active waiting       Debug File System Automount Point<br />sys-kern...rity.automount loaded active waiting       Security File System Automount Point<br />sys-devi...ock-sdb.device loaded active plugged       Flash_HS-CF<br />sys-devi...ock-sdc.device loaded active plugged       Flash_HS-COMBO<br />sys-devi...d-card1.device loaded active plugged       SB Live! EMU10k1<br />sys-devi...net-em1.device loaded active plugged       82540EM Gigabit Ethernet Controller<br />sys-devi...da-sda1.device loaded active plugged       ST380011A<br />sys-devi...da-sda2.device loaded active plugged       ST380011A<br />sys-devi...da-sda3.device loaded active plugged       ST380011A<br />sys-devi...ock-sda.device loaded active plugged       ST380011A<br />sys-devi...ock-sr0.device loaded active plugged       PIONEER_DVD-RW_DVR-105<br />sys-devi...d-card0.device loaded active plugged       82801EB/ER (ICH5/ICH5R) AC'97 Audio Controller<br />sys-devi...y-ttyS1.device loaded active plugged       /sys/devices/platform/serial8250/tty/ttyS1<br />sys-devi...y-ttyS2.device loaded active plugged       /sys/devices/platform/serial8250/tty/ttyS2<br />sys-devi...y-ttyS3.device loaded active plugged       /sys/devices/platform/serial8250/tty/ttyS3<br />sys-devi...y-ttyS0.device loaded active plugged       /sys/devices/pnp0/00:08/tty/ttyS0<br />sys-devi...ock-md0.device loaded active plugged       /sys/devices/virtual/block/md0<br />sys-devi...ty-tty0.device loaded active plugged       /sys/devices/virtual/tty/tty0<br />sys-devi...ty-tty1.device loaded active plugged       /sys/devices/virtual/tty/tty1<br />sys-devi...y-tty10.device loaded active plugged       /sys/devices/virtual/tty/tty10<br />sys-devi...y-tty11.device loaded active plugged       /sys/devices/virtual/tty/tty11<br />sys-devi...y-tty12.device loaded active plugged       /sys/devices/virtual/tty/tty12<br />sys-devi...ty-tty2.device loaded active plugged       /sys/devices/virtual/tty/tty2<br />sys-devi...ty-tty3.device loaded active plugged       /sys/devices/virtual/tty/tty3<br />sys-devi...ty-tty4.device loaded active plugged       /sys/devices/virtual/tty/tty4<br />sys-devi...ty-tty5.device loaded active plugged       /sys/devices/virtual/tty/tty5<br />sys-devi...ty-tty6.device loaded active plugged       /sys/devices/virtual/tty/tty6<br />sys-devi...ty-tty7.device loaded active plugged       /sys/devices/virtual/tty/tty7<br />sys-devi...ty-tty8.device loaded active plugged       /sys/devices/virtual/tty/tty8<br />sys-devi...ty-tty9.device loaded active plugged       /sys/devices/virtual/tty/tty9<br />-.mount                   loaded active mounted       /<br />home-harald-.gvfs.mount   loaded active mounted       /home/harald/.gvfs<br />media.mount               loaded active mounted       Media Directory<br />sys-fs-f...nections.mount loaded active mounted       /sys/fs/fuse/connections<br />tmp.mount                 loaded active mounted       /tmp<br />systemd-...d-console.path loaded active waiting       Dispatch Password Requests to Console Directory Watch<br />systemd-...word-wall.path loaded active waiting       Forward Password Requests to Wall Directory Watch<br />accounts-daemon.service   loaded active running       Accounts Service<br />acpid.service             loaded active running       ACPI Event Daemon<br />atd.service               loaded active running       Job spooling tools<br />avahi-daemon.service      loaded active running       Avahi mDNS/DNS-SD Stack<br />console-...daemon.service loaded active running       Console Manager<br />console-...-start.service loaded active exited        Console System Startup Logging<br />cpuspeed.service          loaded active exited        LSB: processor frequency scaling support<br />crond.service             loaded active running       Command Scheduler<br />dbus.service              loaded active running       D-Bus System Message Bus<br />getty@tty2.service        loaded active running       Getty on tty2<br />getty@tty3.service        loaded active running       Getty on tty3<br />getty@tty4.service        loaded active running       Getty on tty4<br />getty@tty5.service        loaded active running       Getty on tty5<br />getty@tty6.service        loaded active running       Getty on tty6<br />hwclock-load.service      loaded active exited        Apply System Clock UTC Offset<br />irqbalance.service        loaded active running       irqbalance daemon<br />NetworkManager.service    loaded active running       Network Manager<br />prefdm.service            loaded active running       Display Manager<br />rc-local.service          loaded active exited        /etc/rc.local Compatibility<br />remount-rootfs.service    loaded active exited        Remount Root FS<br />rsyslog.service           loaded active running       System Logging Service<br />rtkit-daemon.service      loaded active running       RealtimeKit Scheduling Policy Service<br />smartd.service            loaded active running       Self Monitoring and Reporting Technology (SMART) Daemon<br />sshd.service              loaded active running       LSB: Start up the OpenSSH server daemon<br />system-s...yboard.service loaded active running       System Setup Keyboard<br />systemd-logger.service    loaded active running       Stdio Syslog Bridge<br />systemd-...ollect.service loaded active exited        Collect Read-Ahead Data<br />systemd-...replay.service loaded active exited        Replay Read-Ahead Data<br />systemd-...pi-vfs.service loaded active exited        Remount API VFS<br />systemd-sysctl.service    loaded active exited        Apply Kernel Variables<br />systemd-...-setup.service loaded failed failed        Recreate Volatile Files and Directories<br />systemd-...ssions.service loaded active exited        Permit User Sessions<br />systemd-...-setup.service loaded active exited        Setup Virtual Console<br />udev-trigger.service      loaded active exited        udev Coldplug all Devices<br />udev.service              loaded active running       udev Kernel Device Manager<br />avahi-daemon.socket       loaded active listening     Avahi mDNS/DNS-SD Stack Activation Socket<br />dbus.socket               loaded active running       D-Bus System Message Bus Socket<br />syslog.socket             loaded active running       Syslog Socket<br />systemd-initctl.socket    loaded active listening     /dev/initctl Compatibility Named Pipe<br />systemd-logger.socket     loaded active running       Stdio Syslog Bridge Socket<br />systemd-shutdownd.socket  loaded active listening     Delayed Shutdown Socket<br />udev.socket               loaded active listening     udev Kernel Device Manager Socket<br />dev-sda2.swap             loaded active active        /dev/sda2<br />basic.target              loaded active active        Basic System<br />cryptsetup.target         loaded active active        Encrypted Volumes<br />getty.target              loaded active active        Login Prompts<br />graphical.target          loaded active active        Graphical Interface<br />local-fs.target           loaded active active        Local File Systems<br />multi-user.target         loaded active active        Multi-User<br />network.target            loaded active active        Network<br />sockets.target            loaded active active        Sockets<br />sound.target              loaded active active        Sound Card<br />swap.target               loaded active active        Swap<br />sysinit.target            loaded active active        System Initialization<br />syslog.target             loaded active active        Syslog<br />time-sync.target          loaded active active        System Time Synchronized<br />systemd-...ead-done.timer loaded active elapsed       Stop Read-Ahead Data Collection 10s After Completed Startup<br />systemd-...es-clean.timer loaded active waiting       Daily Cleanup of Temporary Directories</pre>
<p> </p>
<p>For the reference here is the <a class="internal-link" href="/personal/blog/fedora-15-dmesg/view">dmesg output</a>.</p>]]></content:encoded>
    <dc:publisher>No publisher</dc:publisher>
    <dc:creator>Harald Hoyer</dc:creator>
    <dc:rights></dc:rights>
    
      <dc:subject>Boot Time</dc:subject>
    
    
      <dc:subject>Fedora</dc:subject>
    
    
      <dc:subject>linux</dc:subject>
    
    
      <dc:subject>Boot</dc:subject>
    
    
      <dc:subject>Fedora 15</dc:subject>
    
    
      <dc:subject>Systemd</dc:subject>
    
    
      <dc:subject>Linux</dc:subject>
    
    
      <dc:subject>Bootchart</dc:subject>
    
    <dc:date>2011-05-24T11:50:00Z</dc:date>
    <dc:type>News Item</dc:type>
  </item>


  <item rdf:about="http://www.harald-hoyer.de/personal/blog/dracut-talk-at-linuxtag">
    <title>dracut Talk at LinuxTag</title>
    <link>http://www.harald-hoyer.de/personal/blog/dracut-talk-at-linuxtag</link>
    <description></description>
    <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>I'll be giving a <a class="external-link" href="http://www.linuxtag.org/2011/de/program/themenschwerpunkte/entwicklung-technologie/vortragsdetails.html?talkid=330">talk about dracut</a> at LinuxTag in Berlin on Friday, 13.05.2011, Berlin I, 16:30-17:00 Uhr</p>]]></content:encoded>
    <dc:publisher>No publisher</dc:publisher>
    <dc:creator>Harald Hoyer</dc:creator>
    <dc:rights></dc:rights>
    
      <dc:subject>Dracut</dc:subject>
    
    
      <dc:subject>Boot</dc:subject>
    
    
      <dc:subject>Fedora</dc:subject>
    
    <dc:date>2011-05-02T08:45:00Z</dc:date>
    <dc:type>News Item</dc:type>
  </item>


  <item rdf:about="http://www.harald-hoyer.de/personal/blog/dracut-moved-to-kernel.org">
    <title>Dracut moved to kernel.org</title>
    <link>http://www.harald-hoyer.de/personal/blog/dracut-moved-to-kernel.org</link>
    <description></description>
    <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p class="callout">Please update your links!</p>
<h3>Git:</h3>
<ul>
<li>git://git.kernel.org/pub/scm/boot/dracut/dracut.git </li>
</ul>
<ul>
<li><a class="moz-txt-link-freetext" href="http://git.kernel.org/pub/scm/boot/dracut/dracut.git">http://git.kernel.org/pub/scm/boot/dracut/dracut.git</a> </li>
<li><a class="moz-txt-link-freetext" href="https://git.kernel.org/pub/scm/boot/dracut/dracut.git">https://git.kernel.org/pub/scm/boot/dracut/dracut.git</a></li>
</ul>
<h3>Git Web:</h3>
<ul>
<li><a class="moz-txt-link-freetext" href="http://git.kernel.org/?p=boot/dracut/dracut.git">http://git.kernel.org/?p=boot/dracut/dracut.git</a></li>
</ul>
<h3>Git Web RSS Feed:</h3>
<ul>
<li><a class="moz-txt-link-freetext" href="http://git.kernel.org/?p=boot/dracut/dracut.git;a=rss">http://git.kernel.org/?p=boot/dracut/dracut.git;a=rss</a></li>
</ul>
<h3>Project Documentation:</h3>
<ul>
<li><a class="moz-txt-link-freetext" href="http://www.kernel.org/pub/linux/utils/boot/dracut/dracut.html">http://www.kernel.org/pub/linux/utils/boot/dracut/dracut.html</a></li>
</ul>
<h3>Project Download:</h3>
<ul>
<li><a class="moz-txt-link-freetext" href="http://www.kernel.org/pub/linux/utils/boot/dracut/">http://www.kernel.org/pub/linux/utils/boot/dracut/</a></li>
</ul>
<h3>Project Wiki: 	<a class="moz-txt-link-freetext" href="http://dracut.wiki.kernel.org/"></a></h3>
<ul>
<li><a class="moz-txt-link-freetext" href="http://dracut.wiki.kernel.org/">http://dracut.wiki.kernel.org</a></li>
</ul>]]></content:encoded>
    <dc:publisher>No publisher</dc:publisher>
    <dc:creator>Harald Hoyer</dc:creator>
    <dc:rights></dc:rights>
    
      <dc:subject>Dracut</dc:subject>
    
    
      <dc:subject>Boot</dc:subject>
    
    
      <dc:subject>Fedora</dc:subject>
    
    
      <dc:subject>Linux</dc:subject>
    
    <dc:date>2011-03-18T10:31:12Z</dc:date>
    <dc:type>News Item</dc:type>
  </item>


  <item rdf:about="http://www.harald-hoyer.de/personal/blog/mac-book-touchpad-driver-for-fedora-15">
    <title>Mac Book Touchpad Driver for Fedora 15+</title>
    <link>http://www.harald-hoyer.de/personal/blog/mac-book-touchpad-driver-for-fedora-15</link>
    <description>xf86-input-multitouch for Fedora 15+ for review</description>
    <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>If you own a Mac Book with a bcm5974 touchpad, you might know that it is a PITA to drag and drop with the synaptics driver. If you reach the end of the pad, you cannot drag any further and adding a second finger, just emulates the right mouse button. So here is the solution, the multitouch driver from <a class="external-link" href="http://bitmath.org/code/multitouch/">http://bitmath.org/code/multitouch</a></p>
<p>I created an rpm, which is for review here:</p>
<p>https://bugzilla.redhat.com/show_bug.cgi?id=681826</p>
<p>Just rebuild the src.rpm and install the resulting package and you are ready to restart the X server. And if you want to review the package, please do so! :-)</p>]]></content:encoded>
    <dc:publisher>No publisher</dc:publisher>
    <dc:creator>Harald Hoyer</dc:creator>
    <dc:rights></dc:rights>
    
      <dc:subject>Fedora</dc:subject>
    
    
      <dc:subject>Laptop</dc:subject>
    
    
      <dc:subject>touchpad</dc:subject>
    
    
      <dc:subject>Mac</dc:subject>
    
    
      <dc:subject>Book</dc:subject>
    
    
      <dc:subject>Linux</dc:subject>
    
    
      <dc:subject>Pro</dc:subject>
    
    
      <dc:subject>xf86-input-multitouch</dc:subject>
    
    <dc:date>2011-03-03T11:47:05Z</dc:date>
    <dc:type>News Item</dc:type>
  </item>


  <item rdf:about="http://www.harald-hoyer.de/personal/blog/fosdem-2011">
    <title>FOSDEM 2011</title>
    <link>http://www.harald-hoyer.de/personal/blog/fosdem-2011</link>
    <description></description>
    <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>Again, this year I attend FOSDEM in Brussels, not giving a talk this time, but you will find me at the Fedora booth and at several tracks (especially the systemd talk of Lennart).</p>]]></content:encoded>
    <dc:publisher>No publisher</dc:publisher>
    <dc:creator>Harald Hoyer</dc:creator>
    <dc:rights></dc:rights>
    
      <dc:subject>Systemd</dc:subject>
    
    
      <dc:subject>FOSDEM</dc:subject>
    
    
      <dc:subject>Fedora</dc:subject>
    
    <dc:date>2011-02-05T12:20:00Z</dc:date>
    <dc:type>News Item</dc:type>
  </item>


  <item rdf:about="http://www.harald-hoyer.de/personal/blog/fudcon-zurich-2010">
    <title>FUDCon Zürich 2010</title>
    <link>http://www.harald-hoyer.de/personal/blog/fudcon-zurich-2010</link>
    <description></description>
    <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[
<p>It was fun to meet you guys in person (again) :-)</p>
<p>I uploaded some of my photos to Picasa</p>
<table>
<tbody>
<tr>
<td><a href="http://picasaweb.google.com/harald.hoyer/FudConZurich"><img src="http://lh3.ggpht.com/_juxBCYjkE_0/TJciPWfWANI/AAAAAAAAAl0/9reEq14Qtmw/s800/IMG_0534.CR2.jpg" alt="" /></a></td>
</tr>
<tr>
<td style="font-size: 11px; text-align: right;">From <a href="http://picasaweb.google.com/harald.hoyer/FudConZurich">FUDCon Zürich</a></td>
</tr>
</tbody>
</table>
]]></content:encoded>
    <dc:publisher>No publisher</dc:publisher>
    <dc:creator>Harald Hoyer</dc:creator>
    <dc:rights></dc:rights>
    
      <dc:subject>Pictures</dc:subject>
    
    
      <dc:subject>Linux</dc:subject>
    
    
      <dc:subject>FUDCon</dc:subject>
    
    
      <dc:subject>Fedora</dc:subject>
    
    <dc:date>2010-09-20T09:15:00Z</dc:date>
    <dc:type>News Item</dc:type>
  </item>


  <item rdf:about="http://www.harald-hoyer.de/personal/blog/ipod-m4a-to-mp3-converter">
    <title>Ipod m4a to mp3 converter</title>
    <link>http://www.harald-hoyer.de/personal/blog/ipod-m4a-to-mp3-converter</link>
    <description>Small script to convert m4a to mp3</description>
    <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[
<p>With Fedora 13 you can connect your ipod and nautilus will show you several folders. One is named "Purchases" and I found several .m4a and .plist files in there. Just put them in a folder and run my <a href="http://www.harald-hoyer.de/personal/blog/m4aconvert.py">python script</a> and you will get mp3 files with proper idtags :-)</p>
<p>You might need to install faad2 from rpmfusion and id3v2.</p>
<pre>$ python m4aconvert.py *.plist
</pre>
]]></content:encoded>
    <dc:publisher>No publisher</dc:publisher>
    <dc:creator>Harald Hoyer</dc:creator>
    <dc:rights></dc:rights>
    
      <dc:subject>convert</dc:subject>
    
    
      <dc:subject>Fedora 13</dc:subject>
    
    
      <dc:subject>Fedora</dc:subject>
    
    
      <dc:subject>Python</dc:subject>
    
    
      <dc:subject>ipod</dc:subject>
    
    
      <dc:subject>mp3</dc:subject>
    
    
      <dc:subject>m4a</dc:subject>
    
    <dc:date>2010-04-28T12:10:00Z</dc:date>
    <dc:type>News Item</dc:type>
  </item>


  <item rdf:about="http://www.harald-hoyer.de/personal/blog/dracut-talk-on-fosdem-2010">
    <title>Dracut Talk at FOSDEM 2010</title>
    <link>http://www.harald-hoyer.de/personal/blog/dracut-talk-on-fosdem-2010</link>
    <description>My talk about Dracut at FOSDEM 2010 is now online.</description>
    <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>Along with the other <a href="http://meetings-archive.debian.net/pub/debian-meetings/2010/fosdem10/">distribution talks</a> at FOSDEM 2010 a video of my talk about Dracut is now online <a href="http://meetings-archive.debian.net/pub/debian-meetings/2010/fosdem10/high/Dracut_a_generic_modular_initramfs_generation_tool.ogv">highres</a>/<a href="http://meetings-archive.debian.net/pub/debian-meetings/2010/fosdem10/low/Dracut_a_generic_modular_initramfs_generation_tool.ogv">lowres</a>. You might also be interested in the <a href="http://www.harald-hoyer.de/personal/files/dracut-fosdem-2010.pdf">slides</a>. And yes, I should not use "whatever" that often :-)</p>
<div class="mozilla-video-control" id="video-player"><video id="video"> <source></source>
<div class="video-player-no-flash">This video requires a browser with support for open video: 					
<ul>
<li><a href="http://www.mozilla.com/firefox/">Firefox</a> 3.5 or greater</li>
<li><a href="http://www.apple.com/safari/">Safari</a> 3.1 or greater</li>
</ul>
</div>
</video></div>]]></content:encoded>
    <dc:publisher>No publisher</dc:publisher>
    <dc:creator>Harald Hoyer</dc:creator>
    <dc:rights></dc:rights>
    
      <dc:subject>Dracut</dc:subject>
    
    
      <dc:subject>Boot</dc:subject>
    
    
      <dc:subject>Fedora</dc:subject>
    
    
      <dc:subject>Linux</dc:subject>
    
    <dc:date>2010-02-26T09:15:00Z</dc:date>
    <dc:type>News Item</dc:type>
  </item>


  <item rdf:about="http://www.harald-hoyer.de/personal/blog/shell-gnome-notification-applet">
    <title>Shell Gnome Notification Applet</title>
    <link>http://www.harald-hoyer.de/personal/blog/shell-gnome-notification-applet</link>
    <description>This article shows how to create a small notification applet in shell script with the help of zenity. </description>
    <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>Because my internet connection is very flaky at the moment, I needed to know, if my internet connection is still up. Because my DSL modem is a&nbsp; Speedport W 503V, which does not run Linux on it, I had to query the connection status in another way. Luckily it has a web interface, which shows the internet status without the need to log in. So I wrote a little shell script which "parses" the html page. In fact the parsing doesn't have to be very sophisticated, it's just a simple grep. Then I found out about zenity, which provides a nice shell interface to create a visual representation on the desktop.&nbsp;&nbsp;</p>
<p>&nbsp;<img src="/personal/files/ledon.png" alt="" class="image-inline" /></p>
<p>&nbsp;<img src="/personal/files/ledoff.png" alt="" class="image-inline" /></p>
<p>&nbsp;The trick is, to open zenity with an extra file descriptor in "--listen" mode. So you can change the state of the notification dynamically. Here is the <a href="/personal/files/internet.sh">simple shell script</a>. Maybe you can tweak it for your needs.</p>]]></content:encoded>
    <dc:publisher>No publisher</dc:publisher>
    <dc:creator>Harald Hoyer</dc:creator>
    <dc:rights></dc:rights>
    
      <dc:subject>Fedora</dc:subject>
    
    <dc:date>2009-10-09T07:50:00Z</dc:date>
    <dc:type>Page</dc:type>
  </item>


  <item rdf:about="http://www.harald-hoyer.de/personal/blog/dracut">
    <title>Dracut</title>
    <link>http://www.harald-hoyer.de/personal/blog/dracut</link>
    <description>Dracut is a new initramfs infrastructure. </description>
    <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>Quoting Jeremy Katz:</p>
<blockquote>
<p>As Dave Jones started talking about months ago at Kernel Summit and LPC, there's a lot of duplication between distros on the tools used to generate the initramfs as well as the contents and how the initramfs works.  Ultimately, there's little reason for this not to be something that is shared and worked on by everyone.  Added to this is the fact that everyone's infrastructures for this have grown up over a long-ish period of time without significant amounts of reworking for the way that the kernel and early boot works these days.</p>
</blockquote>
<p>Therefore Jeremy Katz started on a project, dracut, to be a new initramfs tool that can be used across various distributions.</p>
<p>End of March I took over the project. To open up the development and keep it distribution neutral, I created a <a class="external-link" href="dracut-moved-to-kernel.org">sourceforge project</a>. Somehow interest in dracut faded and development stalled. Though, the current state allows booting from several distributions, there is still a lot to do. Have a look at the<a class="external-link" href="dracut-moved-to-kernel.org"> trac wiki</a> and the <a class="external-link" href="dracut-moved-to-kernel.org">TODO</a> page, if you want to help. Using dracut and obsoleting nash/mkinitrd is a <a href="https://fedoraproject.org/wiki/Features/Dracut">Fedora Feature for F12</a>, so any help is appreciated.</p>
<h2>UPDATE:</h2>
<p><a class="external-link" href="dracut-moved-to-kernel.org">dracut moved to kernel.org</a></p>]]></content:encoded>
    <dc:publisher>No publisher</dc:publisher>
    <dc:creator>Harald Hoyer</dc:creator>
    <dc:rights></dc:rights>
    
      <dc:subject>Fedora</dc:subject>
    
    
      <dc:subject>Boot</dc:subject>
    
    
      <dc:subject>Initramfs</dc:subject>
    
    
      <dc:subject>Linux</dc:subject>
    
    
      <dc:subject>Dracut</dc:subject>
    
    <dc:date>2009-05-12T14:20:00Z</dc:date>
    <dc:type>News Item</dc:type>
  </item>


  <item rdf:about="http://www.harald-hoyer.de/personal/blog/added-ubuntu-8.10-and-9.04-to-the-bootchart">
    <title>Added Ubuntu 8.10 and 9.04 to the Bootchart Comparison of popular Linux Distributions</title>
    <link>http://www.harald-hoyer.de/personal/blog/added-ubuntu-8.10-and-9.04-to-the-bootchart</link>
    <description></description>
    <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[
<p>Added Ubuntu 8.10 and 9.04 to the <a href="../../../linux/boot-time-distro-comparison">Bootchart Comparison of popular Linux Distributions.</a> Ubuntu 9.04 seems to be faster as Fedora 11 in first sight, but Ubuntu starts several daemons after the X start. Nevertheless for the user experience it is 4 seconds faster.</p>
]]></content:encoded>
    <dc:publisher>No publisher</dc:publisher>
    <dc:creator>Harald Hoyer</dc:creator>
    <dc:rights></dc:rights>
    
      <dc:subject>Boot Time</dc:subject>
    
    
      <dc:subject>Fedora</dc:subject>
    
    
      <dc:subject>Fedora 11</dc:subject>
    
    
      <dc:subject>Boot</dc:subject>
    
    
      <dc:subject>Ubuntu</dc:subject>
    
    
      <dc:subject>Bootchart</dc:subject>
    
    <dc:date>2009-04-17T13:59:06Z</dc:date>
    <dc:type>News Item</dc:type>
  </item>


  <item rdf:about="http://www.harald-hoyer.de/personal/blog/updated-the-bootchart-comparison-of-popular-linux">
    <title>Updated the Bootchart Comparison of popular Linux Distributions</title>
    <link>http://www.harald-hoyer.de/personal/blog/updated-the-bootchart-comparison-of-popular-linux</link>
    <description></description>
    <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[
<p>Added Fedora 10 and Fedora 11 to the <a href="../../linux/boot-time-distro-comparison">Bootchart Comparison of popular Linux Distributions.</a> The good progression in boot time can be seen easily.</p>
]]></content:encoded>
    <dc:publisher>No publisher</dc:publisher>
    <dc:creator>Harald Hoyer</dc:creator>
    <dc:rights></dc:rights>
    
      <dc:subject>Boot Time</dc:subject>
    
    
      <dc:subject>Fedora</dc:subject>
    
    
      <dc:subject>Fedora 11</dc:subject>
    
    
      <dc:subject>Fedora 10</dc:subject>
    
    
      <dc:subject>Boot</dc:subject>
    
    
      <dc:subject>Linux</dc:subject>
    
    
      <dc:subject>Bootchart</dc:subject>
    
    <dc:date>2009-04-17T10:30:00Z</dc:date>
    <dc:type>News Item</dc:type>
  </item>


  <item rdf:about="http://www.harald-hoyer.de/personal/blog/internet-with-your-mobile-phone-over-bluetooth">
    <title>Internet with your mobile Phone over Bluetooth with NetworkManager</title>
    <link>http://www.harald-hoyer.de/personal/blog/internet-with-your-mobile-phone-over-bluetooth</link>
    <description></description>
    <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[
<p>Sometimes you want to connect to the internet with your mobile phone over bluetooth with your laptop.</p>
<p>To make this task easier I wrote a <a href="dialup-bluetooth.py">small python script</a>. It needs pybluez and bluez.</p>
<pre># yum install pybluez bluez</pre>
<p>Then you can start the python script as root:</p>
<pre># python <a href="dialup-bluetooth.py">dialup-bluetooth.py</a></pre>
<p>It first searches for all bluetooth devices, which provide the Dialup Service, and displays a list, where you can select your mobile.</p>
<p>Then it calls rfcomm and creates a rfcomm tty, which is bound to the bluetooth channel, and inserts a fake serial modem to hal with hal-device.</p>
<p>This triggers NetworkManager, and after 2 seconds your mobile phone should be displayed in the NetworkManager list as a GSM device, which you can configure and use in NetworkManager.</p>
<p>Maybe someone feels like doing a clean implementation, using the D-BUS interface for bluetooth, hal and NetworkManager.</p>
<p>Have fun!</p>
]]></content:encoded>
    <dc:publisher>No publisher</dc:publisher>
    <dc:creator>Harald Hoyer</dc:creator>
    <dc:rights></dc:rights>
    
      <dc:subject>Dialup</dc:subject>
    
    
      <dc:subject>Fedora</dc:subject>
    
    
      <dc:subject>Mobile</dc:subject>
    
    
      <dc:subject>Linux</dc:subject>
    
    
      <dc:subject>Bluetooth</dc:subject>
    
    
      <dc:subject>Phone</dc:subject>
    
    
      <dc:subject>Internet</dc:subject>
    
    
      <dc:subject>NetworkManager</dc:subject>
    
    <dc:date>2009-03-24T09:55:00Z</dc:date>
    <dc:type>News Item</dc:type>
  </item>


  <item rdf:about="http://www.harald-hoyer.de/personal/blog/20_Seconds_Boot_Feature_Test_Day">
    <title>Summary of the Fedora 11 - 20 Seconds Boot Feature - Test Day</title>
    <link>http://www.harald-hoyer.de/personal/blog/20_Seconds_Boot_Feature_Test_Day</link>
    <description>This is an analysis of the bootcharts generated on the 20 Seconds Boot Feature - Test Day.</description>
    <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[
<p>On the <a href="https://fedoraproject.org/wiki/QA/Test_Days/2009-02-19">20 Seconds Boot Feature Test Day</a> a lot of helpful people generated bootcharts from the latest rawhide build in various install configurations like "Desktop", "Server" and "Minimal".</p>
<p>To extract the information from the bootchart logs and analyze them, I wrote a <a href="http://harald.fedorapeople.org/bootcharts/bootana.py">quick and dirty python script</a>.</p>
<p>The network initscript has a variable duration due to external dependencies, like network card negotiation with the switch or getting the IP from the DHCP server (more than 50 seconds sometimes!!!!). Because of this, I have subtracted the duration of it from the resulting time.</p>
<p>Resulting Tables with png bootcharts:</p>
<ul><li> <a title="QA:Testcase bootchart personal" href="http://harald.fedorapeople.org/bootcharts/myservices.html">QA:Testcase_bootchart_personal</a>
</li><li> <a title="QA:Testcase bootchart desktop" href="http://harald.fedorapeople.org/bootcharts/desktop.html">QA:Testcase_bootchart_desktop (with full desktop)</a>
</li><li> <a title="QA:Testcase bootchart desktop" href="http://harald.fedorapeople.org/bootcharts/fulldesktop.html">QA:Testcase_bootchart_full_desktop</a></li><li> <a title="QA:Testcase bootchart server" href="http://harald.fedorapeople.org/bootcharts/server.html">QA:Testcase_bootchart_server</a>
</li><li> <a title="QA:Testcase bootchart minimal" href="http://harald.fedorapeople.org/bootcharts/minimal.html">QA:Testcase_bootchart_minimal</a>
</li></ul>
<p>What we can see from the result, of course disk I/O speed and CPU speed are the major factors, which determine the boot speed.</p>
<p>Other I/O factors include:</p>
<ul><li>disk fragmentation</li><li>type of filesystem used</li></ul>
<p>But that it is not what we are looking for. We want to eliminate unnecessary bottle necks, where neither CPU or I/O is the limiting factor or where unexpected I/O or CPU activities are happening.</p>
<p>For example, as we can see in <a class="moz-txt-link-freetext" href="https://fedoraproject.org/w/uploads/3/3b/Bootchart-a02fad60-dcf8-48d7-9de0-4d67a050313d-desktop.png">https://fedoraproject.org/w/uploads/3/3b/Bootchart-a02fad60-dcf8-48d7-9de0-4d67a050313d-desktop.png</a> restorecon is called in rc.sysinit on /dev , nash-hotplug is running and CPU is 
100% for 4 seconds with practically no disk I/O.</p>
<p>Fortunately this is fixed already in latest mkinitrd by <a class="moz-txt-link-freetext" href="http://git.fedorahosted.org/git/?p=mkinitrd;a=commitdiff;h=d539443a6ebe8868a73daffa88adfc408838bc21;hp=9253a1b55376b491bf612f00ec1d3edc66502a3f">http://git.fedorahosted.org/git/?p=mkinitrd;a=commitdiff;h=d539443a6ebe8868a73daffa88adfc408838bc21;hp=9253a1b55376b491bf612f00ec1d3edc66502a3f</a></p>
<p>This bootchart is especially useful, because the whole boot process is taking so long, because the disk and CPU is so slow.</p>
<p>What we also see, in comparison to other distributions, is the long time spent before rc.sysinit is even started. First there is the kernel loading and initialization and second there is
nash with a whole udev implementation and plymouth started. While nash
is nice to have, because a lot of variants of root devices are
supported, efforts for a <a class="external-link" href="http://lkml.org/lkml/2008/12/17/318">unified cross distribution initrd</a> are
underway. We will see, if that helps or increases boot time in the
future.</p>
<p>
For example on my Dell, the time until rc.sysinit is started varies between 5 and 10 seconds. So this fluctuation has to be recognized when comparing bootcharts (even from the same distribution and machine).</p>
<p>Next thing started after nash is rc.sysinit. There have bugzillas filed against some applications, which do not clean up their state directories, resulting in a long "find and remove" action in rc.sysinit (<a title="https://bugzilla.redhat.com/show_bug.cgi?id=485974" class="external text" href="https://bugzilla.redhat.com/show_bug.cgi?id=485974">var/run/gdm/auth-for* directories not removed.... slows boot)</a></p>
<p>The big thing started in rc.sysinit is, of course, start_udev. start_udev first removes all files in /dev, creates all basic nodes, runs restorecon on them and begins replaying all kernel hotplug events. This triggers module loading and the creation of all hardware device nodes for the hardware found on the system. Module loading is taking the most part of I/O and CPU here. If you consider to speedup modprobe, keep in mind that even loading all modules via insmod by hand takes nearly as much time as using modprobe with dependency resolution and database reading. On my systems the difference between using insmod and modprobe was not recognizable at all. So, I would conclude that most of the time is spent reading the module files from disk and most CPU is spent in the kernel with module and hardware initialization.</p>
<p>Of course some points make your system noticeable slower in this part:</p>
<ul><li>use of /etc/udev/makedev.d/. If there are files in /etc/udev/makedev.d, MAKEDEV is called, which in turn reads a lot of files from /etc/makedev.d, which takes a lot of time on some systems.</li><li>too many scripts in /lib/udev/rules.d or /etc/udev/rules.d. On some systems you do not need all rule files. Some rules are executed on every device added, just to catch a corner case, which might never happen on your system.</li><li>some 3rd party rules are very badly designed and implement a kind of busy polling. Watch out for them and report them to the package owner and/or on bugzilla.<br /></li></ul>
<p>In the example bootchart we can also immediately see the effect of some components, which are slow or can be started on demand:</p>
<ul><li>rpc services (<a title="https://bugzilla.redhat.com/show_bug.cgi?id=479587" class="external text" href="https://bugzilla.redhat.com/show_bug.cgi?id=479587">disturbing hacks to start nfs-utils services on demand (not entirely serious)</a>)</li><li>cupsd (<a title="https://bugzilla.redhat.com/show_bug.cgi?id=480668" class="external text" href="https://bugzilla.redhat.com/show_bug.cgi?id=480668">(RFC, PATCH) start cups on demand, using xinetd</a>)</li><li>fedora-system-keyboard, which starts the whole python interpreter with a lot of I/O happening for that. (<a href="https://bugzilla.redhat.com/show_bug.cgi?id=483817">https://bugzilla.redhat.com/show_bug.cgi?id=483817</a>)<br /></li><li>dellWirelessCtl has a lot of I/O here.</li><li>HAL is growing and growing and takes more and more time to startup.</li><li>NetworkManager starting wpa_supplicant even for static network interfaces which do not require authentication and DHCP. So the service of wpa_supplicant is never used. (<a class="moz-txt-link-freetext" href="https://bugzilla.redhat.com/show_bug.cgi?id=482823">https://bugzilla.redhat.com/show_bug.cgi?id=482823)</a></li><li>Xorg is having a significant time with no I/O and full CPU</li><li>Bluetooth and IRDA being started (<a title="https://bugzilla.redhat.com/show_bug.cgi?id=484345" class="external text" href="https://bugzilla.redhat.com/show_bug.cgi?id=484345">start the bluetooth service via udev</a>)</li><li>cpuspeed with no I/O and CPU</li><li>microcode has a sleep (<a title="https://bugzilla.redhat.com/show_bug.cgi?id=479898" class="external text" href="https://bugzilla.redhat.com/show_bug.cgi?id=479898">microcode_ctl busy polling</a> <a href="https://bugzilla.redhat.com/show_bug.cgi?id=479898">microcode_ctl ships a pointless init script</a>)</li></ul>
<h3>An Ideal Boot Setup</h3>
<p>In an ideally boot setup CPU and I/O is maxed out the whole boot process.</p>
<p>Ways of how to achieve this:</p>
<ul><li>readahead all files used to fill the memory disk cache in parallel to the normal boot process<br /></li><li>avoid sleeps</li><li>run services which do not depend on each other in parallel</li></ul>
<p>An ideal init process would take the premier goal (in the desktop case it would be the login screen), start everything what is needed for it with first priority and start the rest in parallel or delayed with low (I/O and CPU) priority.</p>
<p>What is needed to achieve that:</p>
<ul><li>Dependencies! This is why I once started the LSB Header bugzilla tracker. <a class="moz-txt-link-freetext" href="https://bugzilla.redhat.com/show_bug.cgi?id=246824">https://bugzilla.redhat.com/show_bug.cgi?id=246824</a></li><li>An init process, which knows about the dependencies and the primary goal and sets up the I/O and CPU priorities.</li></ul>
<h3>What you can do now to speed up your boot process</h3>
<ul><li>install and run prelink</li><li>install and run readahead / preload</li><li>maybe defragment a heavy fragmented filesystem?<br /></li></ul>
<h3>What to keep in mind as a developer<br /></h3>
<ul><li>try to start services on demand (might be hardware dependent, use udev/hal or just look in /sys if the hardware is even there)<br /></li><li>do not cause heavy I/O on start up (like reading a whole big databases in memory or reading big log files, or using an interpreter (like fedora-setup-keyboard)), or use a low I/O priority<br /></li><li>do not use sleep 1, if you are busy polling, use "sleep 0.2" or find another mechanism</li></ul>
<ul><li>If your udev rule does not have to be executed at boot time, consider using the ENV{STARTUP}!="1" condition.</li></ul>
<h3>What did the test day achieve?<br /></h3>
<p>As an immediate outcome of the test day, I modified readahead and released readahead-1.4.8 with the following changes:</p>
<ul><li>set low I/O priority (no more regression in boot time with readahead)</li><li>moved data files from /etc/readahead.d to /var/lib/readahead</li><li>don't start readahead from readahead.event, if system has less than 384MB</li></ul>
]]></content:encoded>
    <dc:publisher>No publisher</dc:publisher>
    <dc:creator>Harald Hoyer</dc:creator>
    <dc:rights></dc:rights>
    
      <dc:subject>Boot Time</dc:subject>
    
    
      <dc:subject>Fedora</dc:subject>
    
    
      <dc:subject>Fedora 11</dc:subject>
    
    
      <dc:subject>Boot</dc:subject>
    
    
      <dc:subject>Linux</dc:subject>
    
    
      <dc:subject>Bootchart</dc:subject>
    
    <dc:date>2009-03-02T15:54:59Z</dc:date>
    <dc:type>News Item</dc:type>
  </item>





</rdf:RDF>

