From 3ed3e23ed09a765a3275ca2d82518b335ede759f Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Fri, 31 Aug 2012 15:20:25 +0100 Subject: [PATCH] Copy the kernel so that libvirt can add an SELinux label to it. NB. This requires febootstrap >= 3.20 with --copy-kernel flag. --- README | 2 +- src/appliance.c | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/README b/README index 6d7fb0ef5..4968614e9 100644 --- a/README +++ b/README @@ -55,7 +55,7 @@ For basic functionality and the C tools: to make complex changes to the ./configure command line to get it to work if you don't have virtio) -- febootstrap >= 3.17 +- febootstrap >= 3.20 Notes: (1) febootstrap 2.x WILL NOT WORK (2) febootstrap 3.x is distro-independent, and is required on diff --git a/src/appliance.c b/src/appliance.c index d206f3a51..4ed7bd76b 100644 --- a/src/appliance.c +++ b/src/appliance.c @@ -106,7 +106,7 @@ gl_lock_define_initialized (static, building_lock); * $TMPDIR/.guestfs-$UID/ and consists of four files: * * $TMPDIR/.guestfs-$UID/checksum - the checksum - * $TMPDIR/.guestfs-$UID/kernel - symlink to the kernel + * $TMPDIR/.guestfs-$UID/kernel - the kernel * $TMPDIR/.guestfs-$UID/initrd - the febootstrap initrd * $TMPDIR/.guestfs-$UID/root - the appliance * @@ -643,7 +643,7 @@ hard_link_to_cached_appliance (guestfs_h *g, perrorf (g, "link: %s %s", filename, *kernel); goto error; } - (void) lutimes (filename, NULL); /* lutimes because it's a symlink */ + (void) utimes (filename, NULL); snprintf (filename, len, "%s/initrd", cachedir); (void) unlink (*initrd); @@ -706,6 +706,7 @@ run_supermin_helper (guestfs_h *g, const char *supermin_path, argv[i++] = "-g"; argv[i++] = gid; } + argv[i++] = "--copy-kernel"; argv[i++] = "-f"; argv[i++] = "ext2"; argv[i++] = supermin_d;