[SOLVED] Handling NVMe devices in Slackware : Call for testing.
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.
I realize I'm late to need, but I wanted to thank you for putting together this method for installing Slackware 14.2 to an NVMe device. I followed the steps you outlined in the first post in this thread and now have a machine running Slackware 14.2 on a Plextor NVMe (the only drive in the machine). Went very smoothly!
The new ISO fake_slackware64-14.2-4.iso in the directory: http://slint.fr/forSlackware/NVMe includes a modified installer shipping the patch for eliloconfig, applied by the slackinstall script at end of packages' installation. I just had to slightly modify the build script.
So now, you can just follow these instructions:
download the file fake_slackware64-14.2-4.iso
check its integrity with fake_slackware64-14.2-4.iso.md5
write it on an USB stick
have at hand a genuine Slackware installation media
insert the USB stick then reboot and begin the installation as usual
at the SOURCE step, choose the Slackware installation media
proceed to the rest of installation, including the CONFIGURE step, as you would do with a genuine Slackware
Sorry it didn't come to my small mind to do that sooner.
EDIT 21 August 2017, 22h00 UTC+2: uploading a new ISO (build #4) the previous failed to patch eliloconfig.
Last edited by Didier Spaier; 08-23-2017 at 06:59 AM.
Reason: minor fix.
The new ISO fake_slackware64-14.2-3.iso in the directory: http://slint.fr/forSlackware/NVMe includes a modified installer shipping the patch for eliloconfig, applied by the slackinstall script at end of packages' installation. I just had to slightly modify the build script.
Thanks for this; I installed current (kernnel 4.9.44) on a Samsung SM961 M.2, NVMe card and both install and elilo-config worked as a dream; never got the windows test install so quickly replaced on a drive ;-)
just to let you know that I used your latest image to install Slackware64 14.2 on a ThinkPad X1 6th generation (with a Samsung 1Tb NVMe drive). It went smoothly as I pointed it to another USB with the full Slackware installation files (incredibly this ultrabook has 2 USB3 slots). The part that was more complicated for me was dealing with UEFI, as this is the first time I have installed anything not using MBR, but I still managed to do this without errors. I also used luks+lvm and encrypted root and swap together (as explained in README_CRYPT.TXT). All is working well.
To install the Slackware 14.2 I have followed your instructions
-Download and verify fake_slackware64-14.2-4.iso
- Put it on an USB stick
- Boot my laptop with this USB stick
- Give the source with another USB stick
- Installation finished without asking me to use Elilo ?
I have made an initrd using mkinitrd in the newly installed system and put the initrd.gz in /boot/efi/EFI/Slackware
Reboot on this EFI partition
Elilo starts reads initrd.gz and vmlinuz-huge : start of the Slack boot list
Just after starting eudevd , stop with an error message
mount /dev/nvme... on /mnt : No such file or directory
Seems that I have forgooten to do something ?
Didier Courtaud
Quote:
Originally Posted by Didier Spaier
The new ISO fake_slackware64-14.2-4.iso in the directory: http://slint.fr/forSlackware/NVMe includes a modified installer shipping the patch for eliloconfig, applied by the slackinstall script at end of packages' installation. I just had to slightly modify the build script.
So now, you can just follow these instructions:
download the file fake_slackware64-14.2-4.iso
check its integrity with fake_slackware64-14.2-4.iso.md5
write it on an USB stick
have at hand a genuine Slackware installation media
insert the USB stick then reboot and begin the installation as usual
at the SOURCE step, choose the Slackware installation media
proceed to the rest of installation, including the CONFIGURE step, as you would do with a genuine Slackware
Sorry it didn't come to my small mind to do that sooner.
EDIT 21 August 2017, 22h00 UTC+2: uploading a new ISO (build #4) the previous failed to patch eliloconfig.
Just after starting eudevd , stop with an error message
mount /dev/nvme... on /mnt : No such file or directory
This looks really weird as during startup there should be no reason to mount anything on /mnt automatically.
To investigate further please do this:
Run the fake installer again up to logging in as "root" but do not run setup.
To check which is the partition for / of the installed system type:
Code:
lsblk -l -o model,name,type,size,fstype
Mount this partition as /mnt
Mount the EFI partition as /floppy
Provide the output of:
Code:
cat /mnt/etc/fstab
Provide the output of:
Code:
ls -l /floppy/EFI/Slackware
Provide the output of code
Code:
cat /floppy/EFI/Slackware/elilo.conf
To save some typing you could plug-in an USB stick with a FAT formatted partition, check how it is named typing again the lsblk command above, make a mount point for it like this "mkdir /stick", mount the FAT partition of the stick as /stick.
Then you can redirect all commands above to files in /stick and just type:
Code:
cp /floppy/EFI/Slackware/elilo.conf /stick
to copy the file elilo.conf on the stick.
Last edited by Didier Spaier; 10-05-2018 at 12:14 PM.
This looks really weird as during startup there should be no reason to mount anything on /mnt automatically.
To investigate further please do this:
Run the fake installer again up to logging in as "root" but do not run setup.
To check which is the partition for / of the installed system type:
Code:
lsblk -l -o model,name,type,size,fstype
Code:
MODEL NAME TYPE FSTYPE
Flash Disk sda disk
sda1 part vfat
nvme0n1 disk
nvme0n1p1 part vfat
nvme0n1p2 part vfat
nvme0n1p3 part ntfs
nvme0n1p4 part ntfs
nvme0n1p5 part ntfs
nvme0n1p6 par swap
nvme0n1p7 part reiserfs
nvme0n1p8 part reiserfs
nvme0n1p9 part reiserfs
nvme0n1p10 part reiserfs
/dev/nvme0n1p1 is my EFI partition and /dev/nvme0n1p7 is my root partition
To save some typing you could plug-in an USB stick with a FAT formatted partition, check how it is named typing again the lsblk command above, make a mount point for it like this "mkdir /stick", mount the FAT partition of the stick as /stick.
Then you can redirect all commands above to files in /stick and just type:
Code:
cp /floppy/EFI/Slackware/elilo.conf /stick
to copy the file elilo.conf on the stick.
Everything seems clear ?
I have thought about two possible explanations :
1- It does not work with reiserfs partitions ?
2- As I have made a
Code:
chroot /mnt ..
in the shell after the Slackware installation to make my inird file , maybe the initrd file remembers the /mnt location ?
I don't know, however I recommend using a "mainstream" file system, well supported. I had never had an issue with ext4 and the gain in performance using another one will probably be unnoticeable, especially on a NVMe device.
Quote:
2- As I have made a
Code:
chroot /mnt ..
in the shell after the Slackware installation to make my inird file , maybe the initrd file remembers the /mnt location ?
Maybe. I recommend installing with the huge kernel, then start the new system and only then make an initrd.
Oh and there is no benefit in having in having separate partitions for /var and /usr in a desktop. I don't even have one for /home and encounter no issue: actually all my systems have just one partition: /
Some people think that having a separate partition for /home helps in case of upgrade but I strongly disagree: the content of /home can be backed up then restored after upgrade, ant it is inadvisable to keep all hidden files and directories as is after upgrade. You are better off saving and restoring only case by case the ones that should not be modified.
In any case, the more you cut your space on a mass storage device in slices, the sooner you will have a partition filled up. You can still set LVM, but why complicate things?
tl;dr: install anew with the huge kernel, ext4 and only one / partition (also /home if you insist, but again I don't see the usefulness of that).
When this will be done, come back to get some advice about installing the generic kernel and an initrd, while setting elilo.conf to keep two boot entries just in case: one for the huge kernel, one for the generic one with an initrd).
Maybe. I recommend installing with the huge kernel, then start the new system and only then make an initrd.
Didier, that is just what I want to do : start the huge kernel but without an initrd, it is impossible !
With elilo.efi wmlinuz-huge and the elilo.conf I showed you in /boot/efi/EFI/Slackware and the UEFI in BIOS pointed to that .efi file , the laptop does not show anything and refuses to boot
and then with only the kernel and elilo.efi in /boot/efi/EFI/Slacware it boots normally !
Thanks to Dell to make me spend a week before succedding :
- Decrypt the root partition in order to shrink the Windows Partition
- Obliged to use UEFI to boot the Slack
- Turn the laptop from RAID IDE to AHCI
All this stuff to forbid the installation of Linux on this laptop !
DC
Quote:
Originally Posted by Desiderius
[
Maybe. I recommend installing with the huge kernel, then start the new system and only then make an initrd.
Didier, that is just what I want to do : start the huge kernel but without an initrd, it is impossible !
With elilo.efi wmlinuz-huge and the elilo.conf I showed you in /boot/efi/EFI/Slackware and the UEFI in BIOS pointed to that .efi file , the laptop does not show anything and refuses to boot
Will fake_slackware64-14.2-4.iso also work with non-NVMe computers? The reason I'm asking is that I'm starting a new job next week and don't know what laptop will I have (should have asked) and of course I want to put Slackware on it. And I think that the answer for this question is yes - it will work because I've just tried it in VirtualBox that doesn't expose any /dev/nvme devices and it's ok but just want to make sure.
Last edited by average_user; 10-20-2019 at 01:12 PM.
Will fake_slackware64-14.2-4.iso also work with non-NVMe computers? The reason I'm asking is that I'm starting a new job next week and don't know what laptop will I have (should have asked) and of course I want to put Slackware on it. And I think that the answer for this question is yes - it will work because I've just tried it in VirtualBox that doesn't expose any /dev/nvme devices and it's ok but just want to make sure.
It should work fine, but unless your company is getting you a 3 year old laptop, you'd probably want to run -current since semi-recent hardware support in 14.2 will probably be lacking. The fix for NVMe drives has been in -current for many years and you won't need the fake_slackware64-14.2-4.iso.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.