The files in this directory are provided for testing purposes.
Use them at your own risks.
install_with_UUID.sh allows to modify a system just installed on an USB
drive (hard disk or SSD connected through USB) so that it can boot run
on many computers. It targets Slackware version 14.2 or a derivative
like Slint 126.96.36.199.
- Build and install an initrd including the needed kernel modules,
- Remove the huge kernel if installed and link /boot/vmlinuz to a
- Write a simple /etc/lilo.conf mentioning the initrd then run lilo.
- If present, modify /boot/efi/EFI/$BRAND/elilo.conf to mention the
initrd, label the root partition by UUID, copy /boot/vmlinuz and
/boot/inird.gz to /boot/efi/EFI/$BRAND/, $BRAND being is the short
name of the distribution, found in /etc/os-release.
Examples of BRAND: Slackware, Slint, Salix, Slackel, possibly other
derivatives (only tested on Slackware and Slint at time of writing).
- Install the system on the USB drive. During installation, install
elilo on the EFI System Partition but do NOT install a boot entry for
it in the machine's boot menu and do NOT install lilo, which will be
done by the script.
- At end of installation, DO NOT REBOOT but run the script
install_with_UUID.sh from the installer. You can put it on a partition
of a hard disk of the host system, that you will mount as /floppy.
You can check the name of that partition with the lsblk command.
- The system on USB drive should start without delay at next boot if
lilo is used, but then you can edit /etc/lilo.conf as you see fit.
2) Configuration post kernel upgrade.
update_with_UUID.sh should be used from the installed system, just AFTER
a kernel upgrade but BEFORE rebooting.
This will spare you all manual post kernel upgrade configuration, like
running lilo or elilo and making and installing a new initrd.
You may modify the time given to the drive to spin before accessing
before trying to access the root partition, changing the value of
ROOTDELAY on top of the script.
Multiboot, LVM and LUKS are not yet tested.
The kernel modules that will be loaded from the initrd are all those
that I think are needed to handle the USB drive, the root file systems
an USB keyboard and (but without success so far) speakup synthesizers.
All this should also work for an installation on a drive attached to
a computer. Of course in this case you wouldn't need the USB related
kernel modules, but maybe loading them doesn't hurt.
Please test and report your findings in this thread:
Last updated on Wednesday 24 October 23:23:52 CEST 2018