On Wed, Dec 17, 2008 at 8:25 AM, Birger Kollstrand
Hi,
I'm wondering if there is a plan for the 11.2 distribution? It's not when it's available but more what Novell want's to achieve with it.
I had a thought. Debian, Ubuntu and Mandriva have all adopted "dash"
(Debian Almquist Shell) as their default "sh" for booting and even
have a static version which is absolutely tiny (compare bash which has
many dependencies and the basic binary is 800k, dash statically linked
is the same size, dynamically linked is 120k or less). This does a lot
to speed up booting when used for things like udev and rc.d scripts -
on the proviso that none of these scripts require any bash-specific
scripting. The same might go for complex RPM building :]
Debian is helped here because it's policy to have strictly POSIX
compliant init scripts etc., but I don't know what the SUSE policy
is... does anything in SUSE still absolutely require bash?
On my Efika and Pegasos I've seen boot speed improvements (sorry, lost
the boot charts, and it was ~18 months ago) of something like 3-4
seconds at the *worst* case. Shaving microseconds off I might have
written off but the fact that it is something like 1/10th of the boot
time on my system makes a difference (it still won't boot in 30
seconds, but.. that's what our internal kernel-genesi project is for
:)
What about including the sreadahead patch and tools to efficiently
readahead blocks which are loaded at boot? My system actually boots
FASTER without the traditional "preload" running, plus preloading the
traditional way (entire files) soaks up a hell of a lot of
buffer/cache space, when really all you need is the blocks the boot
process touched.
What about taking a further hint from the Intel "5 second boot" guys
and further optimizing the boot process? It needn't be as frugal as
the one in the EeePC demo, it may still load a splash screen (which
takes ages but.. is pretty. Fedora's splash even got more complicated
and animated..) and do some things here and there, but the idea of a
static /dev which is used to bring the system up, get DBus and GDM/KDM
running, and THEN start hal, udev and the like is a great one. Since X
supports hotplug input devices, the mouse and keyboard will magically
start working at the point the system is ready to log in (at which
point it can start setting up networking - OR perhaps leave that for
AFTER login like Windows does).
Not looking for a 5 or even 10 seconds boot, but a 20 second one to a
usable, and almost-ready login prompt would be awesome.
The other thing would be, and this is a silly feature, why not have a
kernel-vmware or kernel-virtualbox which only included the basic
drivers which these virtual machines support, throws away the io
schedulers (since on a virtual machine with a virtual disk, io
reordering is completely pointless) and other framebuffer drivers
etc.? It's kind of silly to be throwing in every libata driver and
block driver and hundreds of PCI card and PCMCIA card drivers when the
VM is completely fixed function within a very limited number of
configurations - even VirtualBox and VMware share a bunch of emulated
hardware now. About all you need is a set of USB modules, and
everything else can be made static. When you're running on a memory
limited machine (for instance I have a couple boxes with 1GB which I
run 256MB VMs in), saving a couple megabytes on the kernel and initrd
(and boot time because nothing needs to come out of the initrd - a tip
from the 5 second boot guys) might make that tiny bit of difference,
with a view to the fancy new virtual appliance markets, getting
systems back up and running faster on failure, etc.
--
Matt Sealey