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.
Yes i realize there have been many threads about this problem. I have searched them all too. I only have a quick question though. Would upgrading to a different kernel (2.6.23.9) solve my problems with this since it would be running a generic kernel, or would it still be as if i am running the huge.s kernel?
Thanks
I can't remember off the top of my head what file systems are compiled within the huge.s kernel by default. OTOH, Could you tell us what file system you're using for your / partition? Ext2/3? Reiser? XFS? FAT32 (God forbid...)?
hmmm well the new kernel didn't work so here i go.
EXT2 FS
here's he error im getting at boot
Code:
Kernel Panic - not syncing: VFS: Unable to mount root fs on unknown block (3,1)
i read up on how to make an initrd but im still not quite grasping what it is that i should do with that.
I have also read the CHANGES.txt and the other things PV released with Slack 12.0.
The main thing i noticed is that this happens when i disable the RAID option in my kernel. However i have a laptop which does not support RAID.
Create a initrd for the kernel. Read the '/boot/README.initrd'. Then edit '/etc/lilo.conf' to add the initrd to the correct stanza. Be sure to run 'lilo' again.
ok so i did
cd /boot
mkinitrd -f ext2
nano /etc/lilo.conf
added initrd = /boot/initrd.gz
/sbin/lilo
reboot
**edit**
well that didn't work at all.
ok re-installed Slack 12.0
new question:
After i install and get everything running should i upgrade the kernel to the 2.6.23.9? i am guessing that the ones supplied from www.kernel.org are the "generic kernels" am i correct?
The kernels found at kernel.org are the genuine Linux kernels. 'generic kernel' is a term used (in Slackware) to denote a kernel that is generic (can be used for day to day activities), a 'huge kernel' on the other hand is huge and bloated and may cause problems when run for daily use ... however it is useful when installing because it has more built-in and has reduced chance of not having something you need compiled in resulting in hardware not being detected. So, you can get a kernel from kernel.org and apply a config to it. If you want, you can copy in a 'generic' config or a 'huge' config file (found on the slackware disk), and start from there.
Code:
Kernel Panic - not syncing: VFS: Unable to mount root fs on unknown block (3,1)
This error usually suggests that the kernel you are using does not have the proper drivers built-in in order to mount your root filesystem. It's likely that whatever drivers you need are not built-in but are modules instead.
Look on kernel.org. They have an archive of linux kernels going back to the pre-1.0 days.
EDIT:
I have been using 2.6.23.9 for a couple of weeks now and have yet to run into any problems (other than forgetting to compile a module, but that's my error ).
Last edited by GushpinBob; 12-08-2007 at 06:05 PM.
ok so i did
cd /boot
mkinitrd -f ext2
nano /etc/lilo.conf
added initrd = /boot/initrd.gz
/sbin/lilo
reboot
**edit**
well that didn't work at all.
ok re-installed Slack 12.0
new question:
After i install and get everything running should i upgrade the kernel to the 2.6.23.9? i am guessing that the ones supplied from www.kernel.org are the "generic kernels" am i correct?
You didn't create your initrd properly for your filesystem.
Quote:
excerpt from /boot/README.initrd;
Here's another example: Build an initrd image using Linux 2.6.21.5-smp
kernel modules for a system with an ext3 root partition on /dev/hdb3.
mkinitrd is used to build an initial ramdisk. An initial ramdisk is a
very small set of files that are loaded into RAM and "mounted" (as
initramfs doesn't actually use a filesystem) as the kernel boots
(before the main root filesystem is mounted). The usual reason to use
an initrd is because you need to load kernel modules before mounting
the root partition. Usually these modules are required to support the
filesystem used by the root partition (ext3, reiserfs, xfs), or perhaps
the controller that the hard drive is attached to (SCSI, RAID, etc).
Essentially, there are so many different options available in modern
Linux kernels that it isn't practical to try to ship many different
kernels to try to cover everyone's needs. It's a lot more flexible to
ship a generic kernel and a set of kernel modules for it.
OPTIONS
-c Clear the existing initrd tree (by default in /boot/initrd-
tree/) first. If this is not done, running mkinitrd will add
additional modules to the existing initrd.
-f filesystem
Specify the filesystem to use for the root partition. If this
isn't given, mount will usually figure it out. This option must
be used together with the -r option in order to be beneficial.
--help Display a help summary.
-k kernel version
Use kernel modules from the specified kernel version. mkinitrd
will look for them in /lib/modules/(kernel version).
-m module list
This is a list of colon-delimited modules to build into the ini-
trd. Any dependencies of requested modules will also be added
to the initrd. Additional options may be added to use when
loading the kernel modules (but in this case the entire list
must be wrapped with double quotes).
-o output image
The file to write the initrd to. (default: /boot/initrd.gz)
-r root partition
Specify the device to be used as the root partition. If this
isn't given, the kernel default will be used (which is usually
fine). This option must be used together with the -f option in
order to be beneficial.
If your kernel is;
-c clear tree
-k 2.6.21.5-smp
-m module list
-m module is ext2
-f filesystem
-r root partition
As I stated not that difficult if you read. 'man mkinitrd' will get the rest. Read the '/boot/README.initrd', the information is there. That's all folks!
Your re-install of Slackware 12 was not necessary.
Just to make sure I don't get clobbered by the gurus, let me tell you I am no guru. With that said, your kernel panic is most likely caused by the fact that you didn't compile file system support into your kernel. You set it up as a module, and that never works...at least for me. Try compiling the kernel with file system support directly compiled into your kernel.
The 2.6.23.x kernels DO run some machines without troubles. One of my Slackware machines runs 2.6.23.1, and my Debian print server is using 2.6.23.9. They are both happily running even now.
However, it is my experience that 2.6.23.x kernels really mess with wireless networking. I'm not sure the reason why. I just know that every attempt to run a 2.6.23.x kernel on either this system, or my other laptop with wireless networking has resulted in serious instability issues, and the inability to issue iwconfig commands without locking the wireless adapter.
The 2.6.22.x family, on the other hand supports wireless networking perfectly. Therefore, both of my laptops currently run kernel version 2.6.22.14.
None of my machines have kernel panic troubles. They did until I figured out that setting up file system support as a module is a bad idea...at least my machines seem to think so.
Distribution: Slackware 12 Kernel 2.6.24 - probably upgraded by now
Posts: 1,054
Rep:
Quote:
They did until I figured out that setting up file system support as a module is a bad idea..
its not that ... all of the major distros keep file system support as modules ..
the problem is creating a proper initrd . Although Pat has given a proper readme etc. etc., I don't think it is all working out properly. maybe the next slack would have a better script / ncurses menu based generator for the initrd.
my personal experience was I upgraded to slack 12 , but couldn't get the initrd working properly .. I just used huge26 for a boot, recompiled my own kernel and started working on that. but for noobs , this is a major and unnecessary pain imho.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.