[Request for testing] scripts for installing and updating a system on an USB drive with a generic kernel
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.
[Request for testing] scripts for installing and updating a system on an USB drive with a generic kernel
EDIT Sun 21 Oct 13:56:38 CEST 2018:
Please hold on, I will enhance install_with_UUID.sh to cope with a limitation of liloconfig which either installs lilo on the MBR of the first disk (which we don't want) or on the root partition of the USB stick (which fails).
The solution will be not to run lilo during installation in this case, but let the install_with_UUID.sh script write lilo.conf then run lilo.
Stay tuned.
Hello,
the two scripts available here are intended to automatize all manual configuration tasks needed to:
allow a system installed on an USB drive (hard disk or SSD) to boot on most computers: install_with_UUID.sh
allow this system to continue booting after a kernel upgrade: update_with_UUID.sh
Start the Slackware64-14.2 installer with the USB drive plugged in.
Install as usual but DO NOT install LILO. If you can install ELILO, do it.
At the end of installation, DO NOT REBOOT yet.
Plug in the USB stick with the script and mount it as /floppy.
type sh /floppy/install_with_UUID.sh
You new system should boot in Legacy mode, and in UEFI mode if you installed ELILO.
Caveat: booting will take a long time and seem to halt during roughly half a minute before continuing, this is to give the drive the time it needs to spin before trying to mount the root partition. You can shorten this delay, as indicated on top of the script.
Please report any issue in this thread.
Of course the initrd should be rebuilt after a kernel upgrade, and the boot loader re-installed (lilo) or re-configured (elilo). You won't have to do that manually either, just do this:
Of course run the script again after each kernel upgrade.
Please report any issue, providing relevant information about the machines on which the system would not boot. For that, please try to boot it on as many machines as possible.
Cheers,
PS You may use grub instead of lilo or elilo, as indicated as the end of both scripts.
Last edited by Didier Spaier; 10-22-2018 at 04:22 PM.
Start the Slackware64-14.2 installer with the USB drive plugged in.
Install as usual but DO NOT install LILO. If you can install ELILO, do it.
At the end of installation, DO NOT REBOOT yet.
Plug in the USB stick with the script and mount it as /floppy.
type sh /floppy/install_with_UUID.sh
You new system should boot in Legacy mode, and in UEFI mode if you installed ELILO.
Caveat: booting will take a long time and seem to halt during roughly half a minute before continuing, this is to give the drive the time it needs to spin before trying to mount the root partition. You can shorten this delay, as indicated on top of the script.
Please report any issue in this thread.
The machine I am using is a Dell Inspiron N4010. It only has two USB ports. Unfortunately the DVD-Rom is broken. Is it a requirement that "install_with_UUID.sh" be ran from the /floppy directory on an additional USB stick? I have the installer running usbboot.img for 14.2 in one USB port and the USB external HDD is in the other port. I copied the script to the root directory of the live file system and will be running it from there.
After I get this installed I will test the other script on the same system.
Is it a requirement that "install_with_UUID.sh" be ran from the /floppy directory on an additional USB stick? I have the installer running usbboot.img for 14.2 in one USB port and the USB external HDD is in the other port. I copied the script to the root directory of the live file system and will be running it from there.
The script can be in any location accessible by the installer's shell, so the root of the live file system is OK.
On the other hand, you can just remove the installation USB stick once the installation is done as then it will no more be used.
Out of curiosity, why not just dd the ISO image to an USB stick? This makes the USB stick bootable as well, and you find in it all you need to proceed to installation as if you used a DVD or usbboot.img
Quote:
After I get this installed I will test the other script on the same system.
The script can be in any location accessible by the installer's shell, so the root of the live file system is OK.
On the other hand, you can just remove the installation USB stick once the installation is done as then it will no more be used.
That's what I figured, I just wanted to be certain I used the correct test parameters so the script will work.
Quote:
Originally Posted by Didier Spaier
Out of curiosity, why not just dd the ISO image to an USB stick? This makes the USB stick bootable as well, and you find in it all you need to proceed to installation as if you used a DVD or usbboot.img
I currently do not have a USB stick large enough to hold the full Slackware ISO. I have a USB adapter I use that lets me plug in various SD Cards. I had a 2GB SD card that I used in this fashion. Let's just say that the kernel and initrd loaded by the installer takes a very long time with this adapter. I did a network install using a http mirror on my LAN.
Quote:
Originally Posted by Didier Spaier
Great, eager of your feedback.
The hard disk was partitioned with a 4GB swap and I allocated the rest of the hard disk to the root partition. I figured that such a partitioning scheme would be the most basic test, while still applying to most average Slackware users. The install_with_UUID.sh worked like a charm. Upon reboot the system came up, with the slight delay described, and booted into 14.2.
Once I was logged in I configured slackpkg and executed:
I did not upgrade any other system packages to keep the system as vanilla as possible.
I answered "No" when slackpkg offered to run lilo for me. After that I ran the update_with_UUID.sh script. Everything worked as you described it would in the README. I rebooted the system to verify.
The only other system I have to test this on is an ancient Asus EEE PC 2g surf. It is still running 14.1 and has an extremely minimal installation due to the internal disk having 2GB capacity. My main system supports EFI, but it is in use. The rest of my systems are Raspberry Pis. I wish I could help test this with EFI.
It would be great if these scripts were added to Slackware. It would be a quality of life increase.
My main system supports EFI, but it is in use. The rest of my systems are Raspberry Pis. I wish I could help test this with EFI.
I think that you can just use you main system, in UEFI mode, with the USB disk plugged in. Of course you would need to put an EFI system partition on the hard disk.
The installer shouldn't modify the hard disk where the main system is installed, provided that you do not run lilo when asked.
To be 101% safe, before proceeding you can "cp -a /boot/efi/EFI/Slackware /boot/efi/EFI/slackware.orig" and check before rebooting that the files in /boot/efi/EFI/Slackware have not been modified, else restore them from Slackware.orig
When asked "Would you like to install a boot menu entry so that you can easily select Slint when you boot your machine?", answer No as this boot entry would be for the system on the USB drive, not for your main system.
I just uploaded updated scripts (still not mentioning a version number).
They list the changes since 22 October, noticeably a workaround for an issue that prevented visually impaired users to have speech at time of logging in when using the speakup software synthesizer. This is a workaround, I will get in touch with the speakup developers to fix that.
They list the changes since 22 October, noticeably a workaround for an issue that prevented visually impaired users to have speech at time of logging in when using the speakup software synthesizer. This is a workaround, I will get in touch with the speakup developers to fix that.
I did that, this is a bug for which a patch has been submitted, but too late to be included in the kernels shipped in Slackware 5.0, hence this request for -current.
I have also updated install_with_UUID.sh, including a bug fix and an added kernel module (also added to update_with_UUID.sh), so now you can safely upgrade to the kernel shipped in current then run this script.
Q. Why some people do not want to test a not yet released software?
A. Because they don't want to miss an occasion of complaining after it has been released.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.