lomount is a tool which reads and parses a partition table in a disk
image block device and then uses mount -o ...offset=... to mount it.
This is not an ideal approach. For example, if the intended
filesystem has corrupted metadata the kernel's filesystem driver may
start to write outside of the intended region. This might even be
exploitable in some perverse circumstances.
Nowadays people wanting to do this should use kpartx, which uses
devmapper to create appropriate range mappings. So lomount should be
disabled.
miniterm may well be useful but it is a clone-and-hack of an upstream
project and is currently built but not installed by default, partly
because it doesn't make sense to install on the dom0 which it might be
trying to debug.
It is probably useful to retain these two programs in the source tree
but IMO they should no longer be built by default.
The attached patch does these things:
* CONFIG_LOMOUNT and CONFIG_MINITERM in Config.mk
can enable and disable these programs
* They are disabled by default
* If CONFIG_MINITERM=y it is still built but not installed.
make -C tools/misc/miniterm install will install it.
Signed-off-by: Ian Jackson <ian.jackson@xxxxxxxxxxxxx>
diff -r 2491691e3e69 Config.mk
--- a/Config.mk Sat Dec 29 17:57:47 2007 +0000
+++ b/Config.mk Wed Jan 16 16:46:06 2008 +0000
@@ -90,5 +90,7 @@ VTPM_TOOLS ?= n
VTPM_TOOLS ?= n
LIBXENAPI_BINDINGS ?= n
PYTHON_TOOLS ?= y
+CONFIG_MINITERM ?= n
+CONFIG_LOMOUNT ?= n
-include $(XEN_ROOT)/.config
diff -r 2491691e3e69 tools/misc/Makefile
--- a/tools/misc/Makefile Sat Dec 29 17:57:47 2007 +0000
+++ b/tools/misc/Makefile Wed Jan 16 16:51:13 2008 +0000
@@ -13,6 +13,10 @@ TARGETS-$(CONFIG_X86) += xen-detect
TARGETS-$(CONFIG_X86) += xen-detect
TARGETS := $(TARGETS-y)
+SUBDIRS-$(CONFIG_LOMOUNT) += lomount
+SUBDIRS-$(CONFIG_MINITERM) += miniterm
+SUBDIRS := $(SUBDIRS-y)
+
INSTALL_BIN = $(TARGETS) xencons
INSTALL_SBIN = netfix xm xen-bugtool xen-python-path xend xenperf xsview
@@ -21,8 +25,7 @@ all: build
.PHONY: build
build: $(TARGETS)
- $(MAKE) -C miniterm
- $(MAKE) -C lomount
+ set -e; for d in $(SUBDIRS); do $(MAKE) -C $$d; done
.PHONY: install
install: build
@@ -30,15 +33,12 @@ install: build
[ -d $(DESTDIR)/usr/sbin ] || $(INSTALL_DIR) $(DESTDIR)/usr/sbin
$(INSTALL_PROG) $(INSTALL_BIN) $(DESTDIR)/usr/bin
$(INSTALL_PROG) $(INSTALL_SBIN) $(DESTDIR)/usr/sbin
- $(MAKE) -C lomount install
-# No sense in installing miniterm on the Xen box.
-# $(MAKE) -C miniterm install
+ set -e; for d in $(SUBDIRS); do $(MAKE) -C $$d install-recurse; done
.PHONY: clean
clean:
$(RM) *.o $(TARGETS) *~
- $(MAKE) -C miniterm clean
- $(MAKE) -C lomount clean
+ set -e; for d in $(SUBDIRS); do $(MAKE) -C $$d clean; done
%.o: %.c $(HDRS) Makefile
$(CC) -c $(CFLAGS) -o $@ $<
diff -r 2491691e3e69 tools/misc/lomount/Makefile
--- a/tools/misc/lomount/Makefile Sat Dec 29 17:57:47 2007 +0000
+++ b/tools/misc/lomount/Makefile Wed Jan 16 16:46:06 2008 +0000
@@ -15,7 +15,7 @@ build: $(BIN)
build: $(BIN)
.PHONY: install
-install: build
+install install-recurse: build
$(INSTALL_PROG) $(BIN) $(SCRIPTS) $(DESTDIR)/usr/bin
.PHONY: clean
diff -r 2491691e3e69 tools/misc/miniterm/Makefile
--- a/tools/misc/miniterm/Makefile Sat Dec 29 17:57:47 2007 +0000
+++ b/tools/misc/miniterm/Makefile Wed Jan 16 16:46:06 2008 +0000
@@ -11,6 +11,9 @@ install: all
[ -d $(DESTDIR)/usr/bin ] || $(INSTALL_DIR) $(DESTDIR)/usr/bin
$(INSTALL_PROG) $(TARGET) $(DESTDIR)/usr/bin
+.PHONY: install-recurse
+ : No sense in installing miniterm on the Xen box.
+
.PHONY: clean
clean:
$(RM) *.o $(TARGET) *~
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|