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.
Do you have an initrd.gz?
If you only use the first slackware entry to boot and it works without the initrd.gz line, I wouldn't worrry about it.
Otherwise grub is versatile so there is several ways of doing this.
1. As per Richard Cranium post 11
2. Copy the slackware menu entries that you want to use to /etc/grub.d/40_custom and insert the initrd=/boot/initrd.gz between the vmlinuz line and the } line and run update-grub. Be aware that is file is static and won't change with a kernel version change.
3.Chainload slackware grub.cfg with this entry [...]
I don't have an initrd.gz in the Slackware partition. The initrd is generated by mkinitrd which I can't run because I can't boot Slackware yet. So, let's omit the initrd thing for the moment.
After running grub-mkconfig under debian and with the slackware 14.2 already installed, I booted and got this:
Code:
Kernel panic - not syncing: VFS: unable to mount root fs on unknown-block (0,0)
Here a new piece of information: this laptop uses eMMC instead of a hard disk. Though I have already successfully installed debian and linux arch on it, I think Slackware simply does not understand it, which is odd because the installer works fine, writing to the eMMC a lot of data.
In view of this, I'll start a separate thread under the title "Slackware and eMMC". Thanks for all the feedback.
I don't have an initrd.gz in the Slackware partition. The initrd is generated by mkinitrd which I can't run because I can't boot Slackware yet. So, let's omit the initrd thing for the moment.
If you install the Slackware, there is a initrd.gz by default which comes with the default huge kerneL.
If you install the Slackware, there is a initrd.gz by default which comes with the default huge kerneL.
I don't think Slackware will boot without it.
Is that actually accurate? It is my understanding that what makes the Huge kernel huge is almost everything is checked and therefore no initrd is needed. IIRC a sample initrd is included for the Generic kernel only with the expectation that each user will generate his own for his hardware and software specifics. FWIW the only reason I would ever employ initrd is for encrypted file systems. I have never used one in over 20 years.
If you install the Slackware, there is a initrd.gz by default which comes with the default huge kerneL.
I don't think Slackware will boot without it.
This is partially true. On -current and most likely 15.0+ releases, Slackware will include an initrd after installation, but it will be booting the generic kernel with that initrd. The huge kernel is still available (for now) if people want to switch to it. For 14.2 and earlier, it will install both the generic and huge and boot off the huge by default. The admin would be required to set up and initrd and switch to the generic kernel, which is recommended by Pat.
Distribution: Slackware64-current with "True Multilib" and KDE4Town.
Posts: 9,126
Rep:
-current boots the huge kernel perfectly without a initrd.gz.
With "modern" hardware there is no perceived benefit to using the generic kernel and a initrd.gz.
Last edited by cwizardone; 07-02-2020 at 10:39 AM.
I think you will need initrd.gz with eMMC
at the grub menu highlight the slackware menu entry Press e for edit
add a new line after the linux line with this
initrd /boot/initrd.gz
boot and see what happens.
If that doesn't work and/or a initrd.gz doesn't exist, at he grub menu edit the linux line
change the root=/dev/mmcblk0p2 on the linux line to root=UUID=2d63e598-b1b4-4e32-a781-9fe9ceae2c11
Last edited by colorpurple21859; 07-02-2020 at 11:32 AM.
I don't have an initrd.gz in the Slackware partition.
Though I have already successfully installed debian and linux arch on it, I think Slackware simply does not understand it, which is odd because the installer works fine, writing to the eMMC a lot of data.
Quote:
Originally Posted by BrunoLafleur
If you install the Slackware, there is a initrd.gz by default which comes with the default huge kerneL.
I don't think Slackware will boot without it.
Quote:
Originally Posted by enorbet
Is that actually accurate? It is my understanding that what makes the Huge kernel huge is almost everything is checked and therefore no initrd is needed. IIRC a sample initrd is included for the Generic kernel only with the expectation that each user will generate his own for his hardware and software specifics. FWIW the only reason I would ever employ initrd is for encrypted file systems. I have never used one in over 20 years.
I don't know anything about eMMC. But the installer actually is an initrd and it contains lots of modules, see
so if the installer can write to the eMMC but the installed system does not recognize it, it's possible that even the huge kernel may need an initrd for an installed system to boot, with some modules the installer's initrd.img has.
I think you will need initrd.gz with eMMC
at the grub menu highlight the slackware menu entry Press e for edit
add a new line after the linux line with this
initrd /boot/initrd.gz
boot and see what happens.
If that doesn't work and/or a initrd.gz doesn't exist, at he grub menu edit the linux line
change the root=/dev/mmcblk0p2 on the linux line to root=UUID=2d63e598-b1b4-4e32-a781-9fe9ceae2c11
I looked at the /boot directory in the slackware partition and did not find any initrd.gz. What is UUID=2d63e598-b1b4-4e32-a781-9fe9ceae2c11?
open a terminal in debian as root, this is assuming "/dev/mmcblk0p2" this is the correct /dev for slackware partition.
Code:
mount /dev/mmcblk0p2 /mnt
mount --bind /dev /mnt/dev
mount --bind /proc /mnt/proc
mount --bind /sys /mnt/sys
mount -o bind /run /mnt/run
chroot /mnt
sh /usr/share/mkinitrd/mkinitrd_command_generator.sh
run the command genererated for mkinitrd
Code:
exit
update-grub
Last edited by colorpurple21859; 07-02-2020 at 12:17 PM.
open a terminal in debian as root, this is assuming "/dev/mmcblk0p2" this is the correct /dev for slackware partition.
Code:
mount /dev/mmcblk0p2 /mnt
mount --bind /dev /mnt/dev
mount --bind /proc /mnt/proc
mount --bind /sys /mnt/sys
mount -o bind /run /mnt/run
chroot /mnt
sh /usr/share/mkinitrd/mkinitrd_command_generator.sh
run the command genererated for mkinitrd
Code:
exit
update-grub
All sh did was to print the following:
Code:
Modules for kernel 4.19.0-8-amd64 aren't installed
Could it be because I installed 14.2 32-bit and this machine is 64-bit?
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.