The files in this directory are provided for testing purposes.
Use them at your own risks.

1) Installation 
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 14.2.1.1.

Features:
- Build and install an initrd including the needed kernel modules,
- Remove the huge kernel if installed and link /boot/vmlinuz to a
  generic one.
- 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).

Usage:
- 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.

Caveats:
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:
https://www.linuxquestions.org/questions/slackware-14/%5Brequest-for-testing%5D-scripts-for-installing-and-updating-a-system-an-usb-drive-with-a-generic-kernel-4175640794/

Didier Spaier
<didier~slint~dot~fr>
Last updated on Wednesday 24 October 23:23:52 CEST 2018

 NameLast modifiedSizeDescription

[DIR]Parent Directory  -  
 install_with_UUID.sh2018-10-29 18:26 5.8K 
 update_with_UUID.sh2018-10-29 18:26 5.5K