kernel-generic vs kernel-huge
Inviato: mar 9 nov 2010, 10:16
La differenza sostanziale tra il kernel-generic, il kernel-huge e il kernel-huge-smp qual è? Quale consigliate e perché?
Grazie...
Grazie...
These are the kernels shipped in Slackware:
hugesmp.s This is the default installation kernel. If possible,
you can save a bit of RAM later (and some ugly warnings at
boot time or when trying to load modules when the driver is
already built-in) by switching to a generic kernel. In this
case that would be gensmp.s, which is a similar kernel but
without filesystems and many of the less common drive
controllers built in. To support these (at the very least
your root filesystem), an initrd (actually an initramfs)
is required when a generic kernel is used. Previous
versions of Slackware used an ext2 filesystem for this, but
now a filesystem-less dynamic kernel-based directory
structure is used. A big advantage of this is that the size
usable by the initrd is only limited by the amount of RAM in
the machine. A disadvantage is that the generic kernels no
longer include *any* filesystems besides romfs, so old
initrd.gz files are not usable (they would have needed new
modules anyway), and it is trickier to get a custom binaries
or modules or whatever into the installer for guru-install
purposes. It's not impossible though -- think tar to/from a
device such as a USB stick, or leveraging ROMFS.
gensmp.s The trimmed down, more modular version of hugesmp.s. This
can be switched to, after setting up an initrd and
reinstalling LILO. It is packaged as a .txz, and can be
found on the installed system as:
/boot/vmlinuz-generic-smp-2.6.33.4-smp
Anche io uso un kernel huge.atomix600 ha scritto:Come ha detto ZeroUno, il kernel generic ha bisogno di un initrd per poter funzionare. Lo huge, no.
Io personalmente propendo per il kernel huge (che si può definire un kernel ibrido). Infatti tendo a escludere i generic dall'installazione, in quanto reputo che i driver di base della macchina debbano stare nell'immagine del kernel e non debbano essere caricati come moduli.
A livello di prestazioni, non ti so dire. Però se non ricordo male un kernel statico (o anche ibrido) tende a essere molto più performante, nel caso in cui i driver compilati siano "essenziali" (vale a dire che il kernel contiene solo i TUOI driver).
Il kernel generic, però, ha un vantaggio: Se hai bisogno di compilare un driver, non hai bisogno di ricompilare il kernel per intero.
Questo però lo si può ovviare con un kernel ibrido, dove i driver di base (chipset, file system, usb ecc.) si trovano nell'immagine (difficilmente dovrai compilarli in seguito). Mentre i driver di supporto li compili come moduli (supporti specifici per periferiche usb, driver webcam ecc.). Pertanto non avrai bisogno di un initrd (a meno di configurazioni particolari, come il bootsplash) e avrai la possibilità di scaricare e/o caricare i moduli esterni per un supporto specifico, qualora dovessi averne bisogno.