Improved support for user-supplied /etc/modules and /etc/network/interfaces
This commit is contained in:
parent
91a0cfb6de
commit
9d4f3d4f1e
3 changed files with 23 additions and 19 deletions
11
README.devel
11
README.devel
|
@ -72,19 +72,14 @@ Short term goals:
|
|||
----------------
|
||||
do any more files need copyright notices?
|
||||
set up reasonable defaults in cnas-default-settings (use gedit with multiple separate windows)
|
||||
/etc/network/interfaces
|
||||
|
||||
|
||||
Known Issues:
|
||||
------------
|
||||
Debian Live boot media shown in list of available disks
|
||||
Mounted encrypted volumes shown twice in list of available disks (may have been fixed already)
|
||||
*Debian Live boot media shown in list of available disks
|
||||
*Mounted encrypted volumes shown twice in list of available disks
|
||||
|
||||
*syslinux splash screen needs customization
|
||||
*needs to be built using a *.deb based on SVN "head" to make sure that glaring English-language
|
||||
issues were fixed since live-cd 3.1
|
||||
*When NOT using a user-supplied /etc/network/interfaces (haven't tried it *with* user-supplied
|
||||
"interfaces") and the user chooses a new IP address via the web interface, the old DHCP-assigned
|
||||
address is still accessible
|
||||
*Reading an encrypted live-cd image doesn't work using Etch
|
||||
*LH_APT_SECURE must be set to "enabled" in Etch or else cdebootstrap fails
|
||||
LH_SOURCE="enabled" doesn't work yet
|
||||
|
|
|
@ -38,7 +38,7 @@ PREREQ="23networking 25configure_init"
|
|||
DESCRIPTION="Preconfiguring CryptoNAS Live System..."
|
||||
|
||||
#Location of "real" root as seen from initramfs
|
||||
CNAS_ROOT_DIR="/root"
|
||||
_CNAS_ROOT_DIR="/root"
|
||||
|
||||
. /scripts/casper-functions
|
||||
|
||||
|
@ -57,43 +57,49 @@ esac
|
|||
|
||||
log_begin_msg "$DESCRIPTION"
|
||||
|
||||
. ${CNAS_ROOT_DIR}/usr/share/cryptonas-live/etc-scoreboard
|
||||
. ${_CNAS_ROOT_DIR}/usr/share/cryptonas-live/etc-scoreboard
|
||||
|
||||
# "/" must be writeable only by root, or else some CryptoNAS
|
||||
# scripts will refuse to run for security reasons.
|
||||
chmod go-w ${CNAS_ROOT_DIR}
|
||||
chmod go-w ${_CNAS_ROOT_DIR}
|
||||
|
||||
sed -i 's/^id:.*$/id:3:initdefault:/' ${CNAS_ROOT_DIR}/etc/inittab
|
||||
sed -i 's/^id:.*$/id:3:initdefault:/' ${_CNAS_ROOT_DIR}/etc/inittab
|
||||
# add tmpfs entry for mount parent
|
||||
# remove old line, if fstab exists
|
||||
test -e ${CNAS_ROOT_DIR}/etc/fstab && sed -i '#/var/cache/cryptobox-server/mnt#d' ${CNAS_ROOT_DIR}/etc/fstab
|
||||
test -e ${_CNAS_ROOT_DIR}/etc/fstab && sed -i '#/var/cache/cryptobox-server/mnt#d' ${_CNAS_ROOT_DIR}/etc/fstab
|
||||
# add new line
|
||||
echo "tmpfs /var/cache/cryptobox-server/mnt tmpfs defaults 0 0" >> ${CNAS_ROOT_DIR}/etc/fstab
|
||||
echo "tmpfs /var/cache/cryptobox-server/mnt tmpfs defaults 0 0" >> ${_CNAS_ROOT_DIR}/etc/fstab
|
||||
|
||||
#Set up /etc/modules with user-provided contents ('K' stands for "kernel")
|
||||
_CNAS_KMODULES="$CNAS_ROOT_DIR/$CNAS_SCOREBOARD_DIR/etc.d/modules"
|
||||
_CNAS_KMODULES="$CNAS_SCOREBOARD_DIR/etc.d/modules"
|
||||
# if $CNAS_KMODULES is not null then use that file as /etc/modules
|
||||
if [ -n "$CNAS_KMODULES" ]
|
||||
then
|
||||
_CNAS_KMODULES="${CNAS_KMODULES}"
|
||||
fi
|
||||
|
||||
#Add root directory prefix
|
||||
_CNAS_KMODULES="${_CNAS_ROOT_DIR}${_CNAS_KMODULES}"
|
||||
|
||||
if [ -f "$_CNAS_KMODULES" ]
|
||||
then
|
||||
cp $_CNAS_KMODULES ${CNAS_ROOT_DIR}/etc/modules
|
||||
cp ${_CNAS_KMODULES} ${_CNAS_ROOT_DIR}/etc/modules
|
||||
fi
|
||||
|
||||
#Set up /etc/network/interfaces with user-provided contents
|
||||
_CNAS_INTERFACES="$CNAS_ROOT_DIR/$CNAS_SCOREBOARD_DIR/etc.d/network/interfaces"
|
||||
_CNAS_INTERFACES="$CNAS_SCOREBOARD_DIR/etc.d/network/interfaces"
|
||||
# if $CNAS_INTERFACES is not null then use that file as /etc/network/interfaces
|
||||
if [ -n "$CNAS_INTERFACES" ]
|
||||
then
|
||||
_CNAS_INTERFACES="${CNAS_INTERFACES}"
|
||||
fi
|
||||
|
||||
if [ -f "$CNAS_INTERFACES" ]
|
||||
#Add root directory prefix
|
||||
_CNAS_INTERFACES="${_CNAS_ROOT_DIR}${_CNAS_INTERFACES}"
|
||||
|
||||
if [ -f "$_CNAS_INTERFACES" ]
|
||||
then
|
||||
cp $_CNAS_INTERFACES ${CNAS_ROOT_DIR}/etc/network/interfaces
|
||||
cp ${_CNAS_INTERFACES} ${_CNAS_ROOT_DIR}/etc/network/interfaces
|
||||
fi
|
||||
|
||||
#"hard" and "secure" are synonyms, so test for both of them
|
||||
|
|
|
@ -181,6 +181,9 @@ CNAS_SERVICES_OFF="ssh setserial nviboot mountnfs ntpdate"
|
|||
# alternative files using the $CNAS_KMODULES and $CNAS_INTERFACES
|
||||
# variables.
|
||||
|
||||
CNAS_INTERFACES="$CNAS_SCOREBOARD_DIR/etc.d/network/interfaces"
|
||||
|
||||
CNAS_KMODULES="$CNAS_SCOREBOARD_DIR/etc.d/modules"
|
||||
#FIXME: add to etc.d/network/interfaces
|
||||
#\tauto lo eth0
|
||||
#\tiface lo inet loopback
|
||||
|
|
Loading…
Reference in a new issue