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.
And the problem with using a 'initrd' to insure that you boot is?
There is nothing wrong with using an initrd, but if he can't get it to boot with the huge kernel there is almost 0% chance of getting it to work with an initrd. Since hugh kernel has all the usb filesystem and other bits needed to boot the system what should he add to an initrd the make it work?
A 'initrd' will not require the need to compile/re-compile of the kernel. I for one would not use the huge kernels since they are installer kernels. The generic kernels would be better suited for use on most systems. Sure in that case you will need a 'initrd'. But still easier than re-compiling all the time.
If you need to utilize delays to insure settling or recognition then you can use within '/etc/lilo.conf' the parameter 'rootdelay=10' in the stanza for the image you wish to boot. Or even in the global section of the of the config file. If used globally then all images would be treated.
Another way would be to create the 'initrd' then edit the '/boot/initrd-tree/init' and modify the 'sleep' variable. Of course after you modify the 'init' you would have to move the copy to the device. Do a search here on LQ to get a recipe or look at 'Install_Linux_to_removable_USB_disk' for a general idea.
I do like to make stanza specific reference within my '/etc/lilo.conf' so that the possible problems with 'global' settings can be alleviated by not providing information to other images that is not needed.
There is nothing wrong with using an initrd, but if he can't get it to boot with the huge kernel there is almost 0% chance of getting it to work with an initrd. Since hugh kernel has all the usb filesystem and other bits needed to boot the system what should he add to an initrd the make it work?
Does the huge kernel compile these filesystems and other required drivers as modules or in-built in the kernel? Does the Slackware installer use initrd? (I don't know about this, so I'm asking a genuine question)
Because even if it is compiled as modules, you'll still not be able to boot off it, because there's no way to load the required modules before reading the filesystem without an initrd.
initrd on the other hand, provides a mechanism to load the kernel modules required to read the filesystems and the device drivers required for IDE/SATA/PATA/SCSI/RAID etc.
Last edited by vharishankar; 07-05-2009 at 11:11 AM.
Does the huge kernel compile these filesystems and other required drivers as modules or in-built in the kernel? Does the Slackware installer use initrd? (I don't know about this, so I'm asking a genuine question)
Everything that is needed to boot 98% of the systems out there is compiled in the huge* kernels. I am NOT saying don't use an initrd, I am saying don't start adding more problems until you get the first one fixed. Get the thing booting with the huge kernel first before you start trying to use a generic kernel with an initrd.
Everything that is needed to boot 98% of the systems out there is compiled in the huge* kernels. I am NOT saying don't use an initrd, I am saying don't start adding more problems until you get the first one fixed. Get the thing booting with the huge kernel first before you start trying to use a generic kernel with an initrd.
No one is stating too change things. The huge kernels are not the choice to use as a running kernel;
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.
But to stay with a particular kernel because of your exclusion conditions on troubleshooting will only continue to build on the situation thus not correcting the situation. Changing to the generic is not that difficult. Especially since the OP is still experiencing problems. Try it! It might work.
@harishankar;
The huge kernels have everything but the kitchen sink compiled in to be used as 'installer' kernels. The 'initrd' will include by default when created any associative modules that you include with the primary module. Meaning if a support module is needed you don't have to specify it. Just the primary module. So when you specify a filesystem then any support modules for that specification will be included.
No one is stating too change things. The huge kernels are not the choice to use as a running kernel;
But to stay with a particular kernel because of your exclusion conditions on troubleshooting will only continue to build on the situation thus not correcting the situation. Changing to the generic is not that difficult. Especially since the OP is still experiencing problems. Try it! It might work.
@harishankar;
The huge kernels have everything but the kitchen sink compiled in to be used as 'installer' kernels. The 'initrd' will include by default when created any associative modules that you include with the primary module. Meaning if a support module is needed you don't have to specify it. Just the primary module. So when you specify a filesystem then any support modules for that specification will be included.
As my main goal is to create a system on a USB stick and let
say to put this stick into my pocket and run this system
on any other machine I want to, I suppose it is a good choice
to have a hugesmp.s kernel ( possible hugest) as running,
as you cannot expect some kind of fixed hardware configuration,
I want to say that the kernel should be big enough to
to launch the system on many machines: notebooks, laptops,
workstations ,etc.
The most often seen error is "cannot mount sda2" or something like that.
The exact error message might give another clue about the problem.
As for me the kernel when it is launching does not create necessary
/dev entry in the system. I mean that a USB stick is clearly visible
for the kernel, USB is recognized as SCSI device the name say sdc
is given but it seems that the /dev/ entry is created after
the root device is mounted.
Perhaps the solution is how to say to the kernel that /dev/
entry for usb should be created before mounting the root?
Before the kernel panic the kernel lists the possible devices
where the root can be placed. There are appears the ide-disks,
sata hardisks, cd-roms. No usb.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.