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.
Perhaps first things first... if you didn't have any idea how to make an initrd before, I'm going to step out on a limb and guess that you did not previously have one. So rather than consider the pros and cons of using an initrd versus using the huge kernel, probably we should start by getting you back where you were. So...
First, make sure that the new 2.6.35.7 kernel packages are installed, and make sure that /etc/lilo.conf is pointing to the new huge kernel in /boot (either by using the full filename, or by making sure if lilo.conf uses a symlink, that it points to the right kernel). Then run "lilo" as root, and you should be good to reboot without the disc.
Assuming that works, you can check out README.initrd in /usr/doc/mkinitrd[...] at your leisure.
Hope this helps.
Okay, problem here. Even when I logged on using the disk as per your instructions, it failed to mount my logical volume group, which includes the /usr directory which of course includes vim or any other software I'd want to use to view/modify my /etc/lilo.conf file. Any ideas?
Anyway... I followed your instructions above, and I was able to log in. I'm not sure what to do now, however. How does one go about rebuilding one's initrd?
Run the command
Code:
/usr/share/mkinitrd/mkinitrd_command_generator.sh
to get an idea (it's safe to run that command - it does not do anything, it only shows hints about building your initrd and adding it to lilo.conf).
Can't... I have no access to the contents of my /usr directory... it's in the VG.
YEs, that is th moment when you boot to the command prompt of the Slackware install disk, use the tools available in the install environment to configure your logical volumes:
Code:
vgscan --mknodes ; vgchange -ay
and once yu have your mapped devices, start mounting the partitions below /mnt
Once you ended up with the computer's complete filesystem mounted bwlow /mnt (i.e. the root fs, /home , boot and every other partitions are mounted below /mnt) you can proceed with making the virtual filesystems and devices available below /mnt as well:
Code:
mount --bind /proc /mnt/proc
mount --bind /sys /mnt/sys
mount --bind /dev /mnt/dev
And then you are ready to enter your computer's Slackware using the "chroot" command, re-create the initrd if needed - assuming that /etc/lilo.conf already had the proper section added before - and re-run lilo:
Code:
chroot /mnt
$( /usr/share/mkinitrd/mkinitrd_command_generator -r )
lilo
The first shows a mkinitrd commandline that should fit your computer's configuration, while the second command actually executes that very mkinitrd command.
Some rough edges will remain in these instructions, I wrote them in a hurry, but you will be able to go from there.
I know this is a little off-topic, but since this thread is related to initd problems and has attention from above, let me ask why doesn't the generic kernel have ext2/3/4 built in to begin with? I'm sure there is a very good response, but I've always been curious.
YEs, that is th moment when you boot to the command prompt of the Slackware install disk, use the tools available in the install environment to configure your logical volumes:
Code:
vgscan --mknodes ; vgchange -ay
and once yu have your mapped devices, start mounting the partitions below /mnt
Once you ended up with the computer's complete filesystem mounted bwlow /mnt (i.e. the root fs, /home , boot and every other partitions are mounted below /mnt) you can proceed with making the virtual filesystems and devices available below /mnt as well:
Code:
mount --bind /proc /mnt/proc
mount --bind /sys /mnt/sys
mount --bind /dev /mnt/dev
And then you are ready to enter your computer's Slackware using the "chroot" command, re-create the initrd if needed - assuming that /etc/lilo.conf already had the proper section added before - and re-run lilo:
Code:
chroot /mnt
$( /usr/share/mkinitrd/mkinitrd_command_generator -r )
lilo
The first shows a mkinitrd commandline that should fit your computer's configuration, while the second command actually executes that very mkinitrd command.
Some rough edges will remain in these instructions, I wrote them in a hurry, but you will be able to go from there.
Eric
Point of clarification... I executed the vgscan command and successfully activated the logical volumes. Now, are you saying I need to mount the entire filesystem manually? As in:
Code:
mount /etc /mnt/etc
and so on? If this is a dumb question I'm sorry, we're WAY outside of my comfort zone here...
@brixtoncalling: I wonder about the same thing, too. Maybe because some people may prefer ReiserFS, XFS or other filesystems. But given that 1) we do no longer bother about fitting everything on a floppy, 2) ext* filesystems are widely used and 3) the recent kernels support shared code for ext2/3/4, compiling ext4 into the kernel wouldn't be much of a bloat, would it?
I know this is a little off-topic, but since this thread is related to initd problems and has attention from above, let me ask why doesn't the generic kernel have ext2/3/4 built in to begin with? I'm sure there is a very good response, but I've always been curious.
Because those filesystems are not needed to load the initrd, and the idea behind the generic kernel is to remove whatever bloat can be removed. If you don't care about that bloat, there's no longer a strong reason not to just keep running the huge kernel.
Point of clarification... I executed the vgscan command and successfully activated the logical volumes. Now, are you saying I need to mount the entire filesystem manually? As in:
Code:
mount /etc /mnt/etc
and so on? If this is a dumb question I'm sorry, we're WAY outside of my comfort zone here...
Wait, /etc is on a separate partition?
I think I'm going to have to recommend that reinstall now. ;-) I've never tried putting /etc on its own partition, but can't imagine it would work. Even less so to put /etc on LVM.
Point of clarification... I executed the vgscan command and successfully activated the logical volumes. Now, are you saying I need to mount the entire filesystem manually? As in:
Code:
mount /etc /mnt/etc
and so on? If this is a dumb question I'm sorry, we're WAY outside of my comfort zone here...
No, what you need to do is picture the layout of your filesystem in your mind, or write it down, like (random example):
Code:
root partition was /dev/myvg/root
/home partition was /dev/myvg/home
/boot partition was /dev/sda2
In such a case you'd run:
Code:
mount /dev/myvg/root /mnt
mount /dev/myvg/home /mnt/home
mount /dev/sda2 /mnt/boot
After which your original filesystem is accessible in full, below /mnt . You should then proceed making proc, sys and dev available below /mnt, using the commands I showed you.
This leads to the situation you'd have immediately after installing Slackware and before rebooting out of the installer. A "chroot" into /mnt will dump you into the fully accessible filesystem, and you can run vi, mkinitrd, lilo and whatever else you need to fix your computer.
Because those filesystems are not needed to load the initrd, and the idea behind the generic kernel is to remove whatever bloat can be removed. If you don't care about that bloat, there's no longer a strong reason not to just keep running the huge kernel.
Well I always happily create an initrd or compile my own kernel so no complaints from me
I wasn't sure if there was a reason -- besides keeping the kernel size down -- that generic didn't have ext in it to begin with.
For your information: my pal Al G. wrote a "LUKS/LVM rescue" guide here: http://bkaeg.org/blog/archives/2010/...are-excur.html which is meant to go into my Wiki sometime... I always forget to do that. May help in this case to read that article.
I think I'm going to have to recommend that reinstall now. ;-) I've never tried putting /etc on its own partition, but can't imagine it would work. Even less so to put /etc on LVM.
No... /etc is not on it's own partition. I just didn't understand Eric's instructions. Sorry, but we're in kinda unfamiliar territory for me.
No, what you need to do is picture the layout of your filesystem in your mind, or write it down, like (random example):
Code:
root partition was /dev/myvg/root
/home partition was /dev/myvg/home
/boot partition was /dev/sda2
In such a case you'd run:
Code:
mount /dev/myvg/root /mnt
mount /dev/myvg/home /mnt/home
mount /dev/sda2 /mnt/boot
After which your original filesystem is accessible in full, below /mnt . You should then proceed making proc, sys and dev available below /mnt, using the commands I showed you.
This leads to the situation you'd have immediately after installing Slackware and before rebooting out of the installer. A "chroot" into /mnt will dump you into the fully accessible filesystem, and you can run vi, mkinitrd, lilo and whatever else you need to fix your computer.
Eric
Think I get it now; I just hope I can remember how I've got everything set up. I installed this thing last summer...
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.