IDEA: Shortening boot-time

David Nielsen 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
think.
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

- David

On fre, 2004-07-23 at 08:21 +0200, Hans de Goede wrote:
> Hi,
> 
> 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
>   now
> -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
>   early
> 
> 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
>   already.
> -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
>   98
> 
> 
> 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.
> 
> Regards,
> 
> Hans
> 
> 
> 
> -- 
> EuropeSwPatentFree http://EuropeSwPatentFree.hispalinux.es
> 
> 





More information about the devel mailing list