[SOLVED] New netbook for Slackware: HP Spectre x360 (13-4105ng)
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.
It's always been traditional to build into the huge kernel any modules for storage controllers that might be found in common computer systems, especially laptops. What modules do you find loaded from the installer? Unless doing so creates conflicts elsewhere, these could be candidates for changing from =m to =y on the huge kernel.
First of all, sorry to bring this old thread back today.
I wanted a lightweight machine with long battery life, and I'm quite satified with this machine.
However, as you can expect, this machine also came with eMMC disk, and this is the reason I revive this post :-)
As mentioned already, the huge kernel of 14.2 can not boot from eMMC, because it lacks mmc modules. I was able to boot the machine with the combination of EFI, elilo, generic kernel and initrd. However, I think it would be much better if the huge kernel directly boot the machine, thus making slackware more user-friendly.
What lacks in the huge kernel is that CONFIG_MMC_BLOCK. Currently it is set as =m, not =y. I'm not saying that this is only module need to boot from eMMC. I'm just saying that the huge kernel needs some modification in the configuration. I will investigate exactly which modules are required, if needed.
Surely I know that this thread is somewhat old, so I checked the configuration of recent kernels, but, unfortunately, both kernels - 4.4.115 of 14.2 and 4.14.19 of current - do not include this module as builtin.
I've been using slackware since I was a freshman in the CS dept, and all of my machines run on slackware. Yes, I love it. Thank you very much.
However, at the same time, I think slackware can be loved much more if we polish it just a little bit. (Definitely I do not want to make a debate, but, the ubuntu installer takes care of these eMMC things cleanly. In fact, I tested this new laptop with ubuntu installer if there is an error or not.)
Recap, all I want is that the tradition keeps going. And to do this, I think it would be better to include eMMC support :-)
Quote:
Originally Posted by volkerdi
It's always been traditional to build into the huge kernel any modules for storage controllers that might be found in common computer systems, especially laptops.
As mentioned already, the huge kernel of 14.2 can not boot from eMMC, because it lacks mmc modules. I was able to boot the machine with the combination of EFI, elilo, generic kernel and initrd. However, I think it would be much better if the huge kernel directly boot the machine, thus making slackware more user-friendly.
What lacks in the huge kernel is that CONFIG_MMC_BLOCK. Currently it is set as =m, not =y. I'm not saying that this is only module need to boot from eMMC. I'm just saying that the huge kernel needs some modification in the configuration. I will investigate exactly which modules are required, if needed.
If you take a look in modules.dep, you'll see that mmc_block.ko requires mmc_core.ko. In total, there are 38 modules that have a dependency on mmc_core.ko. Because we use the same set of modules with both the generic and the huge kernels, we're not able to set CONFIG_MMC_BLOCK=y for the huge kernel without also building in mmc_core, which will in turn prevent several dozen modules from loading properly in the huge kernel.
There are two proper solutions to this. One would be to add CONFIG_LOCALVERSION="-huge" to the huge config, and package an additional set of modules dedicated to the huge kernel. Might as well list that idea first, since I'm not going to do it.
The other solution is to get rid of the huge kernel and move entirely to using generic+initrd, something I've been wanting to do for years.
In fact, I used second solution, i.e., generic+initrd.
The only inconvenience is that we can not boot into newly installed system directly, need usb installer stick again, and then chroot to the system to run mkinitrd.
The only inconvenience is that we can not boot into newly installed system directly, need usb installer stick again, and then chroot to the system to run mkinitrd.
You can generate the initrd right after installation before rebooting the system. Your filesystem is mounted under /mnt/, so you should just need to chroot /mnt, generate the initrd (using -k if the kernel version is different), edit your /etc/lilo.conf, write lilo, exit the chroot, and then reboot.
You can generate the initrd right after installation before rebooting the system. Your filesystem is mounted under /mnt/, so you should just need to chroot /mnt, generate the initrd (using -k if the kernel version is different), edit your /etc/lilo.conf, write lilo, exit the chroot, and then reboot.
Thank you for your post.
Yes, it's definitely true that we can chroot "before" rebooting the system. But, in fact, it's only possible if we already expect initrd is needed. And I did not know that CONFIG_MMC_BLOCK is crucial until I rebooted the system. And consequently I had to search linuxquestions as usual :-) (Thanks all of you for the kind word!)
So it's like a chicken and egg game. In moderate desktop with /dev/sda as first disk (sata HDD or SDD), huge kernel usually works, then generic kernel is recommended. However with this eMMC laptop, I found that generic+initrd is not just recommended but required just "after" rebooting the system.
In short, I had to reboot the newly installed system to figure out I need to implant an initrd.gz before rebooting the system :-(
I think it might be my fault, because I still prefer lilo and huge kernel. Maybe it's the time for me to switch to generic kernel to prevent this mess. These days new hardwares like EFI, NVME and eMMC come continuously.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.