aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xbootchartd.in21
-rw-r--r--features.d/bootchart.files2
-rw-r--r--features.d/virtio.modules1
-rwxr-xr-xinitramfs-init.in9
-rwxr-xr-xmkinitfs.in2
5 files changed, 18 insertions, 17 deletions
diff --git a/bootchartd.in b/bootchartd.in
index c4daa35..55a0883 100755
--- a/bootchartd.in
+++ b/bootchartd.in
@@ -46,7 +46,7 @@ do_logging()
# Enable process accounting if configured
if [ "$PROCESS_ACCOUNTING" = "yes" ]; then
[ -e kernel_pacct ] || : > kernel_pacct
- accton kernel_pacct
+ accton kernel_pacct > /dev/null
fi
# open file descriptors
@@ -98,7 +98,7 @@ do_logging()
i=$(($i + 1))
done
- [ -e kernel_pacct ] && accton
+ [ -e kernel_pacct ] && accton off > /dev/null
}
# Stop the boot logger. The lock file is removed to force the loggers in
@@ -151,19 +151,18 @@ finalize()
# Package log files
tar -zcf "$BOOTLOG_DEST" header $pacct *.log
- rm "$LOGDIR"/*
- rmdir "$LOGDIR"
+ rm -rf "$LOGDIR"
}
case "$1" in
start-initfs)
NEWROOT="$2"
+ mkdir -p "$LOGDIR"
(
cleanup=true
trap "not_stop_logging=false" USR1
trap "cleanup=false; not_stop_logging=false" USR2
- mkdir "$LOGDIR"
cd "$LOGDIR"
do_logging
if $cleanup; then
@@ -171,18 +170,16 @@ start-initfs)
finalize
fi
) &
- echo $! > $LOGDIR/bootchart.pid
+ echo $! > "$LOGDIR"/bootchart.pid
;;
stop-initfs)
NEWROOT="$2"
-
- cd "$LOGDIR"
- mkdir "$NEWROOT$LOGDIR"
- cp /sbin/bootchartd $NEWROOT/sbin
- PID=`cat bootchart.pid`
+ [ -x "$NEWROOT"/sbin/bootchartd ] || cp -a /sbin/bootchartd "$NEWROOT"/sbin
+ rm -rf "$NEWROOT/$LOGDIR"
+ PID=$(cat "$LOGDIR"/bootchart.pid)
kill -USR2 $PID
wait $PID
- mv * "$NEWROOT$LOGDIR"
+ mv "$LOGDIR" "$NEWROOT"
;;
start-rootfs)
(
diff --git a/features.d/bootchart.files b/features.d/bootchart.files
index 8adf4df..6f28294 100644
--- a/features.d/bootchart.files
+++ b/features.d/bootchart.files
@@ -1,3 +1,4 @@
+/sbin/bootchartd
/usr/bin/ac
/usr/bin/last
/usr/bin/lastcomm
@@ -5,4 +6,3 @@
/usr/sbin/dump-acct
/usr/sbin/accton
/usr/sbin/sa
-
diff --git a/features.d/virtio.modules b/features.d/virtio.modules
index fa74c10..b0e6c22 100644
--- a/features.d/virtio.modules
+++ b/features.d/virtio.modules
@@ -1,2 +1,3 @@
kernel/drivers/block/virtio*
kernel/drivers/virtio
+kernel/drivers/net/virtio_net*
diff --git a/initramfs-init.in b/initramfs-init.in
index eb3e290..4f1e659 100755
--- a/initramfs-init.in
+++ b/initramfs-init.in
@@ -445,9 +445,7 @@ if [ -f "$ovl" ]; then
eend $? $errstr || ovlfiles=
# hack, incase /root/.ssh was included in apkovl
[ -d "$sysroot/root" ] && chmod 700 "$sysroot/root"
- pkgs="$pkgs $(sed 's/\#.*//' $sysroot/etc/lbu/packages.list 2>/dev/null)"
- pkgs="$pkgs $(cat $sysroot/var/lib/apk/world \
- $sysroot/etc/apk/world 2>/dev/null)"
+ pkgs="$pkgs $(cat $sysroot/etc/apk/world 2>/dev/null)"
fi
if [ -f "$sysroot/etc/.default_boot_services" -o ! -f "$ovl" ]; then
@@ -558,11 +556,16 @@ if [ "$KOPT_keep_apk_new" != yes ]; then
apkflags="$apkflags --clean-protected"
[ -n "$ovlfiles" ] && apkflags="$apkflags --overlay-from-stdin"
fi
+mkdir -p $sysroot/sys $sysroot/proc $sysroot/dev
+mount -o bind /sys $sysroot/sys
+mount -o bind /proc $sysroot/proc
+mount -o bind /dev $sysroot/dev
if [ -n "$ovlfiles" ]; then
apk add --root $sysroot $repo_opt $apkflags $pkgs <$ovlfiles
else
apk add --root $sysroot $repo_opt $apkflags $pkgs
fi
+umount $sysroot/sys $sysroot/proc $sysroot/dev
eend $?
# unmount ovl mount if needed
diff --git a/mkinitfs.in b/mkinitfs.in
index d2a7890..14c728f 100755
--- a/mkinitfs.in
+++ b/mkinitfs.in
@@ -184,7 +184,7 @@ done
shift $(( $OPTIND - 1 ))
. $(readlink -f "$config")
-features_dir=${features_dir:-"$sysconfdir/features.d"}
+features_dir=${features_dir:-"${basedir%/:-}/${sysconfdir#/}/features.d"}
[ -n "$myfeatures" ] && features="$myfeatures"
if [ -n "$list_features" ]; then