Don't generate rootfs entry in /etc/fstab if we don't know its UUID [Closes: issue2182]
authorMichael Prokop <mika@grml.org>
Wed, 25 Jan 2017 23:46:41 +0000 (00:46 +0100)
committerMichael Prokop <mika@grml.org>
Wed, 25 Jan 2017 23:46:41 +0000 (00:46 +0100)
With a command line like:

  grml-debootstrap --grub /dev/sda -t /media/sda1 ...

the resulting fstab gets:

  /media/sda1 /  auto    defaults,errors=remount-ro 0   1

which is for sure unwanted. So don't such an entry in the fstab
if we lack details about the underlying rootfs and instead warn
the user that this *might* be a problem.

chroot-script

index eb2963f..7d8c6d2 100755 (executable)
@@ -463,12 +463,12 @@ timezone() {
 
 # helper function for fstab() {{{
 createfstab(){
 
 # helper function for fstab() {{{
 createfstab(){
-     echo "Setting up /etc/fstab"
-if [ -n "$TARGET_UUID" ] ; then
-   echo "/dev/disk/by-uuid/${TARGET_UUID} /  auto    defaults,errors=remount-ro 0   1" > /etc/fstab
-else
-   echo "${TARGET} /  auto    defaults,errors=remount-ro 0   1" > /etc/fstab
-fi
+  echo "Setting up /etc/fstab"
+  if [ -n "$TARGET_UUID" ] ; then
+    echo "/dev/disk/by-uuid/${TARGET_UUID} /  auto    defaults,errors=remount-ro 0   1" > /etc/fstab
+  else
+    echo "Warning: couldn't identify target UUID for rootfs, your /etc/fstab might be incomplete."
+  fi
 
 if [ -n "$EFI" ] ; then
   echo "UUID=$(blkid -o value -s UUID $EFI)  /boot/efi       vfat    umask=0077      0       1" >> /etc/fstab
 
 if [ -n "$EFI" ] ; then
   echo "UUID=$(blkid -o value -s UUID $EFI)  /boot/efi       vfat    umask=0077      0       1" >> /etc/fstab