Kernel panic...
1 Attachment(s)
howdy folks ... as title says ... nice kernel panic trying to use generic, btw I have like 10 entries on grub(managed by my first distro) how to deal it ?
|
Are you using lvm? Did you create an initramfs? Some more information about your system setup would be helpful.
|
Member response
Hi,
Welcome to LQ & Slackware! When you are going to use the generic kernel a initrd must be used; Quote:
The Slackware Doc Project is a very good resource for Slackware users, both new & old. Hope this helps. Have fun & enjoy! :hattip: |
Quote:
yep, already did, what info do you need ? on installation skip LiLo, I have grub installed on sda in antiX partition, as said before I got like 10 Slackware entries |
Quote:
that's it! |
Hi!
Last time I had this kind of problem, my GRUB configuration file was missing the name of one of the initrd files. The purpose of all I am going to ask is to verify if for the failing distribution, the "initrd" line in your GRUB configuration file for this distribution contains all of the necessary initrd required for booting. I would like to take a look at the configuration file Code:
/boot/grub/grub.cfg Code:
menuentry Moreover, I will need to see the contents of the /boot directory on your Slackware partition to see the names of the initrd files located in it. Finally, are you using an Intel CPU? If so, you may also need an extra file, named "intel-ucode.img", located in the /boot directory of your Slackware partition. I say "may" because I do not require it on Ubuntu, but I do on Manjaro and Arch. It should be available in your distribution's repositories if you require it. |
Member response
Hi,
Even if the OP is using GRUB2 a initrd must be created for the Slackware generic kernel because necessary drivers are not included.. You would have a initrd entry line in the grub.cfg such as; Code:
initrd /boot/initrd.img-generic Quote:
Have fun & enjoy! :hattip: |
Quote:
|
See https://www.linuxquestions.org/quest...ml#post5078462 for some information.
|
Quote:
Code:
} **************************************************************************************************** ************** Code:
### BEGIN /etc/grub.d/10_linux ### |
Grub has become ridiculously complex, at least three places from where you can edit it's config... ?!?
The best thing you can do is ditch it. Edit: 1) A config file for the program that generates the real config. 2) n-x scripts that generate the config. 3) The config file itself. |
:rolleyes: It wasn't that difficult to modify someone else's script (that's all that I did) to create something that would generate grub entries that more-or-less worked with Slackware.
At least it's worked for all of my grub-booted machines. |
The more vmlinuz files/symlinks you have in /boot/, the more entries grub will generate.
The grub scripts you're using also have to figure out if there's a matching initrd for each vmlinuz. From the output you posted above, there are 9 vmlinuz files or symlinks in /boot/ and it looks like all the generic kernels are missing a line for the initrd. (Or, the initrd's exist, but the grub script is looking for filename patterns that don't quite match them.) Code:
vmlinuz As an example, under /boot/ I currently have; Code:
vmlinuz-generic-3.18.37 Adding a line at line 202, my lines 201-203 now look like this; Code:
"initramfs-genkernel-${GENKERNEL_ARCH}-${alt_version}" \ You may have to check the grub scripts in a similar way on the system you are generating the grub.conf with to see exactly what filenames they're looking for. In Slackware, I used the mkinitrd_command_generator.sh script to generate a suitable mkinitrd line and plopped that into a simple script such as; Code:
#!/bin/bash Code:
VER=4.4.16 ./myscriptname.sh Code:
grub-mkconfig -o /boot/grub/grub.cfg |
1 Attachment(s)
/boot directory :
|
Looking at your /boot directory, the only existing initrd file is "initrd.gz" for the "vmlinuz" kernel. The "vmlinuz" file seems to be a link. Which kernel does it point to? You can use "ls -l" to see.
As explained by Hangaber above (great answer by the way!), you will need to produce an initrd for the generic kernel, as there is none. Then, if it matches the pattern GRUB is looking for, it will be added automatically to your grub.cfg file once you update it using Code:
grub-mkconfig -o /boot/grub/grub.cfg Code:
initrd /boot/NameOfTheInitrdFile Also, from what I see the Slackware entry on the main GRUB menu, which corresponds to the very first block you posted, does not use the generic kernel (unless the link points to it). Only the third, fourth, fifth and sixth entries of the "Advanced options" menu use it. It is in those blocks that an "initrd" line needs to be added once the file has been generated, just under the "linux" line. If I use the fourth entry in the "Advanced options" as an example, using the GRUB standard convention explained by Hangaber, this would give Code:
menuentry 'Slackware Linux (Slackware 14.2) (on /dev/sda3)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/boot/vmlinuz-generic-4.4.14--==========================' { Also, is the main GRUB menu entry also spitting out a kernel panic even though it is using the "initrd.gz" file? If so, there may be something else going on. It depends on which kernel the "vmlinuz" link points to. |
All times are GMT -5. The time now is 08:31 AM. |