mirror of
git://slackware.nl/current.git
synced 2025-01-09 05:24:36 +01:00
3889868763
a/elilo-3.16-x86_64-9.txz: Rebuilt. eliloconfig: don't assume that mount output lists the / partition first. a/f2fs-tools-1.12.0-x86_64-1.txz: Added. a/kernel-generic-4.19.5-x86_64-1.txz: Upgraded. a/kernel-huge-4.19.5-x86_64-1.txz: Upgraded. CRYPTO_CRC32 m -> y F2FS_FS m -> y a/kernel-modules-4.19.5-x86_64-1.txz: Upgraded. a/sysvinit-scripts-2.1-noarch-22.txz: Rebuilt. rc.S: if we're using F2FS for the root filesystem, don't try to check it as fsck.f2fs throws an error on trying to check a read-only filesystem. d/clisp-2.49_20181112_df3b9f6fd-x86_64-1.txz: Upgraded. d/kernel-headers-4.19.5-x86-1.txz: Upgraded. k/kernel-source-4.19.5-noarch-1.txz: Upgraded. l/graphite2-1.3.12-x86_64-1.txz: Added. Required by harfbuzz in order to use it as a system library for TeXlive. l/harfbuzz-2.1.3-x86_64-1.txz: Upgraded. Requires graphite2-1.3.12. t/texlive-2018.180822-x86_64-4.txz: Rebuilt. Use system harfbuzz, not the bundled version. isolinux/initrd.img: Rebuilt. Activate LVM volumes at boot, not only when setup is run. Make /etc/mtab a symlink to /proc/mounts on the installer. On a freshly installed system, make /etc/mtab a symlink to /proc/mounts. Include f2fs-tools on the installer. Support installing on F2FS partitions. kernels/*: Upgraded. usb-and-pxe-installers/usbboot.img: Rebuilt.
552 lines
18 KiB
Bash
Executable file
552 lines
18 KiB
Bash
Executable file
#!/bin/sh
|
|
# SeTpartition user-friendly rewrite Fri Dec 15 13:17:40 CST 1995 pjv
|
|
# Rewrite to support filesystem plugins <david@slackware.com>, 07-May-2001
|
|
# Don't use plugins, make it work, pjv, 18-May-2001.
|
|
# Generalize tempscript creation and support JFS and XFS. pjv, 30-Mar-2002
|
|
|
|
TMP=/var/log/setup/tmp
|
|
NDIR=/dev/null
|
|
REDIR=/dev/tty4
|
|
T_PX="`cat $TMP/SeTT_PX`"
|
|
|
|
# FUNCTIONS
|
|
|
|
# crunch() - remove extra whitespace
|
|
crunch () {
|
|
read STRING;
|
|
echo $STRING
|
|
}
|
|
|
|
# make_f2fs( dev ) - Create a new f2fs filesystem on the named dev.
|
|
# Parameters: dev Device node to format.
|
|
make_f2fs() {
|
|
# get the size of the named partition
|
|
SIZE=`get_part_size $1`
|
|
# output a nice status message
|
|
dialog --title "FORMATTING" \
|
|
--backtitle "Formatting $1 with filesystem f2fs." \
|
|
--infobox "Formatting $1 \n\
|
|
Size: $SIZE \n\
|
|
Filesystem type: f2fs " 0 0
|
|
# do the format
|
|
if mount | grep "$1 " 1> $NDIR 2> $NDIR ; then
|
|
umount $1 2> $NDIR
|
|
fi
|
|
mkfs.f2fs -f $1 1> $REDIR 2> $REDIR
|
|
}
|
|
|
|
# make_btrfs( dev ) - Create a new btrfs filesystem on the named dev.
|
|
# Parameters: dev Device node to format.
|
|
make_btrfs() {
|
|
# get the size of the named partition
|
|
SIZE=`get_part_size $1`
|
|
# output a nice status message
|
|
dialog --title "FORMATTING" \
|
|
--backtitle "Formatting $1 with filesystem btrfs." \
|
|
--infobox "Formatting $1 \n\
|
|
Size: $SIZE \n\
|
|
Filesystem type: btrfs " 0 0
|
|
# do the format
|
|
if mount | grep "$1 " 1> $NDIR 2> $NDIR ; then
|
|
umount $1 2> $NDIR
|
|
fi
|
|
mkfs.btrfs -f -d single -m single $1 1> $REDIR 2> $REDIR
|
|
}
|
|
|
|
# make_ext2( dev, check ) - Create a new ext2 filesystem on the named
|
|
# device.
|
|
# Parameters: dev Device node to format.
|
|
# check Perform fs check (y or n)
|
|
make_ext2() {
|
|
# get the size of the named partition
|
|
SIZE=`get_part_size $1`
|
|
# output a nice status message
|
|
dialog --title "FORMATTING" \
|
|
--backtitle "Formatting $1 with filesystem ext2." \
|
|
--infobox "Formatting $1 \n\
|
|
Size: $SIZE \n\
|
|
Filesystem type: ext2" 0 0
|
|
# do the format
|
|
if mount | grep "$1 " 1> $NDIR 2> $NDIR ; then
|
|
umount $1 2> $NDIR
|
|
fi
|
|
if [ "$2" = "y" ]; then
|
|
mkfs.ext2 -F -F -c $1 1> $REDIR 2> $REDIR
|
|
else
|
|
mkfs.ext2 -F -F $1 1> $REDIR 2> $REDIR
|
|
fi
|
|
}
|
|
|
|
# make_ext3( dev, check ) - Create a new ext3 filesystem on the named
|
|
# device.
|
|
# Parameters: dev Device node to format.
|
|
# check Perform fs check (y or n)
|
|
make_ext3() {
|
|
# get the size of the named partition
|
|
SIZE=`get_part_size $1`
|
|
# output a nice status message
|
|
dialog --title "FORMATTING" \
|
|
--backtitle "Formatting $1 with filesystem ext3." \
|
|
--infobox "Formatting $1 \n\
|
|
Size: $SIZE \n\
|
|
Filesystem type: ext3" 0 0
|
|
# do the format
|
|
if mount | grep "$1 " 1> $NDIR 2> $NDIR ; then
|
|
umount $1 2> $NDIR
|
|
fi
|
|
if [ "$2" = "y" ]; then
|
|
mkfs.ext3 -F -F -c $1 1> $REDIR 2> $REDIR
|
|
else
|
|
mkfs.ext3 -F -F $1 1> $REDIR 2> $REDIR
|
|
fi
|
|
}
|
|
|
|
# make_ext4( dev, check ) - Create a new ext4 filesystem on the named
|
|
# device.
|
|
# Parameters: dev Device node to format.
|
|
# check Perform fs check (y or n)
|
|
make_ext4() {
|
|
# get the size of the named partition
|
|
SIZE=`get_part_size $1`
|
|
# output a nice status message
|
|
dialog --title "FORMATTING" \
|
|
--backtitle "Formatting $1 with filesystem ext4." \
|
|
--infobox "Formatting $1 \n\
|
|
Size: $SIZE \n\
|
|
Filesystem type: ext4" 0 0
|
|
# do the format
|
|
if mount | grep "$1 " 1> $NDIR 2> $NDIR ; then
|
|
umount $1 2> $NDIR
|
|
fi
|
|
if [ "$2" = "y" ]; then
|
|
mkfs.ext4 -F -F -c $1 1> $REDIR 2> $REDIR
|
|
else
|
|
mkfs.ext4 -F -F $1 1> $REDIR 2> $REDIR
|
|
fi
|
|
}
|
|
|
|
# make_jfs( dev, check ) - Create a new jfs filesystem on the named
|
|
# device.
|
|
# Parameters: dev Device node to format.
|
|
# check Perform fs check (y or n)
|
|
make_jfs() {
|
|
# get the size of the named partition
|
|
SIZE=`get_part_size $1`
|
|
# output a nice status message
|
|
dialog --title "FORMATTING" \
|
|
--backtitle "Formatting $1 with filesystem jfs." \
|
|
--infobox "Formatting $1 \n\
|
|
Size: $SIZE \n\
|
|
Filesystem type: jfs" 0 0
|
|
# do the format
|
|
if mount | grep "$1 " 1> $NDIR 2> $NDIR ; then
|
|
umount $1 2> $NDIR
|
|
fi
|
|
if [ "$2" = "y" ]; then
|
|
mkfs.jfs -c -q $1 1> $REDIR 2> $REDIR
|
|
else
|
|
mkfs.jfs -q $1 1> $REDIR 2> $REDIR
|
|
fi
|
|
}
|
|
|
|
# make_reiserfs( dev ) - Create a new reiserfs filesystem on the named dev.
|
|
# Parameters: dev Device node to format.
|
|
make_reiserfs() {
|
|
# get the size of the named partition
|
|
SIZE=`get_part_size $1`
|
|
# output a nice status message
|
|
dialog --title "FORMATTING" \
|
|
--backtitle "Formatting $1 with filesystem reiserfs." \
|
|
--infobox "Formatting $1 \n\
|
|
Size: $SIZE \n\
|
|
Filesystem type: reiserfs " 0 0
|
|
# do the format
|
|
if mount | grep "$1 " 1> $NDIR 2> $NDIR ; then
|
|
umount $1 2> $NDIR
|
|
fi
|
|
echo "y" | mkreiserfs $1 1> $REDIR 2> $REDIR
|
|
}
|
|
|
|
# make_xfs( dev ) - Create a new xfs filesystem on the named dev
|
|
# Parameters: dev Device node to format.
|
|
make_xfs() {
|
|
# get the size of the named partition
|
|
SIZE=`get_part_size $1`
|
|
# output a nice status message
|
|
dialog --title "FORMATTING" \
|
|
--backtitle "Formatting $1 with filesystem xfs." \
|
|
--infobox "Formatting $1 \n\
|
|
Size: $SIZE \n\
|
|
Filesystem type: xfs " 0 0
|
|
# do the format
|
|
if mount | grep "$1 " 1> $NDIR 2> $NDIR ; then
|
|
umount $1 2> $NDIR
|
|
fi
|
|
mkfs.xfs -f $1 1> $REDIR 2> $REDIR
|
|
}
|
|
|
|
# gen_part_list() - Prints out a partition listing for the system into the
|
|
gen_part_list() {
|
|
export COUNT=0
|
|
cat $TMP/SeTplist | while [ 0 ]; do
|
|
read PARTITION;
|
|
if [ "$PARTITION" = "" ]; then
|
|
break;
|
|
fi
|
|
# Variables, variables, variables
|
|
NAME=`echo $PARTITION | crunch | cut -f 1 -d ' '`
|
|
ALTNAME=""
|
|
DEVICE=`echo "$PARTITION" | tr -d "*" | crunch | cut -f 1 -d ' '`
|
|
SIZE=`get_part_size $DEVICE`
|
|
# See if this partition is in use already
|
|
if grep "$DEVICE " $TMP/SeTnative 1> $NDIR; then # it's been used
|
|
ON=`grep "$DEVICE " $TMP/SeTnative | crunch | cut -f 2 -d ' '`
|
|
ALTNAME="$DEVICE on $ON Linux ${SIZE}"
|
|
fi
|
|
# Add a menu item
|
|
if [ "$ALTNAME" = "" ]; then
|
|
echo "\"$NAME\" \"Linux ${SIZE}\" \\" >> $TMP/tempscript
|
|
echo "false" > $TMP/SeTSKIP # this flag is used for non-root parts
|
|
else
|
|
echo "\"(IN USE)\" \"$ALTNAME\" \\" >> $TMP/tempscript
|
|
fi
|
|
done
|
|
echo "\"---\" \"(done adding partitions, continue with setup)\" \\" >> $TMP/tempscript
|
|
echo "\"---\" \"(done adding partitions, continue with setup)\" \\" >> $TMP/tempscript
|
|
echo "\"---\" \"(done adding partitions, continue with setup)\" \\" >> $TMP/tempscript
|
|
echo "\"---\" \"(done adding partitions, continue with setup)\" \\" >> $TMP/tempscript
|
|
echo "\"---\" \"(done adding partitions, continue with setup)\" \\" >> $TMP/tempscript
|
|
echo "2> $TMP/return" >> $TMP/tempscript
|
|
}
|
|
|
|
# ask_format( dev ) - Asks the user if he/she wants to format the named device
|
|
ask_format() {
|
|
dialog --backtitle "Do you want to format Linux partition ${1}?" \
|
|
--title "FORMAT PARTITION $1" --menu "If this partition has \
|
|
not been formatted, you should format it. NOTE: This will erase all data on \
|
|
it. Would you like \
|
|
to format this partition?" 12 70 3 \
|
|
"Format" "Quick format with no bad block checking" \
|
|
"Check" "Slow format that checks for bad blocks" \
|
|
"No" "No, do not format this partition" 2> $TMP/return
|
|
if [ ! $? = 0 ]; then
|
|
rm -f $TMP/return
|
|
exit
|
|
fi
|
|
}
|
|
|
|
# ask_fs( dev ) - Asks the user the type of filesystem to use for the named
|
|
# device. Answer in $TMP/return
|
|
ask_fs() {
|
|
unset BTRFS EXT2 EXT3 F2FS JFS REISERFS XFS
|
|
if grep -wq ext2 /proc/filesystems 1> $NDIR 2> $NDIR ; then
|
|
EXT2="Ext2 is the traditional Linux file system and is fast and stable. "
|
|
fi
|
|
if grep -wq ext3 /proc/filesystems 1> $NDIR 2> $NDIR ; then
|
|
EXT3="Ext3 is the journaling version of the Ext2 filesystem. "
|
|
DEFAULT=ext3
|
|
fi
|
|
if grep -wq ext4 /proc/filesystems 1> $NDIR 2> $NDIR ; then
|
|
EXT4="Ext4 is the successor to the ext3 filesystem. "
|
|
DEFAULT=ext4
|
|
fi
|
|
if grep -wq reiserfs /proc/filesystems 1> $NDIR 2> $NDIR ; then
|
|
REISERFS="ReiserFS is a journaling filesystem that stores all files and filenames in a balanced tree structure. "
|
|
fi
|
|
if grep -wq btrfs /proc/filesystems 1> $NDIR 2> $NDIR ; then
|
|
BTRFS="Btrfs is a B-tree copy-on-write filesystem. "
|
|
fi
|
|
if grep -wq f2fs /proc/filesystems 1> $NDIR 2> $NDIR ; then
|
|
F2FS="F2FS is a Flash-Friendly File System. "
|
|
fi
|
|
# These last two will only be present if the user asked for a special kernel.
|
|
# They should probably be the default in that case.
|
|
if grep -wq jfs /proc/filesystems 1> $NDIR 2> $NDIR ; then
|
|
JFS="JFS is IBM's Journaled Filesystem, currently used in IBM enterprise servers. "
|
|
fi
|
|
if grep -wq xfs /proc/filesystems 1> $NDIR 2> $NDIR ; then
|
|
XFS="XFS is SGI's journaling filesystem that originated on IRIX. "
|
|
fi
|
|
cat << EOF > $TMP/tempscript
|
|
dialog --title "SELECT FILESYSTEM FOR $1" \\
|
|
--backtitle "Partition $1 will be formatted." \\
|
|
--default-item $DEFAULT --menu \\
|
|
"Please select the type of filesystem to use for the specified \\
|
|
device. Here are descriptions of the available filesystems: $EXT2 $EXT3 $EXT4 $BTRFS $F2FS $JFS $REISERFS $XFS" \\
|
|
0 0 0 \\
|
|
EOF
|
|
if [ ! "$EXT2" = "" ]; then
|
|
echo "\"ext2\" \"Standard Linux Ext2 Filesystem\" \\" >> $TMP/tempscript
|
|
fi
|
|
if [ ! "$EXT3" = "" ]; then
|
|
echo "\"ext3\" \"Ext3 Journaling Filesystem\" \\" >> $TMP/tempscript
|
|
fi
|
|
if [ ! "$EXT4" = "" ]; then
|
|
echo "\"ext4\" \"Ext4 Journaling Filesystem\" \\" >> $TMP/tempscript
|
|
fi
|
|
if [ ! "$JFS" = "" ]; then
|
|
echo "\"jfs\" \"IBM's Journaled Filesystem\" \\" >> $TMP/tempscript
|
|
fi
|
|
if [ ! "$REISERFS" = "" ]; then
|
|
echo "\"reiserfs\" \"ReiserFS Journaling Filesystem\" \\" >> $TMP/tempscript
|
|
fi
|
|
if [ ! "$BTRFS" = "" ]; then
|
|
echo "\"btrfs\" \"Btrfs Copy-on-Write B-tree Filesystem\" \\" >> $TMP/tempscript
|
|
fi
|
|
if [ ! "$F2FS" = "" ]; then
|
|
echo "\"f2fs\" \"Flash-Friendly File System\" \\" >> $TMP/tempscript
|
|
fi
|
|
if [ ! "$XFS" = "" ]; then
|
|
echo "\"xfs\" \"SGI's Journaling Filesystem\" \\" >> $TMP/tempscript
|
|
fi
|
|
echo "2> $TMP/return" >> $TMP/tempscript
|
|
. $TMP/tempscript
|
|
if [ ! $? = 0 ]; then
|
|
rm -f $TMP/return
|
|
exit
|
|
fi
|
|
}
|
|
|
|
# get_part_size( dev ) - Return the size in K, M, G, T, or P of the named partition.
|
|
get_part_size() {
|
|
numfmt --to=iec $(blockdev --getsize64 $1)
|
|
}
|
|
|
|
# MAIN
|
|
|
|
if [ ! -d $TMP ]; then
|
|
mkdir -p $TMP
|
|
fi
|
|
|
|
if [ ! -r $TMP/SeTplist ]; then
|
|
# Give warning?
|
|
exit
|
|
fi
|
|
|
|
cat /dev/null >> $TMP/SeTnative
|
|
|
|
cat << EOF > $TMP/tempscript
|
|
dialog --backtitle "Setting up root Linux partition." \\
|
|
--title "Select Linux installation partition:" --ok-label Select --cancel-label Continue --menu \\
|
|
"Please select a partition from the following list to use for your \\
|
|
root (/) Linux partition." 13 70 5 \\
|
|
EOF
|
|
gen_part_list
|
|
|
|
. $TMP/tempscript
|
|
if [ ! $? = 0 ]; then
|
|
rm $TMP/tempscript
|
|
exit 255 # user abort
|
|
fi
|
|
|
|
ROOT_DEVICE="`cat $TMP/return`"
|
|
rm $TMP/tempscript
|
|
if [ "$ROOT_DEVICE" = "---" ]; then
|
|
exit 255
|
|
fi
|
|
|
|
# format root partition?
|
|
ask_format $ROOT_DEVICE
|
|
DOFORMAT="`cat $TMP/return`"
|
|
rm -f $TMP/return
|
|
if [ ! "$DOFORMAT" = "No" ]; then
|
|
ask_fs $ROOT_DEVICE
|
|
ROOT_SYS_TYPE="`cat $TMP/return`"
|
|
rm -f $TMP/return
|
|
# create the filesystem
|
|
if [ "$ROOT_SYS_TYPE" = "ext2" ]; then
|
|
if [ "$DOFORMAT" = "Check" ]; then
|
|
make_ext2 $ROOT_DEVICE "y"
|
|
else
|
|
make_ext2 $ROOT_DEVICE "n"
|
|
fi
|
|
elif [ "$ROOT_SYS_TYPE" = "ext3" ]; then
|
|
if [ "$DOFORMAT" = "Check" ]; then
|
|
make_ext3 $ROOT_DEVICE "y"
|
|
else
|
|
make_ext3 $ROOT_DEVICE "n"
|
|
fi
|
|
elif [ "$ROOT_SYS_TYPE" = "ext4" ]; then
|
|
if [ "$DOFORMAT" = "Check" ]; then
|
|
make_ext4 $ROOT_DEVICE "y"
|
|
else
|
|
make_ext4 $ROOT_DEVICE "n"
|
|
fi
|
|
elif [ "$ROOT_SYS_TYPE" = "reiserfs" ]; then
|
|
make_reiserfs $ROOT_DEVICE
|
|
elif [ "$ROOT_SYS_TYPE" = "btrfs" ]; then
|
|
make_btrfs $ROOT_DEVICE
|
|
elif [ "$ROOT_SYS_TYPE" = "f2fs" ]; then
|
|
make_f2fs $ROOT_DEVICE
|
|
elif [ "$ROOT_SYS_TYPE" = "jfs" ]; then
|
|
if [ "$DOFORMAT" = "Check" ]; then
|
|
make_jfs $ROOT_DEVICE "y"
|
|
else
|
|
make_jfs $ROOT_DEVICE "n"
|
|
fi
|
|
elif [ "$ROOT_SYS_TYPE" = "xfs" ]; then
|
|
make_xfs $ROOT_DEVICE
|
|
fi
|
|
fi # DOFORMAT?
|
|
|
|
# Sync before identifying and mounting the root device:
|
|
sync
|
|
|
|
# Determine the filesystem type using blkid:
|
|
ROOT_SYS_TYPE=$(blkid -s TYPE $ROOT_DEVICE | cut -f 2 -d = | tr -d \")
|
|
|
|
# Mount the root filesystem:
|
|
mount $ROOT_DEVICE $T_PX -t $ROOT_SYS_TYPE 1> $REDIR 2> $REDIR
|
|
|
|
#echo "$ROOT_DEVICE / $ROOT_SYS_TYPE defaults 1 1" > $TMP/SeTnative
|
|
printf "%-16s %-16s %-11s %-16s %-3s %s\n" "$ROOT_DEVICE" "/" "$ROOT_SYS_TYPE" "defaults" "1" "1" > $TMP/SeTnative
|
|
echo $ROOT_DEVICE > $TMP/SeTrootdev
|
|
|
|
# done mounting the target root partition
|
|
|
|
# More than one Linux partition
|
|
if [ ! "`cat $TMP/SeTplist | sed -n '2 p'`" = "" ]; then
|
|
while [ 0 ]; do # next partition loop
|
|
# OK, we will set this flag, and if we find an unused partition, we
|
|
# change it. If it doesn't get switched, we skip the next menu.
|
|
rm -f $TMP/SeTSKIP
|
|
echo "true" > $TMP/SeTSKIP
|
|
|
|
cat << EOF > $TMP/tempscript
|
|
dialog --backtitle "Setting up other Linux partitions." \\
|
|
--title "Select other Linux partitions for /etc/fstab" \\
|
|
--ok-label Select --cancel-label Continue \\
|
|
--menu "You seem to have more than one partition tagged as type Linux. \\
|
|
You may use these to distribute your Linux system across more than \\
|
|
one partition. Currently, you have $ROOT_DEVICE mounted as your / partition. \\
|
|
You might want to mount directories such as /home or /usr/local \\
|
|
on separate partitions. You should not try to mount /etc, /sbin, or /bin on \\
|
|
their own partitions since they contain utilities needed to bring the system \\
|
|
up and mount partitions. Also, do not reuse a partition that you've already \\
|
|
entered before. Please select one of the Linux partitions listed below, or \\
|
|
if you're done, hit <Continue>." 20 70 4 \\
|
|
EOF
|
|
gen_part_list
|
|
|
|
if [ "`cat $TMP/SeTSKIP`" = "true" ]; then
|
|
break;
|
|
fi
|
|
rm -rf $TMP/return
|
|
|
|
. $TMP/tempscript
|
|
if [ ! $? = 0 ]; then
|
|
break;
|
|
fi
|
|
|
|
NEXT_PARTITION=`cat $TMP/return`
|
|
if [ "$NEXT_PARTITION" = "---" ]; then
|
|
break;
|
|
elif [ "$NEXT_PARTITION" = "(IN USE)" ]; then
|
|
continue;
|
|
fi
|
|
|
|
# We now have the next partition, ask the user what to do with it:
|
|
ask_format $NEXT_PARTITION
|
|
|
|
DOFORMAT="`cat $TMP/return`"
|
|
rm -f $TMP/return
|
|
|
|
BACKT="Partition $NEXT_PARTITION will not be reformatted."
|
|
if [ ! "$DOFORMAT" = "No" ]; then
|
|
ask_fs $NEXT_PARTITION
|
|
NEXT_SYS_TYPE="`cat $TMP/return`"
|
|
rm -f $TMP/return
|
|
BACKT="Partition $NEXT_PARTITION will be formatted with $NEXT_SYS_TYPE."
|
|
# create the filesystem
|
|
if [ "$NEXT_SYS_TYPE" = "ext2" ]; then
|
|
if [ "$DOFORMAT" = "Check" ]; then
|
|
make_ext2 $NEXT_PARTITION "y"
|
|
else
|
|
make_ext2 $NEXT_PARTITION "n"
|
|
fi
|
|
elif [ "$NEXT_SYS_TYPE" = "ext3" ]; then
|
|
if [ "$DOFORMAT" = "Check" ]; then
|
|
make_ext3 $NEXT_PARTITION "y"
|
|
else
|
|
make_ext3 $NEXT_PARTITION "n"
|
|
fi
|
|
elif [ "$NEXT_SYS_TYPE" = "ext4" ]; then
|
|
if [ "$DOFORMAT" = "Check" ]; then
|
|
make_ext4 $NEXT_PARTITION "y"
|
|
else
|
|
make_ext4 $NEXT_PARTITION "n"
|
|
fi
|
|
elif [ "$NEXT_SYS_TYPE" = "reiserfs" ]; then
|
|
make_reiserfs $NEXT_PARTITION
|
|
elif [ "$NEXT_SYS_TYPE" = "btrfs" ]; then
|
|
make_btrfs $NEXT_PARTITION
|
|
elif [ "$NEXT_SYS_TYPE" = "f2fs" ]; then
|
|
make_f2fs $NEXT_PARTITION
|
|
elif [ "$NEXT_SYS_TYPE" = "jfs" ]; then
|
|
if [ "$DOFORMAT" = "Check" ]; then
|
|
make_jfs $NEXT_PARTITION "y"
|
|
else
|
|
make_jfs $NEXT_PARTITION "n"
|
|
fi
|
|
elif [ "$NEXT_SYS_TYPE" = "xfs" ]; then
|
|
make_xfs $NEXT_PARTITION
|
|
fi
|
|
fi # DOFORMAT?
|
|
|
|
# Now ask the user where to mount this new filesystem:
|
|
dialog --backtitle "$BACKT" --title \
|
|
"SELECT MOUNT POINT FOR $NEXT_PARTITION" --inputbox \
|
|
"OK, now you need to specify where you want the new partition mounted. \
|
|
For example, if you want to put it under /usr/local, then respond: /usr/local\n\
|
|
Where would you like to mount $NEXT_PARTITION?" 11 59 2> $TMP/return
|
|
if [ ! $? = 0 ]; then
|
|
continue
|
|
fi
|
|
|
|
MTPT=`cat $TMP/return`
|
|
if [ "$MTPT" = "" ]; then # abort if blank
|
|
continue
|
|
fi
|
|
if [ "`echo "$MTPT" | cut -b1`" = " " ]; then # bail if 1st char is space
|
|
continue
|
|
fi
|
|
if [ ! "`echo "$MTPT" | cut -b1`" = "/" ]; then # add / to start of path
|
|
MTPT="/$MTPT"
|
|
fi
|
|
rm $TMP/return
|
|
|
|
# Sync before identifying and mounting the partition:
|
|
sync
|
|
|
|
# Create the mount point if it does not exist:
|
|
if [ ! -d ${T_PX}/$MTPT ]; then
|
|
mkdir -p ${T_PX}/$MTPT
|
|
fi
|
|
|
|
# Determine the filesystem type using blkid:
|
|
NEXT_SYS_TYPE=$(blkid -s TYPE $NEXT_PARTITION | cut -f 2 -d = | tr -d \")
|
|
|
|
# Mount the partition:
|
|
mount $NEXT_PARTITION ${T_PX}/$MTPT -t $NEXT_SYS_TYPE 1> $REDIR 2> $REDIR
|
|
|
|
#echo "$NEXT_PARTITION $MTPT $NEXT_SYS_TYPE defaults 1 1" >> $TMP/SeTnative
|
|
printf "%-16s %-16s %-11s %-16s %-3s %s\n" "$NEXT_PARTITION" "$MTPT" "$NEXT_SYS_TYPE" "defaults" "1" "2" >> $TMP/SeTnative
|
|
done # next partition loop
|
|
fi # more than one Linux partition
|
|
|
|
# Done, report to the user:
|
|
cat << EOF > $TMP/tempmsg
|
|
|
|
Adding this information to your /etc/fstab:
|
|
|
|
EOF
|
|
cat $TMP/SeTnative >> $TMP/tempmsg
|
|
dialog --backtitle "Finished setting up Linux partitions." \
|
|
--title "DONE ADDING LINUX PARTITIONS TO /etc/fstab" \
|
|
--exit-label OK \
|
|
--textbox $TMP/tempmsg 15 72
|
|
|
|
## More obsolete code from the floppy disk era:
|
|
## Now, move our /tmp storage onto the target partition if possible:
|
|
#/usr/lib/setup/migrate.sh
|
|
|