diff options
author | Eric Hameleers <alien@slackware.com> | 2020-10-05 15:34:46 +0200 |
---|---|---|
committer | Eric Hameleers <alien@slackware.com> | 2020-10-05 15:34:46 +0200 |
commit | 70b689e6bf00338f55ae2daf1c2d0c2d972e00e8 (patch) | |
tree | 37dfca537a833973a2443133391f06c57d348e41 /setup2hd/SeTudiskpart.tpl | |
parent | 9abd86d3b8c45e32bce75bb6db402868e34631b6 (diff) | |
download | liveslak-70b689e6bf00338f55ae2daf1c2d0c2d972e00e8.tar.gz liveslak-70b689e6bf00338f55ae2daf1c2d0c2d972e00e8.tar.xz |
setup2hd: add option to install regular Slackware via network mirror
The setup2hd script is a modified Slackware installer. For liveslak I had
originally removed all the usual SOURCE selections and only allowed for
the installation of the Live OS to harddisk.
However, requests were sent to also support a regular installation
of Slackware using the Live ISO. That is why I have now re-added all the
Slackware network install choices (via NFS, HTTP, FTP or Samba mirror).
I still left out the Slackware installation using local media;
the Live ISO does not contain regular Slackware packages so that
would not make sense.
Diffstat (limited to 'setup2hd/SeTudiskpart.tpl')
-rw-r--r-- | setup2hd/SeTudiskpart.tpl | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/setup2hd/SeTudiskpart.tpl b/setup2hd/SeTudiskpart.tpl new file mode 100644 index 0000000..46bf26b --- /dev/null +++ b/setup2hd/SeTudiskpart.tpl @@ -0,0 +1,61 @@ +#!/bin/sh +TMP=/var/log/setup/tmp +if [ ! -d $TMP ]; then + mkdir -p $TMP +fi + + # If we do not find any useful disks at all, we must bail: + if [ -z "$(lsblk -a -o NAME,SIZE,RM,RO,TYPE,MODEL |tr -s '[:blank:]' ' ' |grep '0 *0 *disk' | grep -v '^ram')" ]; then + dialog --backtitle "@CDISTRO@ Linux Setup (Live Edition)" \ + --title "NO HARD DRIVE DETECTED" \ + --msgbox "This machine appears not to have any hard drives installed.\ +This setup will not work. Please add a hard drive to the computer first." 10 64 + exit 1 + fi + + # Generate a list of local hard drives we can write to: + rm -f $TMP/tempscript + cat <<EOT > $TMP/tempscript +dialog --stdout \\ + --title "SELECT DISK DRIVES" \\ + --backtitle "Creating Linux, swap and EFI partitions" \\ + --checklist "Select from available drives.\nA disk partitioning utility \\ +will be presented for any drive you select here:" \\ + 19 0 9 \\ +EOT + lsblk -a -o NAME,SIZE,RM,RO,TYPE,MODEL | \ + tr -s '[:blank:]' ' ' | grep '0 *0 *disk' | grep -v '^ram' | \ + while read LINE ; do + DISKATTR=($LINE) + DISKVENDOR="${DISKATTR[@]:5}" + if [ -z "${DISKVENDOR}" ]; then + DISKVENDOR="UnknownVendor" + fi + echo "\"/dev/${DISKATTR[0]}\" \"${DISKATTR[1]}: ${DISKVENDOR}\" off \\" >> $TMP/tempscript + done + echo '2>&1 1>$TMP/availdisks' >> $TMP/tempscript + + # Loop until the user makes a choice: + while [ 0 ]; do + source $TMP/tempscript + if [ ! $? = 0 ] || [ ! -s $TMP/availdisks ]; then + # Canceled the dialog, or did not select anything: + rm -f $TMP/availdisks + else + # We got an answer: + for DISKDRIVE in $(cat $TMP/availdisks) ; do + # Determine which disk partitioning tool to use: + if gdisk -l $DISKDRIVE |tr -s '[:blank:]' ' ' |grep -q "MBR: MBR only" ; then + PARTTOOL=cfdisk + else + PARTTOOL=cgdisk + fi + # Now let the user create her partitions: + $PARTTOOL $DISKDRIVE + done + break + fi + done + # We should have partitions now, so re-run probe and collect that list: + probe -l 2> /dev/null | grep -E 'Linux$' | sort 1> $TMP/SeTplist 2> /dev/null + |