[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#377643: Workaround



Below is a very hacky script that implements the retry loop. The script
should go in /etc/initramfs-tools/scripts/nfs-bottom/retry. It adds a test
in /conf/param.conf and that script is sourced by the main /init. It needs
to do this since mountroot is only available to /init. The real fix should
be to change scripts/nfs::mountroot to retry itself. Enjoy.

#!/bin/sh
# This script repeats /scripts/nfs::mountroot() until $init appears.
# The mechanism used is to add some code into /conf/param.conf which is then
# sourced by the main shell. This is because the code requires access to the
# main shell variables which are not sourced.

[ prereqs = "$1" ] && exec echo ""

sourcedfile=/conf/param.conf
cat >> "$sourcedfile" << "EOF"
  until [ -x "$rootmnt$init" ]
  do
    echo "Couldn't find init program ($rootmnt$init), retrying root mount..."
    mountroot
  done
EOF

Cheers,
Tim.



Reply to: