LinuxQuestions.org
Share your knowledge at the LQ Wiki.
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware
User Name
Password
Slackware This Forum is for the discussion of Slackware Linux.

Notices


Reply
  Search this Thread
Old 07-14-2012, 07:15 PM   #1
joncr
Member
 
Registered: Jun 2012
Posts: 78

Rep: Reputation: Disabled
What Do I Need To Know About Huge vs. Generic Kernels During Installation?


I'm waiting for the offical release of Slackware 14. The last version I used was 12, and the first was, I think, 3.5.

Some things I've read seem to make it crucial that I make a decision about the kernel I want to run at the end of the installation. Is that right?

As I understand, during the install, I can choose between the "Huge" kernel, which contains drivers for pretty much everything, or the "Generic" kernel, which does not contain drivers and requires the creation of an initrd.

If I choose the Huge kernel during the install, and I'm OK with using it, is there anything else I need to do?
 
Old 07-14-2012, 07:21 PM   #2
willysr
Senior Member
 
Registered: Jul 2004
Location: Jogja, Indonesia
Distribution: Slackware-Current
Posts: 4,800

Rep: Reputation: 1884Reputation: 1884Reputation: 1884Reputation: 1884Reputation: 1884Reputation: 1884Reputation: 1884Reputation: 1884Reputation: 1884Reputation: 1884Reputation: 1884
during installation, the installer will use huge kernel for better hardware detection, but yes, you can choose what kernel to be installed on the system.

If you are OK with the huge, you can just keep it like that and probably remove the generic packages if you don't really need them

Suppose you ran into issues, it would be best to diagnose it using a generic kernel though
 
Old 07-14-2012, 07:23 PM   #3
TommyC7
Member
 
Registered: Mar 2012
Distribution: Slackware, Alma, OpenBSD, FreeBSD
Posts: 553

Rep: Reputation: Disabled
Not to my knowledge there isn't anything you need to do after selecting to use the huge kernel.
 
Old 07-14-2012, 07:26 PM   #4
joncr
Member
 
Registered: Jun 2012
Posts: 78

Original Poster
Rep: Reputation: Disabled
Thanks, Willy. I'll go with the Huge.
 
Old 07-14-2012, 07:27 PM   #5
Didier Spaier
LQ Addict
 
Registered: Nov 2008
Location: Paris, France
Distribution: Slint64-15.0
Posts: 11,262

Rep: Reputation: Disabled
I suggest you choose the huge kernel during installation (this the default) as it is easier.

After installation you could install the generic kernel, just follow instructions you will find in /boot/README.initrd.

The same drivers are included in both versions, the difference being that a lot of these, which are built in the huge kernel are provided as modules with the generic one.

It is recommended to use the generic kernel for a daily use, as there is less risk to have conflicting drivers for the same hardware in that case.

If for some reason you prefer not to use an initrd, you can re-compile the generic kernel after having configured as built in the root file system (the one used for /).

EDIT I should write faster: three posts while editing mine, what a pity

Last edited by Didier Spaier; 07-14-2012 at 07:30 PM.
 
Old 07-14-2012, 09:02 PM   #6
joncr
Member
 
Registered: Jun 2012
Posts: 78

Original Poster
Rep: Reputation: Disabled
Quote:
Originally Posted by Didier Spaier View Post
I suggest you choose the huge kernel during installation (this the default) as it is easier.

It is recommended to use the generic kernel for a daily use, as there is less risk to have conflicting drivers for the same hardware in that case.

So, if I do go with the generic, do I need to create an initrd before I reboot at the end of the install, and is that explained in the README?

Complicating this is that I need to install an Nvidia proprietary driver ASAP. The combination of my Nvidia card, a 3.2 kernel, and nouveau will cause a crash as soon as X tries to load. So, on other distributions, I need to interrupt the install boot and add some options to the kernel boot to avoid that.

Come to think of it, Salckware still uses lilo, right? Still an ncurses installation? No X in sight?

Also, is there really a danger of the huge kernel loading "conflicting" drivers? Why is it even loading drivers for hardware it doesn't detect?
 
Old 07-14-2012, 09:11 PM   #7
cikrak
Member
 
Registered: Sep 2006
Location: Surabaya, Indonesia
Distribution: Slackware
Posts: 35

Rep: Reputation: 5
Up until now I'm still using HUGE kernel and no problem at all. Yeah I'm to lazy to switch to GENERIC..
 
Old 07-15-2012, 12:25 AM   #8
Didier Spaier
LQ Addict
 
Registered: Nov 2008
Location: Paris, France
Distribution: Slint64-15.0
Posts: 11,262

