LinuxQuestions.org
Visit Jeremy's Blog.
Home Forums Tutorials Articles Register
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 10-03-2008, 06:48 AM   #1
gmorris
Member
 
Registered: Jul 2006
Posts: 47

Rep: Reputation: 15
Slack, but not Slack enough - boot problems


Hello all,

I got SlackWare installed on an old Pentium 120 that runs Win98 on one partition (about 2.7G) and using BootMagic, as I have for years, I made the swap partition (160M, as it has 80M memory) and the rest (about 5.3G) into an ext2 partition, finishing off the disk. I had tried using ext3 before, and the system didn't seem to like it for some reason (it's a strange old computer), so I went back and tried again with ext2. Now, I was unable to boot from the CD (never had a problem with RedHat7's boot CD), so I created the floppy with the boot manager and got the install going, installed everything except the language package for KDE I think, and then attempted to get LILO going on the Linux partition. For some reason, it just won't write LILO giving me all kinds of excuses. Sometimes it complains about the disk, other times it's different depending on what method I try to install it. I'm still not sure if it ever installed anything, but there IS a boot screen so maybe it did.

So I figure, well at least I should be able to boot off of the floppy. When I pick the correct partition it comes up with the boot screen and I go "YAY! It works!". Not so fast though. Here's what comes up next:

Loading SlackWare.............. (more dots)
BIOS data check successful
This kernel requires the following features not present on the CPU:
0:15
Unable to boot - please use a kernel appropriate for your CPU


And that's it, no more booting that way. Funny thing is, I can (and it's a serious pain too) boot from the floppy to the CD, and when THAT prompt comes up I can tell it to boot from the HD by pointing it to /dev/hda3/boot/vmlinuz, and it boots up just fine. What is going on here? RedHat never gave me this hard of a time, in fact it always installed on this computer without a hiccup and booted just perfectly from BootMagic. This is like the 4th or 5th day I've been working on this and it's driving me crazy. Why would it give a kernel error booting from the floppy, but run the same kernel just fine if I start it from the CD? Any suggestions or help would be greatly appreciated at this point (while I still have hair)!

Last edited by gmorris; 10-03-2008 at 06:49 AM.
 
Old 10-03-2008, 07:17 AM   #2
pinniped
Senior Member
 
Registered: May 2008
Location: planet earth
Distribution: Debian
Posts: 1,732

Rep: Reputation: 50
It sounds like lilo is screwed; what is your lilo.conf and what was lilo complaining about when you tried to install it?
 
Old 10-03-2008, 12:10 PM   #3
gmorris
Member
 
Registered: Jul 2006
Posts: 47

Original Poster
Rep: Reputation: 15
Quote:
Originally Posted by pinniped View Post
It sounds like lilo is screwed; what is your lilo.conf and what was lilo complaining about when you tried to install it?
OK, lilo didn't like the disk geometry, and I installed it (finally) using the '-P ignore' switch. It did install with messages telling me that the logical disk addresses didn't match what the BIOS reported. It did install anyway, and it worked up until that point where it stopped at the 0:15. Now, since then I did find another forum where someone had this problem and were told to go to the boot dir and change the vmlinuz, config and System.map links to point to another kernel image and likewise with the others. Once I did that, it started like it was going to work again, but then it stopped with a PANIC message saying that it couldn't mount the disk (/dev/hda3 on this system).

