Slackware This Forum is for the discussion of Slackware Linux.
|
Notices |
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
Are you new to LinuxQuestions.org? Visit the following links:
Site Howto |
Site FAQ |
Sitemap |
Register Now
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
|
|
|
07-14-2012, 07:15 PM
|
#1
|
Member
Registered: Jun 2012
Posts: 78
Rep:
|
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?
|
|
|
07-14-2012, 07:21 PM
|
#2
|
Senior Member
Registered: Jul 2004
Location: Jogja, Indonesia
Distribution: Slackware-Current
Posts: 4,800
|
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
|
|
|
07-14-2012, 07:23 PM
|
#3
|
Member
Registered: Mar 2012
Distribution: Slackware, Alma, OpenBSD, FreeBSD
Posts: 553
Rep:
|
Not to my knowledge there isn't anything you need to do after selecting to use the huge kernel.
|
|
|
07-14-2012, 07:26 PM
|
#4
|
Member
Registered: Jun 2012
Posts: 78
Original Poster
Rep:
|
Thanks, Willy. I'll go with the Huge.
|
|
|
07-14-2012, 07:27 PM
|
#5
|
LQ Addict
Registered: Nov 2008
Location: Paris, France
Distribution: Slint64-15.0
Posts: 11,262
Rep:
|
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.
|
|
|
07-14-2012, 09:02 PM
|
#6
|
Member
Registered: Jun 2012
Posts: 78
Original Poster
Rep:
|
Quote:
Originally Posted by Didier Spaier
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?
|
|
|
07-14-2012, 09:11 PM
|
#7
|
Member
Registered: Sep 2006
Location: Surabaya, Indonesia
Distribution: Slackware
Posts: 35
Rep:
|
Up until now I'm still using HUGE kernel and no problem at all. Yeah I'm to lazy to switch to GENERIC..
|
|
|
07-15-2012, 12:25 AM
|
#8
|
LQ Addict
Registered: Nov 2008
Location: Paris, France
Distribution: Slint64-15.0
Posts: 11,262
Rep:
|
Quote:
Originally Posted by joncr
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/
|
|
|
07-15-2012, 01:03 AM
|
#9
|
Member
Registered: Nov 2006
Distribution: Slackware
Posts: 294
Rep:
|
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.
|
|
|
07-15-2012, 02:35 AM
|
#10
|
MLED Founder
Registered: Jun 2011
Location: Montpezat (South France)
Distribution: CentOS, OpenSUSE
Posts: 3,453
|
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.
|
|
|
07-15-2012, 09:11 AM
|
#11
|
Member
Registered: Jun 2012
Posts: 78
Original Poster
Rep:
|
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.
|
|
|
07-15-2012, 10:34 AM
|
#12
|
LQ Addict
Registered: Nov 2008
Location: Paris, France
Distribution: Slint64-15.0
Posts: 11,262
Rep:
|
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
|
|
|
07-18-2012, 02:50 AM
|
#13
|
Senior Member
Registered: Nov 2002
Location: Birmingham UK
Distribution: Various
Posts: 1,736
Rep:
|
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.
|
|
|
07-18-2012, 03:23 AM
|
#14
|
Member
Registered: Nov 2009
Location: Gothenburg, Sweden
Distribution: Slackware
Posts: 946
|
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
|
|
|
07-18-2012, 03:51 AM
|
#15
|
LQ Addict
Registered: Nov 2008
Location: Paris, France
Distribution: Slint64-15.0
Posts: 11,262
Rep:
|
@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.
|
All times are GMT -5. The time now is 09:02 PM.
|
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.
|
Latest Threads
LQ News
|
|