IDEA: Shortening boot-time
dnielsen at breakmygentoo.net
Fri Jul 23 10:09:27 UTC 2004
While I like every idea except the special kernel, which would add
complexity and not really give us any advantage in terms boot time I
You might want to look at Robert M. Love's preload work in the SuSE
camp, it seems to be work in the same area, you might pick up some ideas
On fre, 2004-07-23 at 08:21 +0200, Hans de Goede wrote:
> I'll post my self intro message later, I've been not sleeping alnight
> thinking about a scheme to speed up desktop start-up times for Fedora,
> and want to get it out of my head before I loose parts of it.
> The basic idea is todo things the XP way and loads lotts of (cr)app(s)
> while the user is already seeing a GUI.
> For this we need a couple of basic changes:
> -remove starting of prefdm from inittab and make it a service
> -add a prefdm-early service, which as the name says starts early if
> possible (right after kudzu), and which avoids the prefdm service from
> starting by using the same subsys lock.
> -move starting some of slow things from rc.sysinit to a service, detect
> if they really needed early in rc.sysinit and then call/source the
> service script.
> -Introduce a desktop config flag somewhere in /etc/sysconfig, which:
> makes sysinitrc skip lotts of enterprise setup stuff
> -Introduce a desktop kernel as a counterwheight to the enterprise
> kernels which leaves out more advanced server stuff such as raid,
> devicemapper, advanced routing, etc.
> Now the dirty inner workings of my scheme:
> Delay USB-init:
> -usb (including the sleep call, GRRR) is moved from rc.sysinit to a
> service, which starts before networking, but after prefdm-early.
> -in rc.sysinit, at the place where usb used to be, take for each
> line /etc/fstab which is not a comment, empty and doesnot contain
> noauto, if it begins with LABEL=, see if we have a partition with such
> a delay. if it begins with /dev/, see if we can open the device
> -check if we can open /dev/input/mous0 and /dev/input/keyboard0
> -now if one of the LABELs or devices can't be openened, we
> probably have an USB attached disk, or HID device we need, so start USB
> -on a normal desktop, all these checks should work without USB, so usb
> will be started later as part of the runlevel, again the subsyslock
> should avoid double starting.
> -ofcourse there needs to be a way to tell rc.sysinit to always load USB
> Delay loading scsi modules and the long scsi chain scan:
> -on some systems, people have a scsi-card for say a scanner, or
> because the bought a cdrecorder in the days atapi was unreliable,
> so they have scsi but they don't have any disks attached!
> -make mkinitrd try to rmmod sd_mod, if this succeeds scsi is clearly
> not needed for disks, so don't put the scsi modules in the initrd
> -add a scsi-service which loads the modules when initrd hasn't done so
> -of course there needs to be a way to tell mkinitrd to always load the
> scsi modules.
> Services prefdm-pre-net and prefdm-post-net:
> -the pre-net prefdm checks if the user has choicen an authentication
> method which requires networking and checks /etc/fstab for
> netfilesystems on vital places like /usr, /home. If neither of these
> are there it starts the prefdm service.
> (netfs mounts like /archive or /lotsofmp3s really aren't all that
> interesting to get mounted instant IMHO)
> (the checking for netfs can be done in the loop in sysinitrc and then
> be reported to this script in someway)
> -the post-net script always starts prefdm, it is there for admins to
> remove in ntsysv if they want the old behaviour where prefdm starts
> last, maybe the prefdm-*-net scripts, could even go in a sperate RPM,
> which then can just be removed be people who think this is a bug
> instead of a feature.
> -the real prefdm service should thus get prio99, moving rc.local to prio
> Well I'm sure this idea is full of holes, so shoot. But please this is
> not meant as an invitation to start a flamewar about how FC / linux
> startup time sucks, if you want to talk about that talk to the wall,
> ceiling or floor.
> EuropeSwPatentFree http://EuropeSwPatentFree.hispalinux.es
More information about the devel