So, I read some of the docs on the system (after booting it yet again from the floppy and CD) and read that some BIOS's need to load a ramdisk which then loads drivers to be able to mount volumes. So, I then looked into mkinitrd, and ran it to make the ramdisk at boot time, which it did. Still, when it got to that same place, it gave another message about something wrong and that it couldn't mount /dev/hda3, no such device. I don't really get that, as I assumed that it had to be mounted somehow in order to boot THAT far! I even looked in the rd's dev dir to make sure it really was there, and even went so far as to run 'cat /dev/hda3'. Sure enough, gobs of characters flowed down the screen (which really didn't matter since I had to reboot to do anything else anyway), so now I'm stumped again. I can't figure out what else to do at this point, it looks like it wants to boot but why is it not loading a driver to mount a native ext2 partition? I re-loaded lilo to include loading the ramdisk, and even put the line in the place the document said to in lilo.conf, but no go. I've been at this the better part of a week now, so it's getting really frustrating since I know this worked with RedHat7, I just don't know what is keeping the thing from mounting the partition. Obviously, it's possible as the CD has the drivers set up to mount it just fine. ANY suggestions will be tried, tested, and results posted.

Thanks
 
Old 10-03-2008, 12:44 PM   #4
mostlyharmless
Senior Member
 
Registered: Jan 2008
Distribution: Arch/Manjaro, might try Slackware again
Posts: 1,851
Blog Entries: 14

Rep: Reputation: 284Reputation: 284Reputation: 284
Some thoughts:

(1) You could try Grub to at least isolate the problem as a lilo problem vs other problem. Try the SuperGrub disk if you want to go that route. If you're using Slackware 12.1, though, your inodes for ext2 might only be compatible with slackware's patched grub in /extra. You can use that if you boot from the floppy to the CD to the HD..

(2) If you are using the generic vmlinuz with an initrd make sure you have support for ext2/ext3 added in; it's not compiled in the kernel. The CD version uses the "huge" kernel which has ext2 support compiled in. That might account for the difference you see, though it sounds like you're booting the HD version. Odd.

Hope that helps

Last edited by mostlyharmless; 10-03-2008 at 12:44 PM. Reason: typo
 
Old 10-03-2008, 01:26 PM   #5
gmorris
Member
 
Registered: Jul 2006
Posts: 47

Original Poster
Rep: Reputation: 15
Quote:
Originally Posted by mostlyharmless View Post
Some thoughts:

(1) You could try Grub to at least isolate the problem as a lilo problem vs other problem. Try the SuperGrub disk if you want to go that route. If you're using Slackware 12.1, though, your inodes for ext2 might only be compatible with slackware's patched grub in /extra. You can use that if you boot from the floppy to the CD to the HD..

(2) If you are using the generic vmlinuz with an initrd make sure you have support for ext2/ext3 added in; it's not compiled in the kernel. The CD version uses the "huge" kernel which has ext2 support compiled in. That might account for the difference you see, though it sounds like you're booting the HD version. Odd.

Hope that helps
In order to do that (now get this), I'll have to use this laptop with Windows Vista to download GRUB (which I've never even tried or used), then burn it to a CD, then boot the other machine from the floppy to the CD to the HD (AGAIN), change CDs and then I can install it. The laptop has no floppy drive, so I can't use floppy to transfer files either to or from the old machine, which has no CD burner itself making it impossible to transfer ANY files from the old one to the laptop (meaning I can't yet post anything from the Linux system without typing the whole thing manually, what a pain!). At this point, I'm just about ready to Archive the Windows98 installation and put it at the end of the drive on a small partition so I don't lose any data. Once done, I could then try to install lilo to the boot sector of the drive itself, which might or might not work. If not, I'll give ol' GRUB a shot. I've only one kernel left that I haven't tried, and that is the generic one with the SMB or something in the name. I was really hoping that this was something simple I could fix with a line or two in some file though. I forgot to mention something, too. I got a message about it not being able to find "init", even though it exists on the ramdrive and on /dev/hda3. I thought that was strange. If there appears to be no alternative, I'll just try the GRUB thing...

Also, the whole reason for doing this is that my old server died from a bad power supply, and we really need a dedicated server for the Internet and LAN. It ran Windows2000 for years with no problem and was a great server, but this other machine won't take W2K for some reason so I figured it would be MUCH easier just to install a Linux server. So much for figuring.

Last edited by gmorris; 10-03-2008 at 01:33 PM. Reason: Oh yeah...
 
Old 10-03-2008, 01:33 PM   #6
mostlyharmless
Senior Member
 
Registered: Jan 2008
Distribution: Arch/Manjaro, might try Slackware again
Posts: 1,851
Blog Entries: 14

Rep: Reputation: 284Reputation: 284Reputation: 284
Grub is on the slackware CD in /extras; no burning necessary, except perhaps if you need to perform a sacrifice or make breakfast.
 
Old 10-03-2008, 01:34 PM   #7
gmorris
Member
 
Registered: Jul 2006
Posts: 47

Original Poster
Rep: Reputation: 15
Quote:
Originally Posted by mostlyharmless View Post
Grub is on the slackware CD in /extras; no burning necessary, except perhaps if you need to perform a sacrifice or make breakfast.
Sorry, didn't know that. I just assumed that it would be an option at install if it was there. Thanks!
 
Old 10-03-2008, 07:36 PM   #8
gmorris
Member
 
Registered: Jul 2006
Posts: 47

Original Poster
Rep: Reputation: 15
Well, so far no good. I don't believe that it's the bootloader that's causing this. Surely if I can boot the partition from the CD, it shouldn't make much (if any) difference in the way that Linux wants to boot the machine. There HAS to be some kind of config setting(s) that will allow the bootloader to load the Linux kernel from the hard drive. I just have a lot of trouble believeing that ANY bootloader is going to be able to do this. I've since read much documentation on this, and I've considered or tried anything that might work. I keep thinking that someone else must have encountered this type of problem before. Nothing works, EVER.

