summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xalpine.mk6
-rwxr-xr-xinitramfs-init13
2 files changed, 18 insertions, 1 deletions
diff --git a/alpine.mk b/alpine.mk
index 6a5f29c..627d3eb 100755
--- a/alpine.mk
+++ b/alpine.mk
@@ -162,6 +162,10 @@ $(INITFS_DIR)/init: initramfs-init $(INITFS_DIRSTAMP)
@echo "==> initramfs: init script"
@cp initramfs-init "$(INITFS_DIR)/init"
+$(INITFS_DIR)/sbin/bootchartd: bootchartd $(INITFS_DIRSTAMP)
+ @echo "==> initramfs: bootchartd"
+ @cp bootchartd "$(INITFS_DIR)/sbin/bootchartd"
+
ifeq ($(APK_BIN),)
$(INITFS_DIR)/sbin/apk: $(APK_TOOLS_APK) $(INITFS_DIRSTAMP)
@echo "==> initramfs: $(notdir $(APK_TOOLS_APK))"
@@ -190,7 +194,7 @@ $(INITFS_MODDIRSTAMP): $(INITFS_DIRSTAMP) $(INITFS_MODFILES) $(MODLOOP_DIRSTAMP)
@depmod $(KERNEL) -b $(INITFS_DIR)
@touch $(INITFS_MODDIRSTAMP)
-$(INITFS): $(INITFS_DIRSTAMP) $(INITFS_DIR)/init $(INITFS_DIR)/sbin/apk $(INITFS_MODDIRSTAMP) $(INITFS_BASEFILES)
+$(INITFS): $(INITFS_DIRSTAMP) $(INITFS_DIR)/init $(INITFS_DIR)/sbin/bootchartd $(INITFS_DIR)/sbin/apk $(INITFS_MODDIRSTAMP) $(INITFS_BASEFILES)
@echo "==> initramfs: creating $(notdir $(INITFS))"
@(cd $(INITFS_DIR) && find . | cpio -o -H newc | gzip -9) > $(INITFS)
diff --git a/initramfs-init b/initramfs-init
index 841e075..4bd64df 100755
--- a/initramfs-init
+++ b/initramfs-init
@@ -70,6 +70,13 @@ for i in `cat /proc/cmdline` ; do
esac
done
+# start bootcharting if wanted
+if [ -n "$KOPT_chart" ]; then
+ ebegin "Starting bootchart logging"
+ /sbin/bootchartd init "$NEWROOT"
+ eend 0
+fi
+
ALPINE_DEV=${KOPT_alpine_dev%%:*}
ALPINE_DEV_FS=${KOPT_alpine_dev##*:}
if [ "$ALPINE_DEV_FS" = "$ALPINE_DEV" ]; then
@@ -193,6 +200,12 @@ if ! [ -f $NEWROOT/etc/apk/repositories ]; then
cp /etc/apk/repositories $NEWROOT/etc/apk/repositories
fi
+# newroot is done, signal bootchartd to relocate there
+# if bootcharting is done
+if [ -n "$KOPT_chart" ]; then
+ killall -USR2 bootchartd
+fi
+
# switch over to new root
cat /proc/mounts | while read DEV DIR TYPE OPTS ; do
if [ "$DIR" != "/" -a "$DIR" != "$NEWROOT" -a -d "$DIR" ]; then