Trying to build smp kernel - but hitting brick wall
I have been building generic kernels for a while and that is working fine. Decided to try the smp kernel since I have an 8 core processor and wanted to give it a go. Here's what I have done to try to accomplish that.
1) In a directory copied over the kernel-source.SlackBuild, kernel source .xz file, within this directory created the directory "kernel-configs" and copied the smp config file in there. Run the slackbuild and it produces kernel-source-5.14.2_skernel-modules.SlackBuildmp-noarch-1.txz in the /tmp directory. Install that and it deposits a linux-5.14.2 directory in /usr/src. Check the .config file therein and it is identical to the smp config file. 2) Run kernel-generic.SlackBuild in /usr/src and it produces kernel-generic-smp-5.14.2_smp-i686-1.txz in /tmp. Installing that puts a vmlinuz-generic-smp -> vmlinuz-generic-smp-5.14.2.smp in /boot along with link to System.map, etc.. 3) Run kernel-headers.SlackBuild in /usr/src and that creates kernel-headers-5.14.2_smp-x86-1.txz in /tmp which I install. 4) Run kernel-modules.SlackBuild in /usr/src and it creates kernel-modules-smp-5.14.2_smp-i686-1.txz which is installed. Go to /boot and run "mkinitrd -c -R -k vmlinuz-generic-smp-5.14.2-smp -m ext4" and the initrd files are created. Run grub-mkconfig and the new kernel is picked up properly. Reboot and end up with a kernel panic - "modprobe binfmt-464c cannot be processed, kmod busy with 50 threads for more than 5 seconds." "Kernel panic - not syncing: no working init found" I've tried this several times with the same result. At this point I can't see what I'm doing wrong as all of the Slackbuilds run fine and everything looks great until I boot. Can someone who runs the smp kernel please have a look at what I have done and see where I messed up. Much appreciated. |
Please allow me to suggest to 2 possible options.
1) Download and unpack source and copy the generic config to /usr/src/linux/.config, review the settings with "make config", "make menuconfig", or "make xconfig", save it and then "make && make modules_install" and copy the required files to /boot and run mkinitrd. If you don't encrypt your root filesystem, you could do this... 1) Same as above but copy the config from the Huge-SMP kernel, use whichever config application you prefer to pare down what you don't need (leaving your preferred filesystem support as "built in") and complete the build from there with no initrd since in that case one won't be needed. There are good instructions online and in man pages for Slackware-specific vanilla kernel building if you're unfamiliar with exact commands and desirable switches. |
Quote:
Then why do you want to compile a 32bit kernel? Is this for a 32-bit Slackware? A 32-bit kernel won't work with a 64-bit userland. The "SMP" tag is just a designation for 32bit Slackware kernels, to show the difference with the non-SMP kernels that you can also choose, because some very old computers need a 32-bit non-SMP kernel to boot. All 64-bit Slackware kernels support multi-core. |
Quote:
|
OMG!!! Just did some further reading confirming SMP is for 32 bit. Off to quaff a few bottles of local brewski's. Thanks for above responses.
|
To the best I have so far been able to gather, really old hardware cannot run SMP, and for such, you want to run a kernel without an "SMP" tag, which will be a single processing kernel. In my /var/log/packages/ I have for each type (huge, generic) of kernel package installed, two installed packages: one with the SMP tag, and one without.
Assuming I have properly installed slackware 15.0, on my 64-bit machine, this would mean that I should use the installed generic kernel with the SMP tag, and I will have multiprocessing, for which my architecture has been designed. Am I still missing something? How can I confirm I did not somehow install 32-bit slackware by mistake? Or am I correct - that SMP is a useful tag for folks with 32bit, but does not mean "not for 64bit ." |
Quote:
However, on 32bit Slackware exists a non-SMP variant of kernels, for the users with very old hardware, having i586 CPUs. That's WHY there is a distinct SMP kernel for the Slackware 32bit. |
Thanks, LuckyCyborg, for clearly stating what I meant to say.
Even though I was wrong about what I had, and about what it meant. You see, I have now discovered I have installed slack32 in fact. |
All times are GMT -5. The time now is 12:45 AM. |