On the upside, once booted from the CD, I did load X and it took just over an hour to configure everything, but finally came up just fine, something I've never experienced from a distro before. No questions, no config, I just typed in the "startx" command and it booted the KDE interface (albeit VERY slowly), but it was a great break from the old RedHat packages where I had to tell the machine every detail of my monitor and video card. If nothing else, that makes me want to keep Slack, if I can ever figure out what the heck is keeping me from booting from the hard drive. It's the one thing that does not make any sense!
 
Old 10-04-2008, 03:56 AM   #9
samac
Senior Member
 
Registered: Mar 2004
Location: Kirkwall, Orkney
Distribution: Linux Mint 20.3 - Cinnamon
Posts: 1,425

Rep: Reputation: 139Reputation: 139
Are you using the generic kernel or the generic-smp kernel. If you are using the smp kernel try the non-smp one as the hardware may not support the smp kernels features.

If you are already using the non-smp kernel, please ignore this post.

samac
 
Old 10-04-2008, 07:00 PM   #10
gmorris
Member
 
Registered: Jul 2006
Posts: 47

Original Poster
Rep: Reputation: 15
I ran out of kernels to try from Slack, so I decided to build one, and I spent a long time looking at all the options, so I hope I picked the right one. I can see the screen from here, and the ol' Pentium 120 is still cranking away at the compilation. Only a few warnings so far about deprecated code and such, but no dead stops or serious errors. So far, anyway. I figured if I can compile the kernel on this machine, maybe it'll actually BOOT the danged thing. I have no problems running it from the CD boot except for the ramdrive that sucks up half the memory, so I'm really hoping that this solves the issue once and for all. The thing that I'm stumped about more than just about anything is, I know someone has done this before and there has to be some kind of solution, yet I never find a word about it when I search. Some Linux GURU could probably say "Oh, you just need to add <some configuration scheme> to <some configuration file somewhere>" but that hasn't happened (yet). For the time being, making my own kernel just seemed like the next logical step. I hope it works!
 
Old 10-04-2008, 10:29 PM   #11
T3slider
Senior Member
 
Registered: Jul 2007
Distribution: Slackware64-14.1
Posts: 2,367

Rep: Reputation: 843Reputation: 843Reputation: 843Reputation: 843Reputation: 843Reputation: 843Reputation: 843
I'm thinking that if you can boot into your installed system using the kernel on the CD (ie typing "hugesmp.s root=/dev/hda3 rdinit= ro" instead of just pressing enter), then the issue remains with LILO (or GRUB) and NOT your kernel OR your installed system. If everything works when booting your installed system using the kernel on the CD (as described above), then clearly your system is working perfectly. And, since the huge-smp kernel on the CD is the same as the one in /boot (the /boot/vmlinuz symlink points to /boot/vmlinuz-huge-smp-2.6.24.5-smp by default), the kernel must be fine as well. Therefore, the problem is with your LILO/GRUB installation and nothing else. You should post your /etc/lilo.conf file (use the [_CODE] and [_/CODE] tags without the _ to make it easier to read your lilo.conf) so we can see what it is doing.
 
Old 10-05-2008, 10:43 AM   #12
gmorris
Member
 
Registered: Jul 2006
Posts: 47

Original Poster
Rep: Reputation: 15
Well, the thing is, this machine won't use that hugesmp.s kernel at all, either off the CD or the HD. I have to boot it with the other one, huge.s. If I try the hugesmp one, I get an error message about my processor not supporting the features of that kernel. (See first post!) Also, I don't yet have any networking set up, and this laptop doesn't read floppies so it's impossible to paste lilo.conf, I'd have to write down and then type the whole thing in by hand. You can believe one thing, though, I've done this before and I know what should work in lilo. I have examined it extensively, and can't find anything suspicious or unusual. I read that some of the kernels don't have support for any filesystems except ramdrives, and even using an initrd won't boot the system with those. The system knows where everything is, but for some reason it just won't mount the drive. On boot, I get the LILO screen no problem, and it starts booting. When it gets to the part where the root drive gets mounted, it can't. I even tried it from the $ prompt that the initrd gives, and it says "no such device".

Aside from making my own kernel and trying that, the only thing I can think of would be to try and load a module on boot that supports the ext2 filesystem. IF that doesn't do it, then the problem could very well be lilo, after all it does complain about the disk geometry (more on that in post #3). The kernel is still compiling, about 16 hours into it (It really is a SLOW machine), so when that gets done I'll give it a try and post the result.
 
