[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

rhgb and gdm-early-login two great tastes?



I just read somewhere somebody saying that rhgb was a horrible
idea and that a nicer boot process will come once kernel mode-
setting exists.  Funny how some things kick your brain in such a way
you actually look at things a little different.  This was the kick I needed
after staring blankly at my bootlog charts trying to figure out how to
shave more time off the process (I have maxed out at 40 seconds).

My problem is that you have to take the speed hit of starting an X
server eventually.  Kernel modesetting just isn't going to help that.
Well then all the pieces fell together and this is what I have hacked
together so far.

1)  Add an option to rhgb so it doesn't fork and daemonize
2)  patch /etc/gdm/Init/Default so it checks that rhgb is executable and the file
/var/lock/subsys/rhgb doesn't exist.  If those two qualifications are true
then run rhgb -n -f -u :0.0
3)  modify rc.sysinit with the gdm-early-login patch, so gdm is started right
after the root filesystem is mounted rw.

What this gives me is boot up, as soon as / is rw start up gdm.  Gdm starts
rhgb using it's own X server.  As soon as rhgb is done gdm launches the
greeter using the same X server.  No flashing or switching back and forth
to consoles, etc etc.

What the next step is to make this really slick.

1) Get these patches into the kernel

http://fedoraproject.org/wiki/StatelessLinuxCachedClient

2) have mkinitrd make a small writable snapshot of / ( this is needed for gdm to start).
3) Have the entire rc.sysinit run using a rw snapshot.
4) After all the fscking and such is done use the above patch to merge the sysinit
snapshot back down the actual filesystem
5) continue the init process.

This shaves the other 10 seconds I needed off my altered boot process to get a 30
second boot time on my desktop.  However those changes are for another e-mail
;-)

I would love to hear any comments, or criticisms of this method for graphical
booting.

Jon

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]