[SOLVED] Slackware Linux Essentials question - Selecting a Kernel...
SlackwareThis 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.
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.
Distribution: slackware64 13.37 and -current, Dragonfly BSD
Posts: 1,810
Rep:
Quote:
Am I GENERIC or HUGE and how do I know?
Just run
Code:
cat /proc/cmdline
and this will tell you what boot image, root device and other parameters were passed during boot. Running lsmod will give you a fair idea, (once you are used to the output for generic versus huge), as the generic will have a lot more modules loaded however the first solution is safer when beginning.
bash-4.1# lilo
Warning: LBA32 addressing assumed
Warning: Unable to determine video adapter in use in the present system.
Warning: Video adapter does not support VESA BIOS extensions needed for
display of 256 colors. Boot loader will fall back to TEXT only operation.
Added Windows *
Added Linux_G
Added Linux
3 warnings were issued.
bash-4.1#
Should I still re-boot or have I screwed something up?
If it matters, I am using a Lenovo X61 laptop.
Thanks,
The first warning can be rid of by using the 'lba32' in the global section of your '/etc/lilo.conf'.
Second, third warning by use of the 'vga=normal' in '/etc/lilo.conf'.
Do the following with the '/etc/lilo.conf';
Quote:
~#vi lilo.conf #edit lilo.conf to make the changes
~#lilo -v -t -b /dev/your_device #sda, hda this will only test
~#lilo -v -b /dev/your_device #this will write to your boot
First line is just edit of the '/etc/lilo.conf' file. The next will test (-t) the '/etc/lilo.conf'. If you get a clean output then perform the last by removing the '-t' and running the command. I do suggest that you 'man command' things to understand fully.
When you are working on the kernel, be sure to keep a working kernel stanza within the '/etc/lilo.conf' to allow you to recover when needed.
Last edited by onebuck; 01-13-2011 at 08:05 PM.
Reason: remove markup errors
and this will tell you what boot image, root device and other parameters were passed during boot. Running lsmod will give you a fair idea, (once you are used to the output for generic versus huge), as the generic will have a lot more modules loaded however the first solution is safer when beginning.
Thank you, I can now see that I am a GENERIC Slacker!
You are running huge. How to tell? See the above I have highlighted in red. System.map, config and vmlinuz point to huge-smp-2.6.33.4-smp or the huge kernel. How to switch to the generic kernel? Remove the existing links and then link to the generic-smp-2.6.33.4-smp kernel.
You are running huge. How to tell? See the above I have highlighted in red. System.map, config and vmlinuz point to huge-smp-2.6.33.4-smp or the huge kernel. How to switch to the generic kernel? Remove the existing links and then link to the generic-smp-2.6.33.4-smp kernel.
That would tell you what kernel you are actually running -- if it outputs true, then you're running the generic kernel. False means you are probably running the huge kernel (though you could change the path to /boot/config-huge-smp-2.6.33.4-smp and expect an output of true to verify that). The config-* files are really just for your benefit -- the kernel itself doesn't care about them (it stores its config file internally accessible via /proc/config.gz, and even if it's compiled without that option I don't believe the kernel uses the config file for anything post-compilation). The vmlinuz symlink is only necessary if you don't explicitly name the vmlinuz-generic-smp-2.6.33.4-smp file in lilo.conf (ie if you just use /boot/vmlinuz). So the presence of that symlink is not indicative of which kernel you are actually running. The System.map file is trickier...it is used to lookup symbol information and is mostly valuable for kernel oops debugging, and your system would run perfectly fine with an incorrect System.map file (though if you get a kernel oops you'd get some bad results). I've been looking for proper information on this, but my searches have come up empty. klogd looks for /boot/System.map-$(uname -r) first -- but because Slackware's System.map files have the generic/huge identifier added, I'm not sure if klogd actually grabs the right one. I'm running the generic kernel on Slackware64-13.1 with System.map still pointing to the huge kernel's System.map file, but there are no messages about the wrong System.map file being used in any of my logs. See here for more information, but alas it does not provide the information I wanted (neither does `man klogd`). Using strace alongside klogd doesn't give me any valuable information either.
Anyway, the System.map symlink couldn't hurt, so you may want to change that -- but if you want to be 100% positive that you are running the generic-smp kernel, use the first command I mentioned.
That would tell you what kernel you are actually running -- if it outputs true, then you're running the generic kernel. False means you are probably running the huge kernel (though you could change the path to /boot/config-huge-smp-2.6.33.4-smp and expect an output of true to verify that). The config-* files are really just for your benefit -- the kernel itself doesn't care about them (it stores its config file internally accessible via /proc/config.gz, and even if it's compiled without that option I don't believe the kernel uses the config file for anything post-compilation). The vmlinuz symlink is only necessary if you don't explicitly name the vmlinuz-generic-smp-2.6.33.4-smp file in lilo.conf (ie if you just use /boot/vmlinuz). So the presence of that symlink is not indicative of which kernel you are actually running. The System.map file is trickier...it is used to lookup symbol information and is mostly valuable for kernel oops debugging, and your system would run perfectly fine with an incorrect System.map file (though if you get a kernel oops you'd get some bad results). I've been looking for proper information on this, but my searches have come up empty. klogd looks for /boot/System.map-$(uname -r) first -- but because Slackware's System.map files have the generic/huge identifier added, I'm not sure if klogd actually grabs the right one. I'm running the generic kernel on Slackware64-13.1 with System.map still pointing to the huge kernel's System.map file, but there are no messages about the wrong System.map file being used in any of my logs. See here for more information, but alas it does not provide the information I wanted (neither does `man klogd`). Using strace alongside klogd doesn't give me any valuable information either.
Anyway, the System.map symlink couldn't hurt, so you may want to change that -- but if you want to be 100% positive that you are running the generic-smp kernel, use the first command I mentioned.
Pls forgive me for being persistent about this but I 'need' to know how you knew that my system was GENERIC...
Did you determine that from my 'ls -l /boot' output above, and if so, 'how' do you know?
or,
Did you know that if I followed your tutorial correctly, that I would be GENERIC?
Off-topic comment:
Thank you for your great tutorials - ever since I discovered them, I refer to them all the time. I am certain that your efforts are making 'that fog called linux' lift for many readers!
I knew because you selected Linux_G at your prompt screen, and if you followed my instructions that can only be the generic kernel. I've gone through this process enough times myself to have confidence in it.
Glad you like the tutorials. I'll have another one up soon on file permissions.
I knew because you selected Linux_G at your prompt screen, and if you followed my instructions that can only be the generic kernel. I've gone through this process enough times myself to have confidence in it.
Glad you like the tutorials. I'll have another one up soon on file permissions.
The first warning can be rid of by using the 'lba32' in the global section of your '/etc/lilo.conf'.
Second, third warning by use of the 'vga=normal' in '/etc/lilo.conf'.
Do the following with the '/etc/lilo.conf';
First line is just edit of the '/etc/lilo.conf' file. The next will test (-t) the '/etc/lilo.conf'. If you get a clean output then perform the last by removing the '-t' and running the command. I do suggest that you 'man command' things to understand fully.
When you are working on the kernel, be sure to keep a working kernel stanza within the '/etc/lilo.conf' to allow you to recover when needed.
Hi Gary:
Here is my output now:
Code:
bash-4.1# lilo -v -t -b /dev/sda8
LILO version 22.8 (test mode), Copyright (C) 1992-1998 Werner Almesberger
Development beyond version 21 Copyright (C) 1999-2006 John Coffman
Released 19-Feb-2007 and compiled at 14:44:48 on Feb 16 2010
Warning: Ignoring entry 'boot'
Reading boot sector from /dev/sda8
Using BITMAP secondary loader
Calling map_insert_data
Mapping bitmap file /boot/slack.bmp
Calling map_insert_file
Boot other: /dev/sda1, on /dev/sda, loader CHAIN
Added Windows *
Boot image: /boot/vmlinuz-generic-smp-2.6.33.4-smp
Mapping RAM disk /boot/initrd.gz
Added Linux_Generic
Boot image: /boot/vmlinuz -> vmlinuz-huge-smp-2.6.33.4-smp
Added Linux
The boot sector and the map file have *NOT* been altered.
One warning was issued.
bash-4.1#
Only one warning.
Here is my etc/lilo.conf:
Code:
# LILO configuration file
# generated by 'liloconfig'
#
# Start LILO global section
lba32
# Append any additional kernel parameters:
append=" vt.default_utf8=0"
boot = /dev/sda
# Boot BMP Image.
# Bitmap in BMP format: 640x480x8
bitmap = /boot/slack.bmp
# Menu colors (foreground, background, shadow, highlighted
# foreground, highlighted background, highlighted shadow):
bmp-colors = 255,0,255,0,255,0
# Location of the option table: location x, location y, number of
# columns, lines per column (max 15), "spill" (this is how many
# entries must be in the first column before the next begins to
# be used. We don't specify it here, as there's just one column.
bmp-table = 60,6,1,16
# Timer location x, timer location y, foreground color,
# background color, shadow color.
bmp-timer = 65,27,0,255
# Standard menu.
# Or, you can comment out the bitmap menu above and
# use a boot message with the standard menu:
#message = /boot/boot_message.txt
# Wait until the timeout to boot (if commented out, boot the
# first entry immediately):
prompt
# Timeout before the first entry boots.
# This is given in tenths of a second, so 600 for every minute:
timeout = 100
# Override dangerous defaults that rewrite the partition table:
change-rules
reset
# VESA framebuffer console @ 1024x768x256
# original vga = 773
vga=normal
# Normal VGA console
# vga = normal
# VESA framebuffer console @ 1024x768x64k
# vga=791
# VESA framebuffer console @ 1024x768x32k
# vga=790
# VESA framebuffer console @ 1024x768x256
# vga=773
# VESA framebuffer console @ 800x600x64k
# vga=788
# VESA framebuffer console @ 800x600x32k
# vga=787
# VESA framebuffer console @ 800x600x256
# vga=771
# VESA framebuffer console @ 640x480x64k
# vga=785
# VESA framebuffer console @ 640x480x32k
# vga=784
# VESA framebuffer console @ 640x480x256
# vga=769
# End LILO global section
# Windows bootable partition config begins
other = /dev/sda1
label = Windows
table = /dev/sda
# Windows bootable partition config ends
# Linux bootable partition config begins
image = /boot/vmlinuz-generic-smp-2.6.33.4-smp
initrd = /boot/initrd.gz
root = /dev/sda8
label = Linux_Generic
read-only
# Linux bootable partition config ends
# Linux bootable partition config begins
image = /boot/vmlinuz
root = /dev/sda8
label = Linux
read-only
# Linux bootable partition config ends
By using the directive option '-b /dev/your_device' you are not using the 'boot=/dev/sda' within the '/etc/lilo.conf' thus the warning to ignore 'boot entry'.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.