Old 10-05-2008, 01:35 PM   #13
T3slider
Senior Member
 
Registered: Jul 2007
Distribution: Slackware64-14.1
Posts: 2,367

Rep: Reputation: 843Reputation: 843Reputation: 843Reputation: 843Reputation: 843Reputation: 843Reputation: 843
My post above still applies, but using the huge.s kernel instead of the hugesmp.s kernel. If you can boot that from the CD, you should configure LILO to use that kernel on your running system. Here is my lilo.conf for reference, with the kernel stanza edited to reflect your system (possibly incorrect since I don't have all of the details, but you should get the general idea). Note that I have also changed the vga= line to vga=normal just because that is basically foolproof. I am assuming your hard drive is /dev/hda, and that your root partition is located at /dev/hda3.
Code:
# LILO configuration file
# generated by 'liloconfig'
#
# Start LILO global section
boot = /dev/hda
#compact        # faster, but won't work on all systems.
# 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

# Append any additional kernel parameters:
append=" vt.default_utf8=0"
prompt
timeout = 50
# VESA framebuffer console @ 1024x768x64k
# vga = 791
# 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
# ramdisk = 0     # paranoia setting
# End LILO global section
# Linux bootable partition config begins
image = /boot/vmlinuz-huge-2.6.24.5
  root = /dev/hda3
  label = Huge
  read-only  # Partitions should be mounted read-only for checking
# Linux bootable partition config ends
I realize that it is difficult since you can't copy the files between computers, but if you can get your system running by booting using the kernel on the CD (the non-smp kernel apparently), then you could just browse to this thread and compare my posted lilo.conf to your /etc/lilo.conf.

[edit]Of course, checking the thread you haven't set up your network. You should probably do that unless you can compare the files manually (but that is more error-prone).[/edit]

It should be noted that if you plan to continue using the non-smp kernel (which appears to be necessary in your case), you will have to patch the kernel sources. From CHANGES_AND_HINTS.TXT:
Quote:
Originally Posted by CHANGES_AND_HINTS.TXT
As stated earlier, it is recommended that you use one of the generic kernels
rather than the huge kernels; the huge kernels are primarily intended as
"installer" and "emergency" kernels in case you forget to make an initrd.
For most systems, you should use the generic SMP kernel if it will run,
even if your system is not SMP-capable. Some newer hardware needs the
local APIC enabled in the SMP kernel, and theoretically there should not be
a performance penalty with using the SMP-capable kernel on a uniprocessor
machine, as the SMP kernel tests for this and makes necessary adjustments.
Furthermore, the kernel sources shipped with Slackware are configured for
SMP usage, so you won't have to modify those to build external modules
(such as NVidia or ATI proprietary drivers) if you use the SMP kernel.

If you decide to use one of the non-SMP kernels, you will need to follow the
instructions in /extra/linux-2.6.24.5-nosmp-sdk/README.TXT to modify your
kernel sources for non-SMP usage. Note that this only applies if you are
using the Slackware-provided non-SMP kernel - if you build a custom kernel,
the symlinks at /lib/modules/$(uname -r)/{build,source} will point to the
correct kernel source so long as you don't (re)move it.

If you decide to use one of the huge kernels anyway, you will encounter
errors like this:
kobject_add failed for uhci_hcd with -EEXIST, don't try to register
These occur because the respective drivers are compiled statically into the
huge kernels but udev tries to load them anyway. These errors should be safe
to ignore, but if you really don't want them to appear, you can blacklist the
modules that try to load in /etc/modprobe.d/blacklist. However, make sure you
remove them from the blacklist if you ever decide to use the (recommended)
generic kernels.
I think your best plan of attack is to boot into the system using the kernel on the CD -- this way, you are in the running system and you don't need to do any chroot business to write to the MBR. Then, make sure your lilo.conf is OK (especially the kernel stanza, but look at the whole thing), and then issue `lilo` as root to write to the MBR. Note any errors or warnings you get.

If you decide to use the generic kernel (recommended, but NOT until you get your system booting with the huge kernel), the manner in which you create the initrd is important. Read /boot/README.initrd. There is also Alien Bob's script for determining the correct mkinitrd command for your system. Sometimes, in addition to the filesystem modules, other modules (such as your hard drive controller) need to be loaded as well before the system can boot. That is *one* possible reason why the generic kernel isn't working for you. Make sure you create the initrd and THEN edit your lilo.conf and THEN run `lilo` as root. The initrd needs to be present when you issue `lilo` (I think). A sample kernel stanza for the generic non-smp kernel is shown below:
Code:
image = /boot/vmlinuz-generic-2.6.24.5
  initrd = /boot/initrd.gz
  root = /dev/hda3
  label = Generic
  read-only
That is assuming that your initrd is located at /boot/initrd.gz.

Last edited by T3slider; 10-05-2008 at 01:38 PM.
 
Old 10-05-2008, 06:37 PM   #14
gmorris
Member
 
Registered: Jul 2006
Posts: 47

Original Poster
Rep: Reputation: 15
OK! Thanks for the info. I did try 2 different initrd configuartions, just to see if it was me or the system acting up. I even read the document you referred to, and tried it that way too. I thought, "hey, maybe I just need to point to the correct kernel and files and run LILO again", so I did. It still didn't work, but I'll try these suggestions and see if anything works. It just may be that the disk geometry is not compatible with the way Linux sees the BIOS, however Windows doesn't seem to have much problem with it, and in fact I can still boot Windows from it. If this works, I will deem you GURU!
 
Old 10-08-2008, 02:08 PM   #15
gmorris
Member
 
Registered: Jul 2006
Posts: 47

Original Poster
Rep: Reputation: 15
WHEW! I tried the last suggestion, but my lilo.conf was just about exactly like that, so I made a few changes hoping it might help. Still no go with the default kernels. I have no clue why they boot from the CD and not the HD, but they do and it is bizarre! I even deleted the initrd and it wouldn't boot. So, for the last while I've been compiling kernels, and on the third one I finally got it to boot perfectly from the HD! I just experimented with different options until I got it to work, and don't even ask me what I think finally did it. I just kept playing and compiling until something happened. My only recommendation is to pick the processor that is closest to the one you have, that's what was causing some of the problems. Lack of support for this one in the Slack kernels and even using the 486 image didn't seem to boot it properly, but I seriously don't think that was the whole problem (I could be wrong though). After that, the best thing to do is to pick only those modules that you KNOW you MIGHT need, and compile the ones that you are sure you might need. The rest is just fluff on an old machine like this, with the FireWire and even USB support and stuff like that that this old machine will never use. I reduced the kernel size to just over 2M, and it boots OK, it just tries to load a lot of modules that I wasn't sure about, so I compiled them in just in case. Now I'll have to weed those out and keep up the fine-tuning until this thing is good and stable.

The next course in this thing is to get the network going. I've already hooked it up to the DSL connection, and I got as far as being connected to the internet, but couldn't figure out how to get logged in to AT&T. Until I get through their login server or firewall/whatever, I can't access any web sites, not even theirs! Right now, I'm back at the laptop to send this, but I'm going to try logging into the router/modem thing that they give you and see if I can get in that way with the username and password. Once I get THAT part going, I expect it should be fairly easy to use it as a server for this laptop to get the internet connection. I still have 2 network cards in the old dead computer, one's recent and the other is quite old, so I'm hoping that one of those will be recognized when I move it to this other one. I don't have any other laptop cards, so I have to set it up that way in order to use both machines (on the internet anyway). First I have to connect with the DSL though, I'm not putting in any cards until I'm fairly sure this will work right. One problem area I've noticed: When I try to setup the network through BASH, it goes pretty fast and seems to recognize the adapter and all, but back in KDE it's a different story. If I go through the control panel and try to set it up, it tells me that it doesn't know about my version, and provides a list with Linux OS distros. There are a few Slack versions, but they are older and not the same as this one, so it stops with errors all over and refuses to initialize the adapter. I'll keep updating, and if anyone has tips, fire away!

Thanks.

Got the DSL working, finally, now the next step is to pull a NIC and put it in the Slack machine. Once done, I'll need to get it to serve the internet connection, but I'm not sure if I'll need to use Samba or not. I've used it before, but if it's not necessary I won't. I just hope someone else has tried and done this before.

Last edited by gmorris; 10-08-2008 at 05:12 PM. Reason: Got DSL
 
  


Reply



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
Weird boot up and shutdown intermittent problems in Slack 10 Slovak Slackware 5 11-15-2004 08:52 PM
S-ATA Boot problems. Slack 10. Help! paulinimus Linux - Newbie 1 08-12-2004 07:51 AM
Slack 9.1 1st-time boot Problems -> USB KEYBOARD revz Slackware 2 12-31-2003 02:41 PM
Slack 9.1 First Boot problems fluxtux Slackware 2 11-05-2003 05:05 PM
Boot problems on Slack & Red Hat ratz Linux - Software 2 10-27-2003 02:11 PM

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

All times are GMT -5. The time now is 09:25 AM.

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