[SCM] debian-live/live-helper branch, master, updated. 1.0_a32-1-11-g48eb8f7
Daniel Baumann
daniel at debian.org
Mon Oct 29 10:57:47 UTC 2007
The branch, master has been updated
via 48eb8f7ba78bd308e98346428b6c7d69a42eccc9 (commit)
via 4f3f3c45b0b10375199723fce6447641324ffb15 (commit)
via c71e0d5517c7028060c8d50bb6b426b6ff1469ae (commit)
via b01e3ff7695f039426e590c95b9d3af936bbe2c8 (commit)
via c7e50a404e1dff95187ca4422b49dda80179fd44 (commit)
via 00aa1d0c28de2895246a70c2beb09cd1e7e6cd13 (commit)
from acff181e6333020449a067803b348ccd55668721 (commit)
- Shortlog ------------------------------------------------------------
48eb8f7 Preparing live-helper 1.0~a34-1.
4f3f3c4 Releasing live-helper 1.0~a33-1.
c71e0d5 fix lh_chroot_sources to actually install *.deb from config/chroot_sources
b01e3ff Added feature to exclude paths from the root filesystem.
c7e50a4 Remove ".img" from kernel image file name.
00aa1d0 add exposedroot option which exposes the root fs as ro
Summary of changes:
Makefile | 6 ++--
debian/changelog | 25 +++++++++++++++++++-
functions/common.sh | 2 +-
functions/defaults.sh | 3 ++
helpers/lh_binary_chroot | 15 ++++++++++++
helpers/lh_binary_grub | 5 ++++
helpers/lh_binary_syslinux | 10 ++++++-
helpers/lh_binary_yaboot | 5 ++++
helpers/lh_chroot_hacks | 39 +++++++++++++++++++++++++++++++
helpers/lh_chroot_hosts | 5 ++-
helpers/lh_chroot_sources | 2 +-
helpers/lh_config | 12 ++++++++-
manpages/lh_binary.de.1 | 2 +-
manpages/lh_binary.en.1 | 2 +-
manpages/lh_bootstrap.de.1 | 2 +-
manpages/lh_bootstrap.en.1 | 2 +-
manpages/lh_bootstrap_cdebootstrap.de.1 | 2 +-
manpages/lh_bootstrap_cdebootstrap.en.1 | 2 +-
manpages/lh_bootstrap_debootstrap.de.1 | 2 +-
manpages/lh_bootstrap_debootstrap.en.1 | 2 +-
manpages/lh_build.de.1 | 2 +-
manpages/lh_build.en.1 | 2 +-
manpages/lh_chroot.de.1 | 2 +-
manpages/lh_chroot.en.1 | 2 +-
manpages/lh_clean.de.1 | 2 +-
manpages/lh_clean.en.1 | 2 +-
manpages/lh_config.de.1 | 2 +-
manpages/lh_config.en.1 | 2 +-
manpages/lh_source.de.1 | 2 +-
manpages/lh_source.en.1 | 2 +-
manpages/lh_testroot.de.1 | 2 +-
manpages/lh_testroot.en.1 | 2 +-
manpages/live-helper.de.7 | 2 +-
manpages/live-helper.en.7 | 2 +-
34 files changed, 140 insertions(+), 33 deletions(-)
-----------------------------------------------------------------------
Details of changes:
commit 48eb8f7ba78bd308e98346428b6c7d69a42eccc9
Author: Daniel Baumann <daniel at debian.org>
Date: Mon Oct 29 11:57:24 2007 +0100
Preparing live-helper 1.0~a34-1.
diff --git a/Makefile b/Makefile
index f1da96f..61a5e38 100644
--- a/Makefile
+++ b/Makefile
@@ -91,9 +91,9 @@ uninstall:
update:
set -e; for FILE in functions/*.sh examples/cron/*.sh manpages/*.de.* manpages/*.en.*; \
do \
- sed -i -e 's/2007\\-10\\-22/2007\\-10\\-29/' \
- -e 's/22.10.2007/29.10.2007/' \
- -e 's/1.0~a33/1.0~a34/' \
+ sed -i -e 's/2007\\-10\\-29/2007\\-11\\-05/' \
+ -e 's/29.10.2007/05.11.2007/' \
+ -e 's/1.0~a34/1.0~a35/' \
$$FILE; \
done
diff --git a/debian/changelog b/debian/changelog
index d9eed79..c65d6d6 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+live-helper (1.0~a34-1) UNRELEASED; urgency=medium
+
+ * New upstream release.
+
+ -- Daniel Baumann <daniel at debian> Mon, 29 Oct 2007 00:00:00 +0100
+
live-helper (1.0~a33-1) unstable; urgency=medium
[ Daniel Baumann ]
diff --git a/functions/common.sh b/functions/common.sh
index 14959a1..2ebf086 100755
--- a/functions/common.sh
+++ b/functions/common.sh
@@ -10,4 +10,4 @@
set -e
PROGRAM="$(basename ${0})"
-VERSION="1.0~a33"
+VERSION="1.0~a34"
diff --git a/manpages/lh_binary.de.1 b/manpages/lh_binary.de.1
index 503fde9..ac80675 100644
--- a/manpages/lh_binary.de.1
+++ b/manpages/lh_binary.de.1
@@ -1,4 +1,4 @@
-.TH LH_BINARY 1 "22.10.2007" "1.0~a33" "live\-helper"
+.TH LH_BINARY 1 "29.10.2007" "1.0~a34" "live\-helper"
.SH NAME
lh_binary \- Meta\-Helper f\[:u]r lh_binary_*
diff --git a/manpages/lh_binary.en.1 b/manpages/lh_binary.en.1
index 5175e9c..762c065 100644
--- a/manpages/lh_binary.en.1
+++ b/manpages/lh_binary.en.1
@@ -1,4 +1,4 @@
-.TH LH_BINARY 1 "2007\-10\-22" "1.0~a33" "live\-helper"
+.TH LH_BINARY 1 "2007\-10\-29" "1.0~a34" "live\-helper"
.SH NAME
lh_binary \- meta\-helper for lh_binary_*
diff --git a/manpages/lh_bootstrap.de.1 b/manpages/lh_bootstrap.de.1
index f3b36b1..32ff0c5 100644
--- a/manpages/lh_bootstrap.de.1
+++ b/manpages/lh_bootstrap.de.1
@@ -1,4 +1,4 @@
-.TH LH_BOOTSTRAP 1 "22.10.2007" "1.0~a33" "live\-helper"
+.TH LH_BOOTSTRAP 1 "29.10.2007" "1.0~a34" "live\-helper"
.SH NAME
lh_bootstrap \- Meta\-Helper f\[:u]r lh_bootstrap_*
diff --git a/manpages/lh_bootstrap.en.1 b/manpages/lh_bootstrap.en.1
index ccdc8ac..3b55720 100644
--- a/manpages/lh_bootstrap.en.1
+++ b/manpages/lh_bootstrap.en.1
@@ -1,4 +1,4 @@
-.TH LH_BOOTSTRAP 1 "2007\-10\-22" "1.0~a33" "live\-helper"
+.TH LH_BOOTSTRAP 1 "2007\-10\-29" "1.0~a34" "live\-helper"
.SH NAME
lh_bootstrap \- meta\-helper for lh_bootstrap_*
diff --git a/manpages/lh_bootstrap_cdebootstrap.de.1 b/manpages/lh_bootstrap_cdebootstrap.de.1
index bf77961..e5094db 100644
--- a/manpages/lh_bootstrap_cdebootstrap.de.1
+++ b/manpages/lh_bootstrap_cdebootstrap.de.1
@@ -1,4 +1,4 @@
-.TH LH_BOOTSTRAP_CDEBOOTSTRAP 1 "22.10.2007" "1.0~a33" "live\-helper"
+.TH LH_BOOTSTRAP_CDEBOOTSTRAP 1 "29.10.2007" "1.0~a34" "live\-helper"
.SH NAME
lh_bootstrap_cdebootstrap \- erstellt ein Debian-System mit \fIcdebootstrap\fR(1)
diff --git a/manpages/lh_bootstrap_cdebootstrap.en.1 b/manpages/lh_bootstrap_cdebootstrap.en.1
index 1be522c..8c23bec 100644
--- a/manpages/lh_bootstrap_cdebootstrap.en.1
+++ b/manpages/lh_bootstrap_cdebootstrap.en.1
@@ -1,4 +1,4 @@
-.TH LH_BOOTSTRAP_CDEBOOTSTRAP 1 "2007\-10\-22" "1.0~a33" "live\-helper"
+.TH LH_BOOTSTRAP_CDEBOOTSTRAP 1 "2007\-10\-29" "1.0~a34" "live\-helper"
.SH NAME
lh_bootstrap_cdebootstrap \- bootstrap a Debian system with \fIcdebootstrap\fR(1)
diff --git a/manpages/lh_bootstrap_debootstrap.de.1 b/manpages/lh_bootstrap_debootstrap.de.1
index ddac30a..bf1bcc9 100644
--- a/manpages/lh_bootstrap_debootstrap.de.1
+++ b/manpages/lh_bootstrap_debootstrap.de.1
@@ -1,4 +1,4 @@
-.TH LH_BOOTSTRAP_DEBOOTSTRAP 1 "22.10.2007" "1.0~a33" "live\-helper"
+.TH LH_BOOTSTRAP_DEBOOTSTRAP 1 "29.10.2007" "1.0~a34" "live\-helper"
.SH NAME
lh_bootstrap_debootstrap \- erstellt ein Debian-System mit \fIdebootstrap\fR(8)
diff --git a/manpages/lh_bootstrap_debootstrap.en.1 b/manpages/lh_bootstrap_debootstrap.en.1
index c0a5938..243aa96 100644
--- a/manpages/lh_bootstrap_debootstrap.en.1
+++ b/manpages/lh_bootstrap_debootstrap.en.1
@@ -1,4 +1,4 @@
-.TH LH_BOOTSTRAP_DEBOOTSTRAP 1 "2007\-10\-22" "1.0~a33" "live\-helper"
+.TH LH_BOOTSTRAP_DEBOOTSTRAP 1 "2007\-10\-29" "1.0~a34" "live\-helper"
.SH NAME
lh_bootstrap_debootstrap \- bootstrap a Debian system with \fIdebootstrap\fR(8)
diff --git a/manpages/lh_build.de.1 b/manpages/lh_build.de.1
index 4b3038a..7537862 100644
--- a/manpages/lh_build.de.1
+++ b/manpages/lh_build.de.1
@@ -1,4 +1,4 @@
-.TH LH_BUILD 1 "22.10.2007" "1.0~a33" "live\-helper"
+.TH LH_BUILD 1 "29.10.2007" "1.0~a34" "live\-helper"
.SH NAME
lh_build \- erstellen eines Live-Systemes
diff --git a/manpages/lh_build.en.1 b/manpages/lh_build.en.1
index f5bd8d0..be7be02 100644
--- a/manpages/lh_build.en.1
+++ b/manpages/lh_build.en.1
@@ -1,4 +1,4 @@
-.TH LH_BUILD 1 "2007\-10\-22" "1.0~a33" "live\-helper"
+.TH LH_BUILD 1 "2007\-10\-29" "1.0~a34" "live\-helper"
.SH NAME
lh_build \- building a live system
diff --git a/manpages/lh_chroot.de.1 b/manpages/lh_chroot.de.1
index 3cf3632..9f71ac5 100644
--- a/manpages/lh_chroot.de.1
+++ b/manpages/lh_chroot.de.1
@@ -1,4 +1,4 @@
-.TH LH_CHROOT 1 "22.10.2007" "1.0~a33" "live\-helper"
+.TH LH_CHROOT 1 "29.10.2007" "1.0~a34" "live\-helper"
.SH NAME
lh_chroot \- Meta\-Helper f\[:u]r lh_chroot_*
diff --git a/manpages/lh_chroot.en.1 b/manpages/lh_chroot.en.1
index cb866d4..bf22fa2 100644
--- a/manpages/lh_chroot.en.1
+++ b/manpages/lh_chroot.en.1
@@ -1,4 +1,4 @@
-.TH LH_CHROOT 1 "2007\-10\-22" "1.0~a33" "live\-helper"
+.TH LH_CHROOT 1 "2007\-10\-29" "1.0~a34" "live\-helper"
.SH NAME
lh_chroot \- meta\-helper for lh_chroot_*
diff --git a/manpages/lh_clean.de.1 b/manpages/lh_clean.de.1
index 88818f8..deaf321 100644
--- a/manpages/lh_clean.de.1
+++ b/manpages/lh_clean.de.1
@@ -1,4 +1,4 @@
-.TH LH_CLEAN 1 "22.10.2007" "1.0~a33" "live\-helper"
+.TH LH_CLEAN 1 "29.10.2007" "1.0~a34" "live\-helper"
.SH NAME
lh_clean \- r\[:a]umt das Build-Verzeichnis auf
diff --git a/manpages/lh_clean.en.1 b/manpages/lh_clean.en.1
index 29f7d36..20a7af1 100644
--- a/manpages/lh_clean.en.1
+++ b/manpages/lh_clean.en.1
@@ -1,4 +1,4 @@
-.TH LH_CLEAN 1 "2007\-10\-22" "1.0~a33" "live\-helper"
+.TH LH_CLEAN 1 "2007\-10\-29" "1.0~a34" "live\-helper"
.SH NAME
lh_clean \- clean up system build directories
diff --git a/manpages/lh_config.de.1 b/manpages/lh_config.de.1
index 2cdf7b7..ac4d177 100644
--- a/manpages/lh_config.de.1
+++ b/manpages/lh_config.de.1
@@ -1,4 +1,4 @@
-.TH LH_CONFIG 1 "22.10.2007" "1.0~a33" "live\-helper"
+.TH LH_CONFIG 1 "29.10.2007" "1.0~a34" "live\-helper"
.SH NAME
lh_config \- erstellt live-helper(7) Konfiguration
diff --git a/manpages/lh_config.en.1 b/manpages/lh_config.en.1
index e952f0c..1c5efd0 100644
--- a/manpages/lh_config.en.1
+++ b/manpages/lh_config.en.1
@@ -1,4 +1,4 @@
-.TH LH_CONFIG 1 "2007\-10\-22" "1.0~a33" "live\-helper"
+.TH LH_CONFIG 1 "2007\-10\-29" "1.0~a34" "live\-helper"
.SH NAME
lh_config \- create configuration for live-helper(7)
diff --git a/manpages/lh_source.de.1 b/manpages/lh_source.de.1
index bd2d97f..5d1e6c6 100644
--- a/manpages/lh_source.de.1
+++ b/manpages/lh_source.de.1
@@ -1,4 +1,4 @@
-.TH LH_SOURCE 1 "22.10.2007" "1.0~a33" "live\-helper"
+.TH LH_SOURCE 1 "29.10.2007" "1.0~a34" "live\-helper"
.SH NAME
lh_source \- Meta\-Helper f\[:u]r lh_source_*
diff --git a/manpages/lh_source.en.1 b/manpages/lh_source.en.1
index 946a878..bb9480a 100644
--- a/manpages/lh_source.en.1
+++ b/manpages/lh_source.en.1
@@ -1,4 +1,4 @@
-.TH LH_SOURCE 1 "2007\-10\-22" "1.0~a33" "live\-helper"
+.TH LH_SOURCE 1 "2007\-10\-29" "1.0~a34" "live\-helper"
.SH NAME
lh_source \- meta\-helper for lh_source_*
diff --git a/manpages/lh_testroot.de.1 b/manpages/lh_testroot.de.1
index 892d25a..35e9312 100644
--- a/manpages/lh_testroot.de.1
+++ b/manpages/lh_testroot.de.1
@@ -1,4 +1,4 @@
-.TH LH_TESTROOT 1 "22.10.2007" "1.0~a33" "live\-helper"
+.TH LH_TESTROOT 1 "29.10.2007" "1.0~a34" "live\-helper"
.SH NAME
lh_testroot \- stellt sicher dass das System als root gebaut wird
diff --git a/manpages/lh_testroot.en.1 b/manpages/lh_testroot.en.1
index 0ed382b..47e4a30 100644
--- a/manpages/lh_testroot.en.1
+++ b/manpages/lh_testroot.en.1
@@ -1,4 +1,4 @@
-.TH LH_TESTROOT 1 "2007\-10\-22" "1.0~a33" "live\-helper"
+.TH LH_TESTROOT 1 "2007\-10\-29" "1.0~a34" "live\-helper"
.SH NAME
lh_testroot \- ensure that a system is built as root
diff --git a/manpages/live-helper.de.7 b/manpages/live-helper.de.7
index 68abb61..6a8a68b 100644
--- a/manpages/live-helper.de.7
+++ b/manpages/live-helper.de.7
@@ -1,4 +1,4 @@
-.TH LIVE\-HELPER 7 "22.10.2007" "1.0~a33" "live\-helper"
+.TH LIVE\-HELPER 7 "29.10.2007" "1.0~a34" "live\-helper"
.SH NAME
live\-helper \- Debian Live Helper-Programme
diff --git a/manpages/live-helper.en.7 b/manpages/live-helper.en.7
index 559a821..bbdf9ea 100644
--- a/manpages/live-helper.en.7
+++ b/manpages/live-helper.en.7
@@ -1,4 +1,4 @@
-.TH LIVE\-HELPER 7 "2007\-10\-22" "1.0~a33" "live\-helper"
+.TH LIVE\-HELPER 7 "2007\-10\-29" "1.0~a34" "live\-helper"
.SH NAME
live\-helper \- Debian Live helper programs
commit 4f3f3c45b0b10375199723fce6447641324ffb15
Author: Daniel Baumann <daniel at debian.org>
Date: Mon Oct 29 11:55:19 2007 +0100
Releasing live-helper 1.0~a33-1.
diff --git a/debian/changelog b/debian/changelog
index 8fd06ec..d9eed79 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,6 +1,23 @@
-live-helper (1.0~a33-1) UNRELEASED; urgency=medium
+live-helper (1.0~a33-1) unstable; urgency=medium
+ [ Daniel Baumann ]
* New upstream release.
+ * Preparing live-helper 1.0~a33-1.
+ * Adding cryptsetup.
+ * Removing ubuntu support.
+ * Removing mkisofs support.
+ * Setting default union filesystem to for etch to unionfs.
+
+ [ Alex Owen ]
+ * fix lh_chroot_sources to actually install *.deb from
+ config/chroot_sources
+
+ [ Jesse Hathaway ]
+ * add exposedroot option which exposes the root fs as ro
+
+ [ Maarten ter Huurne ]
+ * Remove ".img" from kernel image file name.
+ * Added feature to exclude paths from the root filesystem.
-- Daniel Baumann <daniel at debian> Mon, 22 Oct 2007 00:00:00 +0200
commit c71e0d5517c7028060c8d50bb6b426b6ff1469ae
Author: Alex Owen <r.alex.owen at gmail.com>
Date: Sun Oct 14 22:37:49 2007 +0100
fix lh_chroot_sources to actually install *.deb from config/chroot_sources
diff --git a/helpers/lh_chroot_sources b/helpers/lh_chroot_sources
index 632daf6..f1bab8e 100755
--- a/helpers/lh_chroot_sources
+++ b/helpers/lh_chroot_sources
@@ -142,7 +142,7 @@ case "${1}" in
for PACKAGE in config/chroot_sources/*.deb
do
cp ${PACKAGE} chroot/root
- Chroot "dpkg -i $(basename ${PACKAGE})"
+ Chroot "dpkg -i /root/$(basename ${PACKAGE})"
rm -f chroot/root/$(basename ${PACKAGE})
done
fi
commit b01e3ff7695f039426e590c95b9d3af936bbe2c8
Author: Maarten ter Huurne <maarten at treewalker.org>
Date: Sun Oct 28 03:14:42 2007 +0100
Added feature to exclude paths from the root filesystem.
To make the root filesystem as small as possible, it can be useful to exclude
certain files or directories. This is now possible by using the file
config/binary_rootfs/exclude, which contains a whitespace separated list of
file paths to exclude; wildcards are allowed. These paths are removed from the
chroot copy before the root filesystem is built.
diff --git a/helpers/lh_binary_chroot b/helpers/lh_binary_chroot
index f6615e1..50d3d67 100755
--- a/helpers/lh_binary_chroot
+++ b/helpers/lh_binary_chroot
@@ -78,6 +78,21 @@ ${LH_ROOT_COMMAND} rm -rf chroot.tmp
${LH_ROOT_COMMAND} cp -a chroot chroot.tmp
${LH_ROOT_COMMAND} mv chroot.tmp chroot/chroot
+if [ -f config/binary_rootfs/exclude ]
+then
+ # Read exclude file and expand wildcards.
+ for EXCLUDE in `cat config/binary_rootfs/exclude`
+ do
+ if [ -e chroot/chroot/"${EXCLUDE}" ]
+ then
+ # Run "rm" inside the chroot so it cannot possibly remove host files.
+ Chroot "rm -r chroot/${EXCLUDE}"
+ else
+ Echo_warning "Excluded path does not exist: ${EXCLUDE}"
+ fi
+ done
+fi
+
if [ -n "${LH_ROOT_COMMAND}" ]
then
${LH_ROOT_COMMAND} chown -R $(whoami):$(whoami) chroot
commit c7e50a404e1dff95187ca4422b49dda80179fd44
Author: Maarten ter Huurne <maarten at treewalker.org>
Date: Sat Oct 27 03:13:29 2007 +0200
Remove ".img" from kernel image file name.
When an ISO is created with the kernel image file name ending in ".img", the
ISO will not boot. In Qemu, the following error will be shown:
FATAL: Int13 eltorito call with AX=4C00
This means a non-implemented BIOS entry was called. In VMware and on real
hardware there is a different error message:
Cannot load disk image (invalid file)?
Removing the ".img" part of the file name solves this.
diff --git a/helpers/lh_binary_syslinux b/helpers/lh_binary_syslinux
index a6eb400..9e85f46 100755
--- a/helpers/lh_binary_syslinux
+++ b/helpers/lh_binary_syslinux
@@ -102,9 +102,10 @@ Syslinux_live_entry ()
then
num=$(ls -1 ${KERNEL_PATH}|grep 'vmlinuz.\.img$'|wc -l)
num=$(($num +1))
- mv ${KERNEL_PATH}/${KERNEL} ${KERNEL_PATH}/vmlinuz${num}.img
+ # Note: ISOLINUX will not find the kernel if the name ends in ".img".
+ mv ${KERNEL_PATH}/${KERNEL} ${KERNEL_PATH}/vmlinuz${num}
mv ${KERNEL_PATH}/${INITRD} ${KERNEL_PATH}/initrd${num}.img
- KERNEL=vmlinuz${num}.img
+ KERNEL=vmlinuz${num}
INITRD=initrd${num}.img
fi
commit 00aa1d0c28de2895246a70c2beb09cd1e7e6cd13
Author: Jesse Hathaway <jesse at mbuki-mvuki.org>
Date: Tue Oct 23 16:56:43 2007 -0400
add exposedroot option which exposes the root fs as ro
This option allows you to expose the root read only. Using
this option a person could upgrade the root filesystem or
add packages without requiring the user to reboot. The root
filesystem could be kept on an nfs volume or some other
persistent medium. Multiple clients could then be booted off
the same root fs. I used LTSP as a template to determine which
directories to make rw.
diff --git a/functions/defaults.sh b/functions/defaults.sh
index 715e568..8a876f0 100755
--- a/functions/defaults.sh
+++ b/functions/defaults.sh
@@ -298,6 +298,9 @@ Set_defaults ()
# Setting chroot filesystem
LH_CHROOT_FILESYSTEM="${LH_CHROOT_FILESYSTEM:-squashfs}"
+ # Setting whether to expose root filesystem as read only
+ LH_EXPOSED_ROOT="${LH_EXPOSED_ROOT:-disabled}"
+
# Setting union filesystem
if [ -z "${LH_UNION_FILESYSTEM}" ]
then
diff --git a/helpers/lh_binary_grub b/helpers/lh_binary_grub
index 9ba3286..1c05962 100755
--- a/helpers/lh_binary_grub
+++ b/helpers/lh_binary_grub
@@ -178,6 +178,11 @@ then
LH_BOOTAPPEND_LIVE="${LH_BOOTAPPEND_LIVE} union=${LH_UNION_FILESYSTEM}"
fi
+if [ "${LH_EXPOSED_ROOT}" != "disabled" ]
+then
+ LH_BOOTAPPEND_LIVE="${LH_BOOTAPPEND_LIVE} exposedroot"
+fi
+
LH_BOOTAPPEND_LIVE="$(echo ${LH_BOOTAPPEND_LIVE} | sed -e 's/ //')"
# Parameters are listed at: linux/Documentation/kernel-parameters.txt
diff --git a/helpers/lh_binary_syslinux b/helpers/lh_binary_syslinux
index 68fa0f3..a6eb400 100755
--- a/helpers/lh_binary_syslinux
+++ b/helpers/lh_binary_syslinux
@@ -403,6 +403,11 @@ then
LH_BOOTAPPEND_LIVE="${LH_BOOTAPPEND_LIVE} union=${LH_UNION_FILESYSTEM}"
fi
+if [ "${LH_EXPOSED_ROOT}" != "disabled" ]
+then
+ LH_BOOTAPPEND_LIVE="${LH_BOOTAPPEND_LIVE} exposedroot"
+fi
+
if [ "${LH_BINARY_IMAGES}" = "net" ]
then
case "${LH_NET_FILESYSTEM}" in
diff --git a/helpers/lh_binary_yaboot b/helpers/lh_binary_yaboot
index 8cffb3f..93fc0bb 100755
--- a/helpers/lh_binary_yaboot
+++ b/helpers/lh_binary_yaboot
@@ -186,6 +186,11 @@ then
LH_BOOTAPPEND_LIVE="${LH_BOOTAPPEND_LIVE} union=${LH_UNION_FILESYSTEM}"
fi
+if [ "${LH_EXPOSED_ROOT}" != "disabled" ]
+then
+ LH_BOOTAPPEND_LIVE="${LH_BOOTAPPEND_LIVE} exposedroot"
+fi
+
LH_BOOTAPPEND_LIVE="$(echo ${LH_BOOTAPPEND_LIVE} | sed -e 's/ //')"
# Parameters are listed at: linux/Documentation/kernel-parameters.txt
diff --git a/helpers/lh_chroot_hacks b/helpers/lh_chroot_hacks
index da2be17..6eaef4f 100755
--- a/helpers/lh_chroot_hacks
+++ b/helpers/lh_chroot_hacks
@@ -111,5 +111,44 @@ then
chown -R --quiet 999:999 chroot/home/${LH_USERNAME}
fi
+if [ "${LH_EXPOSED_ROOT}" = "enabled" ]
+then
+ # Make sure RW dirs exist so that the initramfs script has
+ # a directory in which to bind the tmpfs filesystems
+ COW_DIRS='/tmp /var/tmp /var/lock /var/run /var/lib/live /var/log
+ /var/spool /home /live'
+ for DIR in ${COW_DIRS}; do
+ mkdir -p chroot${DIR}
+ done
+
+ # Config files which need to be RW
+ CONFIG_FILES='/etc/hostname /etc/hosts /etc/resolv.conf /etc/fstab
+ /etc/live.conf /etc/network/interfaces /etc/X11/xorg.conf
+ /etc/udev/rules.d/z25_persistent-net.rules
+ /etc/udev/rules.d/z25_persistent-cd.rules'
+
+ # Where we will store RW config files
+ RW_DIR='/var/lib/live'
+
+ for FILE_PATH in ${CONFIG_FILES}
+ do
+ # Touch files in case they don't yet exist
+ FILE_DIR=$(dirname ${FILE_PATH})
+ mkdir -p chroot${FILE_DIR}
+ touch chroot${FILE_PATH}
+ FILE_NAME=$(basename ${FILE_PATH})
+ mkdir -p chroot${RW_DIR}${FILE_DIR}
+ mv chroot${FILE_PATH} chroot${RW_DIR}${FILE_DIR}
+ # Create a symbolic link to RW config file
+ RELATIVE_PATH=$(echo ${FILE_DIR}|sed 's/[^\/]\+/../g; s/^\///g')
+ ln -s ${RELATIVE_PATH}${RW_DIR}${FILE_PATH} chroot${FILE_PATH}
+ done
+
+ # Mount doesn't write to a symlink so use /proc/mounts instead,
+ # see debian bug #154438 for more info
+ rm chroot/etc/mtab
+ ln -s /proc/mounts chroot/etc/mtab
+fi
+
# Creating stage file
Create_stagefile .stage/chroot_hacks
diff --git a/helpers/lh_chroot_hosts b/helpers/lh_chroot_hosts
index c4d633e..8480383 100755
--- a/helpers/lh_chroot_hosts
+++ b/helpers/lh_chroot_hosts
@@ -87,8 +87,9 @@ EOF
# Restore hosts file
mv chroot/etc/hosts.orig chroot/etc/hosts
else
- # Remove hosts file
- rm -f chroot/etc/hosts
+ # Blank out hosts file, don't remove in case
+ # its a symlink, as in the case of exposedroot mode
+ cat /dev/null > chroot/etc/hosts
fi
# Removing stage file
diff --git a/helpers/lh_config b/helpers/lh_config
index 5fc2f7c..c702b7d 100755
--- a/helpers/lh_config
+++ b/helpers/lh_config
@@ -96,12 +96,13 @@ USAGE="${PROGRAM} [--apt apt|aptitude]\n\
\t [--tasks TASK]\n\
\t [--templates PATH]\n\
\t [--union-filesystem aufs|unionfs]\n\
+\t [--exposed-root enabled|disabled]\n\
\t [--username NAME]\n\
\t [--verbose]"
Local_arguments ()
{
- ARGUMENTS="$(getopt --longoptions apt:,apt-ftp-proxy:,apt-http-proxy:,apt-pdiffs:,apt-pipeline:,apt-recommends:,apt-secure:,bootstrap:,cache:,cache-indices:,cache-packages:,cache-stages:,debconf-frontend:,debconf-nowarnings:,debconf-priority:,genisoimage:,initramfs:,losetup:,mode:,root-command:,tasksel:,includes:,templates:,architecture:,bootstrap-config:,bootstrap-flavour:,bootstrap-keyring:,distribution:,mirror-bootstrap:,mirror-bootstrap-security:,mirror-binary:,mirror-binary-security:,sections:,chroot-filesystem:,union-filesystem:,hooks:,interactive:,keyring-packages:,language:,linux-flavours:,linux-packages:,packages:,packages-lists:,tasks:,security:,symlinks:,sysvinit:,binary-images:,binary-indices:,bootappend-install:,bootappend-live:,bootloader:,chroot-build:,debian-installer:,debian-installer-daily:,encryption:,grub-splash:,hostname:,iso-application:,iso-preparer:,iso-publisher:,iso-volume:,memtest:,net-filesystem:,net-mountoptions:,net-path:,net-server:,syslinux-splash:,syslinux-timeout:,username:,source:,source-images:,breakpoints,conffile:,debug,force,help,quiet,usage,verbose,version --name=${PROGRAM} --options a:f:d:m:l:k:p:b:e:s:c:huv --shell sh -- "${@}")"
+ ARGUMENTS="$(getopt --longoptions apt:,apt-ftp-proxy:,apt-http-proxy:,apt-pdiffs:,apt-pipeline:,apt-recommends:,apt-secure:,bootstrap:,cache:,cache-indices:,cache-packages:,cache-stages:,debconf-frontend:,debconf-nowarnings:,debconf-priority:,genisoimage:,initramfs:,losetup:,mode:,root-command:,tasksel:,includes:,templates:,architecture:,bootstrap-config:,bootstrap-flavour:,bootstrap-keyring:,distribution:,mirror-bootstrap:,mirror-bootstrap-security:,mirror-binary:,mirror-binary-security:,sections:,chroot-filesystem:,union-filesystem:,exposed-root:,hooks:,interactive:,keyring-packages:,language:,linux-flavours:,linux-packages:,packages:,packages-lists:,tasks:,security:,symlinks:,sysvinit:,binary-images:,binary-indices:,bootappend-install:,bootappend-live:,bootloader:,chroot-build:,debian-installer:,debian-installer-daily:,encryption:,grub-splash:,hostname:,iso-application:,iso-preparer:,iso-publisher:,iso-volume:,memtest:,net-filesystem:,net-mountoptions:,net-path:,net-server:,syslinux-splash:,syslinux-timeout:,username:,source:,source-images:,breakpoints,conffile:,debug,force,help,quiet,usage,verbose,version --name=${PROGRAM} --options a:f:d:m:l:k:p:b:e:s:c:huv --shell sh -- "${@}")"
if [ "${?}" != "0" ]
then
@@ -317,6 +318,11 @@ Local_arguments ()
shift 2
;;
+ --exposed-root)
+ LH_EXPOSED_ROOT="${2}"
+ shift 2
+ ;;
+
--hooks)
LH_HOOKS="${2}"
shift 2
@@ -773,6 +779,10 @@ LH_CHROOT_FILESYSTEM="${LH_CHROOT_FILESYSTEM}"
# (Default: ${LH_UNION_FILESYSTEM}
LH_UNION_FILESYSTEM="${LH_UNION_FILESYSTEM}"
+# \$LH_EXPOSED_ROOT: expose root as read only
+# (Default: ${LH_EXPOSED_ROOT})
+LH_EXPOSED_ROOT="${LH_EXPOSED_ROOT}"
+
# \$LH_HOOKS: set hook commands
# (Default: empty)
LH_HOOKS="${LH_HOOKS}"
--
debian-live/live-helper
More information about the debian-live-changes
mailing list