LinuxQuestions.org
Support LQ: Use code LQ3 and save $3 on Domain Registration
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware > Slackware - Installation
User Name
Password
Slackware - Installation This forum is for the discussion of installation issues with Slackware.

Notices



Reply
 
Search this Thread
Old 03-23-2006, 01:32 PM   #1
cynedyr
LQ Newbie
 
Registered: Mar 2006
Location: Mayfield, KY
Distribution: Slackware 10.2
Posts: 7

Rep: Reputation: 0
Post Slackware Install Kernel Panic Based on Inability to Read Partition Table


Ok, hi there!

I'm having a continued failure to read the partition table on account of dma_intr: errors=0x84 & 0x51.

Here's what I've done so far:

Materials:
Athlon 1.2 GHz processor
MSI MS-6380E motherboard (A6380VMS)
VIA chispset: VT8366/A,VT8367 Apollo KT266/A,KT 333 CPU to PCI Bridge, VT 8235 PCI to ISA bridge
1 GB DDR SDRAM
Channel 0 IDE Drives
1 80 GB Western Digital, primary boot, XP
1 20 GB Seagate ST320423

Methods:
Boot from CD.
cfdisk to create linux, linux swap and fat32 partitions.
Slackware 10.2 setup run from the CDs to successful completion.

Observations/Troubleshooting Performed:
Lilo correctly allows windows or linux to attempt to boot.
XP can boot successfully.

1. Used hdparm -d0 -u0 -c0 -m0 /dev/hdb && badblocks /dev/hdb. No badblocks reported.

2. Used Seagate disk utility to check disk integrity, tested good.