Rep: Reputation: Disabled
Quote:
Originally Posted by joncr View Post
So, if I do go with the generic, do I need to create an initrd before I reboot at the end of the install, and is that explained in the README?
Only if you would choose generic at time of install.

What I suggest is instead to wait after the first reboot before possibly switching to generic.

Yes Slackware still use lilo and start at run level 3 by default: you will start X (using the 'startx' command) when you are ready. I remind you that before you do that, after rebooting you can create a regular user (the "adduser" command comes handy for that) and choose your WM or DE with the 'xwmconfig' command (your setting here will be on a per-user basis).

Slackware 14 will include a fairly up to date X stack, so I would be very surprised that X crash when launched with a nVidia card.

As a matter of precaution though (as to avoid that the screen become blank at some point of time in the boot sequence) you could edit the /etc/lilo.conf file and choose "vga=normal" (if not already done) and run "lilo -t -v " (to check lilo.conf) then "lilo"; or blacklist the 'nouveau' driver (anyhow X will load it automatically if "nvidia" is not installed). In last resort when you see the lilo's greeting screen you can still hit TAB instead of RETURN and append "nomodeset" (without the quotes) before hitting RETURN.

You will be able to install the nVida drivers afterwards. I recommend you use the Slackbuilds available at http://slackbuilds.org to do that in order to ease uninstalling it if/when you wish to.

But a few exceptions the "huge" kernel doesn't load devices drivers: they are always available in it as they are "buit-in". There is a possibility that several drivers claim the same device and that this cause trouble. I don't know if there is a danger in your case as it depend on the hardware you use. Maybe this could still occur with a generic kernel and modularized drivers (not sure about that) but in that case you will be able to blacklist the faulty module. As willysr pointed out if you have no problems you can keep the huge kernel. It doesn't hurt to have both kernels installed side-by-side and to choose which one will be used at boot time anyway: it's just a matter of having a section for each in your /etc/lilo.conf.

Last edited by Didier Spaier; 07-15-2012 at 04:01 AM. Reason: s/lil/lilo/
 
Old 07-15-2012, 01:03 AM   #9
dc_eros
Member
 
Registered: Nov 2006
Distribution: Slackware
Posts: 294

Rep: Reputation: 39
What I did is after installing using the huge kernel, I configure the generic kernel add added as default kernel when lilo prompt appears. It will be safe since if generic does not work, you can always reboot the select the huge kernel instead.

I have no problem using generic kernel so far, both 64 and 32 bit.
 
Old 07-15-2012, 02:35 AM   #10
kikinovak
MLED Founder
 
Registered: Jun 2011
Location: Montpezat (South France)
Distribution: CentOS, OpenSUSE
Posts: 3,453

Rep: Reputation: 2154Reputation: 2154Reputation: 2154Reputation: 2154Reputation: 2154Reputation: 2154Reputation: 2154Reputation: 2154Reputation: 2154Reputation: 2154Reputation: 2154
I only use the huge kernels (hugesmp.s on 32-bit, huge.s on 64-bit) for the installation. Once it's completed, first thing I do is replace this by the generic kernel. YMMV, but I found the easiest way to do that is to edit /etc/mkinitrd.conf and run mkinitrd -F, after copying over the provided sample file mkinitrd.conf.sample.

If you don't know what modules to include explicitly, take a peek in /usr/share/mkinitrd. There's a nifty script (courtesy Eric Hameleers) that will spew out all the needed options.

Once this is done, I usually remove all the symlinks in /boot (System, config and vmlinuz) and edit the full path(s) to kernel and initrd. Don't forget to run lilo after that, of course.
 
Old 07-15-2012, 09:11 AM   #11
joncr
Member
 
Registered: Jun 2012
Posts: 78

Original Poster
Rep: Reputation: Disabled
Thanks, all, for the great responses. Looks like Slackware 14 will feel very familiar. I've bookmarked this thread for future reference.

Didier, good to know I can TAB my way into lilo and add boot options. I've found "nouveau.noaccel=1 nomodeset" works, while just "nomodeset" does not. This is, I think, a kernel bug in the 3.2/3.3 series. In any case, those kernels, plus a few Nvidia cards (mine is a 550ti), produce a mixture that will put the screen into sleep mode and lock up the machine when an attempt to launch nouveau is made. This means, for example, that an install routine that runs nouveau before running Grub is useless to me. Hence, the need to install Nvidia and get rid of nouveau.
 
Old 07-15-2012, 10:34 AM   #12
Didier Spaier
LQ Addict
 
Registered: Nov 2008
Location: Paris, France
Distribution: Slint64-15.0
Posts: 11,262

Rep: Reputation: Disabled
To blacklist nouveau just do this:
Code:
installpkg /path/to/slackware/extra/xf86-video-nouveau-blacklist/xf86-video-nouveau-blacklist-noarch-1.txz
If you change your mind:
Code:
removepkg /path/to/slackware/extra/xf86-video-nouveau-blacklist/xf86-video-nouveau-blacklist-noarch-1.txz
And to make sure that nouveau won't be loaded at X startup:
Code:
echo -e 'Section "Device"\nIdentifier "MyGPU"\nDriver "vesa"\nEndSection' > /etc/X11/xorg.conf.d/donotusenouveau.conf
replace "vesa" with "nv" or "nvidia" if you prefer/when you are ready.

Last edited by Didier Spaier; 07-15-2012 at 01:55 PM. Reason: errors corrected
 
Old 07-18-2012, 02:50 AM   #13
salparadise
Senior Member
 
Registered: Nov 2002
Location: Birmingham UK
Distribution: Various
Posts: 1,736

Rep: Reputation: 146Reputation: 146
echo -e 'Section "Device"\nIdentifier "MyGPU"\nDriver "vesa"\nEndSection' > /etc/X11/xorg.conf.d/donotusenouveau.conf

Is that unique to Slackware14 or should it work on 13.37?

I cannot get nouveau-blacklist to work on slackware-13.37. The nouveau driver is installed at boot despite installing the blacklist file 3 times.
 
Old 07-18-2012, 03:23 AM   #14
mats_b_tegner
Member
 
Registered: Nov 2009
Location: Gothenburg, Sweden
Distribution: Slackware
Posts: 946

Rep: Reputation: 649Reputation: 649Reputation: 649Reputation: 649Reputation: 649Reputation: 649
The xf86-video-nouveau-blacklist package is not needed with the latest NVIDIA drivers. nvidia-installer will create the blacklist-file for you.
bash-4.2$ less nvidia-installer-disable-nouveau.conf
# generated by nvidia-installer
blacklist nouveau
options nouveau modeset=0
bash-4.2$
ftp://download.nvidia.com/XFree86/Li...nproblems.html
 
Old 07-18-2012, 03:51 AM   #15
Didier Spaier
LQ Addict
 
Registered: Nov 2008
Location: Paris, France
Distribution: Slint64-15.0
Posts: 11,262

Rep: Reputation: Disabled
@salparadise: There are actually two different "nouveau" drivers which cooperate with each other.

The "nouveau" kernel driver (usually compiled as a module), which is usually loaded by the kernel at boot time (before lauching X), in case of a nVidia GPU. If loaded it will show in output of "lsmod|grep nouveau"

The "nouvau" X driver, which is (or can be) used for display under X.

You can avoid that the "nouveau" kernel driver be loaded automatically at boot time in appending the line "blacklist nouveau" to the file /etc/modprobe.d/blacklist.conf (or writing it to a specific file, which is what the xf86-video-nouveau-blacklist Slackware package does).

But even if you do that, the X server will automatically load the "nouveau" kernel driver at boot, unless you tell it to use another driver than nouveau, which can be done for instance with the "echo -e..." command aforementioned. As you probably did notice this command will write the file /etc/X11/xorg.conf.d/donotusenouveau.conf with following content:
Code:
Section "Device"
Identifier "MyGPU"
Driver "vesa"
End Section
In this case the "vesa" driver will be used. Of course if you use the closed source nVida driver (aka "the blob") the "nvidia" driver should be used instead. But in that case, as mats b tegner pointed out, the nVidia installer can do the configuration for you.

And yes, this works on Slackware 13.37 as well.

EDIT For completeness, I remind that instead of adding a new config file in /etc/X11/xorg.d it is still possible to simply do this as root:
Code:
mv /etc/X11/xorg.conf.vesa /etc/X11/xorg.conf
In this case all X configuration is supposed to be set up by that file that you can tune to your taste (and it is well commented, thanks Pat).
This stands for Slackware-13.37, as well as for Slackware-current in its current state.

Last edited by Didier Spaier; 07-18-2012 at 08:57 AM. Reason: Text beginning with EDIT
 
1 members found this post helpful.
  


Reply

Tags
installation, kernel, slackware


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
[SOLVED] switch Huge SMP to Generic czezz Slackware 16 07-07-2011 10:07 AM
13.0 64 bit just Huge & Generic, no "smp" kernels installed acummings Slackware 2 10-01-2009 10:59 AM
generic or huge kernels? metrofox Slackware 25 04-15-2009 05:04 AM
Generic vs Huge kernel in Slack 12 techyranger Slackware 4 01-23-2008 02:30 PM
Switch from huge-smp-2.6.21.5 to generic-2.6.21.5 tronayne Slackware 1 07-30-2007 09:34 AM

LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware

All times are GMT -5. The time now is 09:02 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration