--- Begin Message ---
- To: Debian Bug Tracking System <submit@bugs.debian.org>
- Subject: flashybrid: Init script is loaded too late, prevents flashybrid from working
- From: Thibaut VARENE <varenet@debian.org>
- Date: Thu, 28 Nov 2013 12:35:58 +0100
- Message-id: <20131128113558.4599.59523.reportbug@rPi>
Package: flashybrid
Version: 0.17
Severity: normal
Tags: patch
Flashybrid init script is loaded too late in the boot process, rendering
the service unable to work since the underlying filesystem is already "busy"
(with files open for writing) at the time flashybrid tries to run.
Attached is a modified init script that starts in the "S" runlevel, as early
as possible in the boot process and fixes this issue.
I've also taken the liberty to quickly update the script to lsb functions.
HTH
T-Bone
-- System Information:
Debian Release: 7.2
Architecture: armhf (armv6l)
Kernel: Linux 3.6.11+ (PREEMPT)
Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968)
Shell: /bin/sh linked to /bin/dash
Versions of packages flashybrid depends on:
ii debconf [debconf-2.0] 1.5.49
ii rsync 3.0.9-4
flashybrid recommends no packages.
flashybrid suggests no packages.
-- Configuration Files:
/etc/flashybrid/config changed [not included]
/etc/flashybrid/ramstore changed [not included]
/etc/flashybrid/ramtmp changed [not included]
/etc/init.d/flashybrid changed [included]
-- debconf information:
* flashybrid/remove:
#!/bin/sh
# Set up/shutdown the flashybrid system, including the ramdisk and partial
# directory bind mounts. This needs to run at the part of system bootup that
# mounts all the disks. It should also run at shutdown right before
# filesystems are unmounted.
# Licensed under the terms of GPL v2
# Diego Iastrubni <diego.iastrubni@xorcom.com> 2006
# Joey Hess <joeyh@debian.org> 2002-2006
### BEGIN INIT INFO
# Provides: flashybrid
# Required-Start: $local_fs
# Required-Stop: $local_fs
# Should-Start:
# Should-Stop:
# Default-Start: S
# Default-Stop: 0 1 6
# X-Start-Before: $network
# X-Stop-Before: $network
# Short-Description: automates use of a flash disk as the root filesystem
# Description: Flashybrid is a system to help in setting up and managing hybrid
# flash/disk/ram based Debian systems which can run most of the time
# using only a small flash disk for their root filesystem and do a useful,
# but limited task (such as being a router, or a PDA, or a rescue system
# on a USB keydrive). The flash can be as small as 32 mb, though 64 to 256
# mb is more comfortable.
### END INIT INFO
. /lib/lsb/init-functions
CONFDIR=/etc/flashybrid
if [ -e $CONFDIR/config ]; then
. $CONFDIR/config
fi
ENABLED=no
if [ -e /etc/default/flashybrid ]; then
. /etc/default/flashybrid
fi
if [ -z "$RAMMOUNT" ]; then
exit 0
fi
is_mounted () {
grep -q " $1 " /proc/mounts
}
case "$1" in
start)
if [ "$ENABLED" != yes ]; then
log_warning_msg "Not setting up flashybrid system: disabled."
exit
fi
if [ ! -d "$RAMMOUNT" ] ; then
log_failure_msg "Error, RAMMOUNT directory is not found ($RAMMOUNT)"
exit 1
fi
log_daemon_msg "Setting up flashybrid system for"
EXTRA_PARAMS=""
if [ "xx$FLASH_MAX" != "xx" ]; then
EXTRA_PARAMS=" -o size=$FLASH_MAX "
fi
# Set up ram disk to hold variable data.
if ! is_mounted $RAMMOUNT; then
mount tmpfs -t tmpfs $RAMMOUNT $EXTRA_PARAMS
fi
# Temporary directories on ram disk.
cp $CONFDIR/ramtmp $RAMMOUNT/.fh-config-ramtmp
for dir in $(grep -v '^#' $CONFDIR/ramtmp); do
if [ -d $dir ]; then
mkdir -p -m 1777 $RAMMOUNT/$dir
if is_mounted $dir; then
umount $dir
fi
mount --bind $RAMMOUNT/$dir $dir
fi
done
# when syncing we will use this configuration for restoring,
# as the user may modify the configuration on the disk, and completely
# mess up the system, eventually making his machine unusable
cp $CONFDIR/ramstore $RAMMOUNT/.fh-config-ramstore
# Copy data from flash to ram disk for these directories
for dir in $(grep -v '^#' $CONFDIR/ramstore); do
# Skip dirs that are not present.
if [ -d $dir ]; then
if [ "$VERBOSE" = yes ]; then
log_progress_msg "$dir"
fi
ramdir=$RAMMOUNT$dir
if is_mounted $dir; then
umount $dir
fi
if is_mounted $ramdir.flash; then
umount $ramdir.flash
fi
if [ ! -d $ramdir ]; then
mkdir -p ${ramdir%/*} # dirname
cp -a $dir $ramdir
fi
mkdir -p $ramdir.flash
mount --bind $dir $ramdir.flash
mount --bind $ramdir $dir
fi
done
log_end_msg 0
mountro
;;
stop)
if [ "$ENABLED" != yes ]; then
log_warning_msg "Not shutting down flashybrid system: disabled."
exit
fi
fh-sync
mountrw
;;
reload)
echo "This target is available only for compatibility."
echo "Gracefully exiting"
;;
restart)
echo "This target is available only for compatibility, and usually will fail to work"
echo "If you really want to restart this service please try 'force-reload'."
echo
echo "Gracefully exiting"
;;
force-reload)
$0 stop
$0 start
;;
*)
echo "Usage: $0 {start|stop|restart|force-reload}"
exit 1
;;
esac
--- End Message ---
--- Begin Message ---
Source: flashybrid
Source-Version: 0.18
We believe that the bug you reported is fixed in the latest version of
flashybrid, which is due to be installed in the Debian FTP archive.
A summary of the changes between this version and the previous one is
attached.
Thank you for reporting the bug, which will now be closed. If you
have further comments please address them to 730702@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.
Debian distribution maintenance software
pp.
Thibaut VARENE <varenet@debian.org> (supplier of updated flashybrid package)
(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Format: 1.8
Date: Tue, 08 Apr 2014 14:00:19 +0200
Source: flashybrid
Binary: flashybrid
Architecture: source all
Version: 0.18
Distribution: unstable
Urgency: low
Maintainer: Thibaut VARENE <varenet@debian.org>
Changed-By: Thibaut VARENE <varenet@debian.org>
Description:
flashybrid - automates use of a flash disk as the root filesystem
Closes: 454391 508365 563514 564045 730702
Changes:
flashybrid (0.18) unstable; urgency=low
.
* New maitainer upload (Closes: #564045)
* Fix init script priority (Closes: #730702)
* Remove dead homepage URL (Closes: #563514)
* Fix fh-sync multiple mountpoints (patch from D. Gryazin - Closes: #508365)
* Fix purge in postrm (patch from P. Khanti - Closes: #454391)
* General cleanup and update
Checksums-Sha1:
b9c7a7f81408789ecfa8b44b5662c3f52b9cf2ac 757 flashybrid_0.18.dsc
658120cab03245d4a6cbf5f0a44979586e663228 26496 flashybrid_0.18.tar.xz
053180c0f114dcebb8bf82417102d8ab288ac7f9 21996 flashybrid_0.18_all.deb
Checksums-Sha256:
afec48549d43a4e9fbf78507e4c13c3eacba510498d11d054eae62b3d1253ebe 757 flashybrid_0.18.dsc
77f2e414d612ffb80d7aad10f5dd7464b892d7fda931487e6a92f81ba4e2ba49 26496 flashybrid_0.18.tar.xz
bb49d1a95c7e80ffeb6634df51dd153c2e560a46c5e19d8e65319bdd53ecab27 21996 flashybrid_0.18_all.deb
Files:
2f07a72110566ef657dc1fb0374281af 757 admin extra flashybrid_0.18.dsc
e8a8933af61368c762546a2d0bbcc66e 26496 admin extra flashybrid_0.18.tar.xz
dc6f4a6726081688a0c8796feaef6ed0 21996 admin extra flashybrid_0.18_all.deb
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iEYEARECAAYFAlND83EACgkQHjLD2rfS8GNmcwCgl5M8CmdELVbgOt6x+zlQ8uXP
dOwAn237nhfdSFF2d/SeEVmwj62zeKbb
=cRS4
-----END PGP SIGNATURE-----
--- End Message ---