3. The cylinder/head/sectors under cfdisk do not match BIOS. (I don't know if that matters or not, honestly.) Attempted to pass the correct values through with the kernel loading, no change.

4. Repartitioned & formatted, then reinstalled, no change. The fat32 partition can be written and read from windows.
the partitions are intact when rebooting from CD. Tried twice using the different filesystem options.



Does anyone have any suggestions regarding which direction I should go next?

Thanks!

Michael Cooper

Last edited by cynedyr; 03-23-2006 at 02:38 PM.
 
Old 03-24-2006, 06:13 AM   #2
jomen
Senior Member
 
Registered: May 2004
Location: Leipzig/Germany
Distribution: Arch
Posts: 1,687

Rep: Reputation: 54
What is the exact error - when do you get it?
Did you recompile your kernel recently (missing/wrong driver for your hardware...)?
 
Old 03-24-2006, 08:46 AM   #3
cynedyr
LQ Newbie
 
Registered: Mar 2006
Location: Mayfield, KY
Distribution: Slackware 10.2
Posts: 7

Original Poster
Rep: Reputation: 0
I have yet to recompile the kernel. I did read somewhere that there were some issues with some VIA chipsets, though those seemed to be in earlier kernels. Using 2.4.31, though I could try 2.6.13.

The slackware site talks about editing a linux.bat file, though that appears to be a fix for something else.

Here's from just before error land:

Partition check:
hda: hda1
hdb:hdb: dma_intr: status=0x51 { DriveReady SeekComplete Error }
hdb: dma_intr: status=0x84 { DriveStatusError BadCRC }
hdb: dma_intr: status=0x51 { DriveReady SeekComplete Error }
hdb: dma_intr: status=0x84 { DriveStatusError BadCRC }
hdb: dma_intr: status=0x51 { DriveReady SeekComplete Error }
hdb: dma_intr: status=0x84 { DriveStatusError BadCRC }
hdb: dma_intr: status=0x51 { DriveReady SeekComplete Error }
hdb: dma_intr: status=0x84 { DriveStatusError BadCRC }
hda: DMA disabled
ide0: reset: success
(another loop identical then)
hdb:hdb: dma_intr: status=0x51 { DriveReady SeekComplete Error }
hdb: dma_intr: status=0x84 { DriveStatusError BadCRC }
end_request: I/O error, dev 03:40 (hdb), sector 0
(more of that loop, causing: )
unable to read partition table
...
hdb1: bad access: block=2, count=2
...
sh-2006: reiserfs read_super_block: bread failed (dev 03:41, block 8, size 1024)
sh-2021: reiserfs_read_super: can not find reiserfs on ide0(3,65)
...
unable to mount root fs on 03:41
 
Old 03-24-2006, 11:05 AM   #4
Bruce Hill
HCL Maintainer
 
Registered: Jun 2003
Location: Tupelo, MS
Distribution: Gentoo
Posts: 6,926

Rep: Reputation: 124Reputation: 124
Not sure exactly what your question is. To compile a kernel you'll need to know about your hardware. Get the source from Kernel.org then make a directory somewhere in your own home directory, such as mine:
Code:
bruce@silas:~/kernel$ ls -lh
total 78M
-rwxr-xr-x  1 bruce users 5.1K 2006-02-25 06:47 2.6-kernel-build.txt*
-rw-r--r--  1 bruce users 2.1K 2006-02-10 09:16 build_times
drwxr-xr-x 20 bruce users 1.3K 2006-03-09 17:29 linux-2.6.15.6/
-rw-r--r--  1 bruce users  38M 2006-03-06 03:20 linux-2.6.15.6.tar.bz2
drwxr-xr-x 19 bruce users  856 2006-03-24 09:07 linux-2.6.16/
-rw-r--r--  1 bruce users  39M 2006-03-20 14:22 linux-2.6.16.tar.bz2
It's sane to use /home/username/kernel then you can untar the source in there by issuing "tar xvjf linux-2.6.16.tar.bz2" for instance.

After that, you issue one of these:
Quote:
- Alternate configuration commands are:
"make menuconfig" Text based color menus, radiolists & dialogs.
"make xconfig" X windows (Qt) based configuration tool.
"make gconfig" X windows (Gtk) based configuration tool.
"make oldconfig" Default all questions based on the contents of
your existing ./.config file.
"make silentoldconfig"
Like above, but avoids cluttering the screen
with questions already answered.
I prefer "make xconfig" because everything is easy to read. So these are the steps to compile a 2.6.x.y kernel on Slackware:

$ make xconfig
$ make
# cp System.map /boot/System.map-2.6.16 ; ln -sf /boot/System.map-2.6.16 /boot/System.map
# make modules_install
# cp arch/i386/boot/bzImage /boot/vmlinuz-2.6.16
# pico /etc/lilo.conf
# lilo
# reboot
and enjoy Slackware goodness with a shiny new kernel.

If you want details:

Super fast guide to building a 2.6 kernel the right way (a few of the last bits are Slackware Linux specific)

-----[do all this as a regular user]-----
Extract kernel source in home directory, for example : /home/bruce/kernel/ then cd into kernel source directory and run "make xconfig" and configure all kernel options to suit your needs.

If this is the first time you've compiled a kernel, I'd recommend you read the help entries for all options. Yes, that will take ages, but it's valuable knowledge and will ensure you a better chance of getting a working kernel. Don't forget to build in support for the filesystem you use into the kernel, *not* as a module. Once all options are set as you want them, exit xconfig (don't forget to save your configuration).

Now it's time to build the kernel based on the config you just made. To do that just run "make" and it'll build the kernel and all modules (for stuff you chose to build as modules). Once it's done (hopefully without errors) it's time to install the new kernel and associated modules. To do that you need to be root, so issue "su" to become root.

NB:
If you have a configuration file from an older 2.6.x.y kernel that you
wish to reuse - or just use as defaults - then you can copy the old
configuration file to .config in your new kernel source dir - like so:
cp /path/to/old/.config ~/kernel/linux-2.6.16/.config
and then you can run "make oldconfig" to update it for the new
kernel version - it'll ask you to make choices about options that
are new or have changed, then overwrite .config with a new version
suitable for the new kernel version. Then you can run "make xconfig"
as usual and you'll get the settings from the old kernel as defaults
- or you can just run "make" at this point to build the kernel with
the same settings as you had in your old one.

Please do *NOT* use a configuration file from a 2.4 kernel as input
to "make oldconfig" for a 2.6 kernel source. The resulting
configuration file is most likely to be subtly broken and the kernel
build as a result will most likely not work correctly.

-----[do the following steps as root]-----
Copy the System.map file to /boot as System.map-kernel-version and update the /boot/System.map symlink - like so:
cp System.map /boot/System.map-2.6.16 ; ln -sf /boot/System.map-2.6.16 /boot/System.map

Install the modules by running "make modules_install"

Now, copy the kernel itself to /boot under some new name, like so:
cp arch/i386/boot/bzImage /boot/vmlinuz-2.6.16

Now, the new kernel is in place under the name /boot/vmlinuz-2.6.16 , all that's left is to add it to your bootloader. To do that, edit /etc/lilo.conf and create a new section for your new kernel (leave the old one in place as a fallback option). Such an entry could look like this (will be different for you since you probably have different root partition, etc):
image = /boot/vmlinuz-2.6.16
root = /dev/sda7
label = Slack-2.6.16
read-only # Non-UMSDOS filesystems should be mounted read-only for checking

That's my entry for my current 2.6.16 kernel in lilo.conf. You'll also want to make sure LiLO has a timeout to allow you to pick the kernel you want to boot (btw, first one listed is the default one). To make sure there's a timeout ensure there's a line like this at the top of /etc/lilo.conf:
timeout = 50
(that will give you a 5 second timeout)
also, make sure there's a line like this:
prompt
(that will cause LiLO to show a menu with your kernel choices)

When you're done, save the file and run "lilo" to reinstall the LiLO bootloader.

Now you should be able to reboot and select either your old kernel or the new kernel; so, if the new one won't boot due to some error you made, you still have the old one. In case something goes badly wrong and neither your old nor new kernel will boot, you can always use CD1 to boot the previously installed system. At the very first prompt CD1 gives you enter:
"bare.i root=/dev/hda1 noinitrd ro"
You need to substitute bare.i with the kernel from the CD to use if bare.i doesn't work for you, of course, and /dev/hda1 should be whatever your actual root partition is that will then use the kernel from the CD, but will boot the installed system on the hard drive -- good to know in case of non-booting kernel

-----

And don't forget to read the README file in the top of the kernel source directory for additional instructions. Also read Documentation/Changes for requirements, etc.

And for all of those of you who *still* wrongly think that you need your new kernel's header files in /usr/lib/include etc., please stop that. The kernel headers in that location and elsewhere should match your *glibc*, so leave the kernel headers your distribution put in place alone - and read the following link if you doubt me on this point:
http://uwsg.iu.edu/hypermail/linux/k...07.3/0587.html

Ohh, and don't touch /usr/src/linux - leave that exactly as your distribution made it. Again, if you don't believe me, read the link above as well as the README in the kernel source directory.

Adapted from Jesper Juhl's guide, whose link is no longer valid.
 
Old 03-24-2006, 11:17 AM   #5
Bruce Hill
HCL Maintainer
 
Registered: Jun 2003
Location: Tupelo, MS
Distribution: Gentoo
Posts: 6,926

Rep: Reputation: 124Reputation: 124
And now that I've read your edits, I understand you can't install and then run Slackware?

Where I see you have "BadCRC" this is usually one of three things:
1 - bad medium (disc)
2 - bad drive
3 - bad cable on the drive

Did you use Seagate's Disc Wizard utility and run the advanced test on that drive?

Did you checksum the iso image before you burned the Slackware CDs? If not I'd do that and see if the iso images you downloaded are good.

Otherwise, you'll need to issue "cfdisk /dev/hdb" to get that second drive. And when you install Slackware it will ask you to format the partitions and it will check them. Use the reiserfs for all your Slack parts, except your swap partition. If you're giving all of that 20G drive to Slack, you could use this scheme:
Code:
/dev/hdb1  --  swap  --  512M
/dev/hdb2  --  /     --  8G
/dev/hdb3  --  /home --  12G
 
Old 03-24-2006, 11:51 AM   #6
cynedyr
LQ Newbie
 
Registered: Mar 2006
Location: Mayfield, KY
Distribution: Slackware 10.2
Posts: 7

Original Poster
Rep: Reputation: 0
Yes, I tested the drive with Seagate's utility and it tested good as did the hdparm w/badblock command.

Thanks!

I can partition the drive when booting from the CD and the partition table is saved, I put a fat32 partition on there as well as a linux and linux swap. The installation procedure proceeds flawlessly. With reboot, however, it fails to read the partition table because it can't seem to read the drive at all. Windows can read the fat32 partition without a problem.

The second installation I tried I shuffled the partitions around to different cylinder start/ends with no end-change.

Later today or this evening when I get back home I thought I might try changing kernels to see if that will fix whatever anomaly is preventing the boot sequence from reading the drive.

Question: Does the linux drive on the second hdd need to be made bootable? I was thinking it didn't, though I tried switching that flag, too, to no avial.
 
Old 03-24-2006, 11:57 AM   #7
thekid
Member
 
Registered: Jun 2005
Location: The Golden State
Distribution: Ubuntu 8.04
Posts: 190

Rep: Reputation: 30
I may be way out in right field, but it sounds like you are installing Slack and Win right after eachother?? If that is the case, install 1, then the other. Most people say to install win then linux, but I personally don't see a difference. Try to get slack running by itself, then load win.
 
Old 03-24-2006, 12:00 PM   #8
Bruce Hill
HCL Maintainer
 
Registered: Jun 2003
Location: Tupelo, MS
Distribution: Gentoo
Posts: 6,926

Rep: Reputation: 124Reputation: 124
Linux doesn't need a bootable flag, only Windows.

What did you assign as the type to the FAT32 partition in cfdisk?
It should be 0C, and what did you use to format it? You can issue:
"/sbin/mkdosfs -F32 -v /dev/hdbx" where x is the partition number
from within Slackware as root, but you didn't get there.

Something else I see, in two places:
Code:
ide0: reset: success
sh-2021: reiserfs_read_super: can not find reiserfs on ide0(3,65)
Looks like you've got your partition table messed up, ide0 is /dev/hdb

What did you put in /etc/fstab and where do you have them mounted?

And install LiLO in the MBR ... not the superblock.
 
Old 03-24-2006, 02:51 PM   #9
cynedyr
LQ Newbie
 
Registered: Mar 2006
Location: Mayfield, KY
Distribution: Slackware 10.2
Posts: 7

Original Poster
Rep: Reputation: 0
Quote:
Originally Posted by thekid
I may be way out in right field, but it sounds like you are installing Slack and Win right after eachother?? If that is the case, install 1, then the other. Most people say to install win then linux, but I personally don't see a difference. Try to get slack running by itself, then load win.
Ah, no, I just evacuated the seagate drive of windows stuff, had to move the pagefile from that drive to the boot drive. I then used windows to delete the seagate drive followed by linux to partition/format.

Maybe letting windows delete the drive wasn't a good idea. I think I'll try madboot or the hdd config utility to just do it over again.
 
Old 04-03-2006, 11:02 AM   #10
Bruce Hill
HCL Maintainer
 
Registered: Jun 2003
Location: Tupelo, MS
Distribution: Gentoo
Posts: 6,926

Rep: Reputation: 124Reputation: 124
And why did you "move the pagefile from that drive to the boot drive" ?

Perhaps Slackware Linux Basics: For Slackware Linux 10.2, especially
Chapter 5. Installing Slackware Linux
would be a good reference.
 
Old 05-21-2006, 09:28 PM   #11
cynedyr
LQ Newbie
 
Registered: Mar 2006
Location: Mayfield, KY
Distribution: Slackware 10.2
Posts: 7

Original Poster
Rep: Reputation: 0
Well, I finally got back to my problem and solved it. I just replaced the drive and I'm up using kde now. I still need to configure sound and whatnot, but at least I'm back in the game. The other drive I'm still going to try to use on this pure linux box I inherited (800 MHz former emachine) as a secondary drive, just to see. Next I can start playing with MySQL and such.

So, anyway, completion on this one issue at least.
 
Old 06-14-2006, 01:02 PM   #12
evilDagmar
Member
 
Registered: Mar 2005
Location: Right behind you.
Distribution: NBG, then randomed.
Posts: 480

Rep: Reputation: 31
Save yourself some trouble in the last few steps.

Copy http://dagmar.droplinegnome.org/expe.../installkernel to /sbin/installkernel.

Make *sure* that /boot/System.map, /boot/vmlinuz, and /boot/config are symlinks, not actual files. The script will refuse to do anything if they're not symlinks.

Make sure you have an entry in /etc/lilo.conf that goes like:

image = /boot/vmlinuz
root = /dev/whatever
label = Slackware

...then you can skip all the last stuff where you're manually copying the System.map and kernel image, and instead use the `make install` target, which calls /sbin/installkernel, which copies those files, re-points the symlinks, re-runs lilo, and all that stuff.

FYI the reason it doesn't generate a new lilo stanza is that there's no simple/readable/debuggable way to do that with bash scripting. ...and yes if you build the same kernel over again without changing the extraversion setting, it will slap the new kernel down over the old one (which actually doesn't seem all that unreasonable to me).
 
Old 06-15-2006, 02:13 PM   #13
cynedyr
LQ Newbie
 
Registered: Mar 2006
Location: Mayfield, KY
Distribution: Slackware 10.2
Posts: 7

Original Poster
Rep: Reputation: 0
The funny thing about replacing that other hdd was that once, and only once, it did boot on that old drive.
 
Old 06-15-2006, 03:47 PM   #14
cwwilson721
Senior Member
 
Registered: Dec 2004
Location: In my house.
Distribution: Ubuntu 10.10 64bit, Slackware 13.1 64-bit
Posts: 2,649
Blog Entries: 1

Rep: Reputation: 66
Quote:
Originally Posted by evilDagmar
Save yourself some trouble in the last few steps.

Copy http://dagmar.droplinegnome.org/expe.../installkernel to /sbin/installkernel.

Make *sure* that /boot/System.map, /boot/vmlinuz, and /boot/config are symlinks, not actual files. The script will refuse to do anything if they're not symlinks.

Make sure you have an entry in /etc/lilo.conf that goes like:

image = /boot/vmlinuz
root = /dev/whatever
label = Slackware

...then you can skip all the last stuff where you're manually copying the System.map and kernel image, and instead use the `make install` target, which calls /sbin/installkernel, which copies those files, re-points the symlinks, re-runs lilo, and all that stuff.

FYI the reason it doesn't generate a new lilo stanza is that there's no simple/readable/debuggable way to do that with bash scripting. ...and yes if you build the same kernel over again without changing the extraversion setting, it will slap the new kernel down over the old one (which actually doesn't seem all that unreasonable to me).
I just wish to point out one thing about the above (in red):
While it will work, you will be stuck with what it does. It overwrites whatever you already have as 'vmlinuz', 'System.map', and 'config', thus putting all your eggs in one basket.

What I do is the copying, etc. THEN AND ONLY THEN, after I make sure it does all I need it to (boot, functionality, whatever) , I run 'make install' to turn the new kernel into the 'default'.

Otherwise, I could be stuck with a unbootable, or unworking kernel.
(It has happened to me. Save yourself a little grief)

Last edited by cwwilson721; 06-15-2006 at 03:49 PM.
 
Old 06-16-2006, 08:21 AM   #15
evilDagmar
Member
 
Registered: Mar 2005
Location: Right behind you.
Distribution: NBG, then randomed.
Posts: 480

Rep: Reputation: 31
Quote:
Originally Posted by cwwilson721
I just wish to point out one thing about the above (in red):
While it will work, you will be stuck with what it does. It overwrites whatever you already have as 'vmlinuz', 'System.map', and 'config', thus putting all your eggs in one basket.
No, it does not overwrite those files. I'll quote myself from that same message, and put it in green for grins.

Quote:
Originally Posted by evildagmar
Make *sure* that /boot/System.map, /boot/vmlinuz, and /boot/config are symlinks, not actual files. The script will refuse to do anything if they're not symlinks.
Avoiding obliterating older kernel revisions and map files is the reason the script is so particular about giving the new copies versioned names and only using symlinks for the common/nameless locations. So... no eggs are at risk as there is no aggregation of them in anything like a basket. The script will, as I have said, do nothing if any of those three files turn out to be something other than symlinks (which includes the quantum-based "nonexistant" filetype).

Quote:
Originally Posted by cwwilson721
What I do is the copying, etc. THEN AND ONLY THEN, after I make sure it does all I need it to (boot, functionality, whatever) , I run 'make install' to turn the new kernel into the 'default'.

Otherwise, I could be stuck with a unbootable, or unworking kernel.
(It has happened to me. Save yourself a little grief)
There's an easy solution to that one. Just add an specific entry in your lilo.conf for each *numbered* kernel that you've decided you'd like to keep, as in:

Code:
# Linux bootable partition config begins
image = /boot/vmlinuz
  root = /dev/hda5
  label = Slackware
  read-only # Non-UMSDOS filesystems should be mounted read-only for checking
# Linux bootable partition config ends
# Linux bootable partition config begins
image = /boot/vmlinuz-2.6.16.20
  root = /dev/hda5
  label = Slack-2.6.16.20
  read-only # Non-UMSDOS filesystems should be mounted read-only for checking
# Linux bootable partition config ends
# Linux bootable partition config begins
image = /boot/vmlinuz-2.4.31
  root = /dev/hda5
  label = Slack-2.4.31
  read-only # Non-UMSDOS filesystems should be mounted read-only for checking
# Linux bootable partition config ends
...or simply make the generic kernel-booting stanza the second stanza so that the default is the one that is known/working.
 
  


Reply


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
Re-read Partition Table sourceman Linux - General 11 01-10-2008 05:31 AM
Setup does not read partition table johnfw7 Slackware 3 03-09-2006 01:32 PM
FC4 Install error - cannot re-read partition table praveen_143 Fedora - Installation 0 12-28-2005 03:59 PM
Mandrake 10 install can't read partition table chessh Mandriva 7 03-14-2004 09:35 PM
LFS compiled kernel can't read partition table curtdodds Linux From Scratch 6 08-05-2003 10:50 PM


All times are GMT -5. The time now is 09:00 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
identi.ca: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration