char *path; /* Path to kernel, initrd. */
char *qemu; /* Qemu binary. */
char *append; /* Append to kernel command line. */
- char *kernel; /* Override appliance kernel. */
int memsize; /* Size of RAM (megabytes). */
if (!g->append) goto error;
}
- str = getenv ("LIBGUESTFS_KERNEL");
- if (str) {
- g->kernel = strdup (str);
- if (!g->kernel) goto error;
- }
-
/* Choose a suitable memory size. Previously we tried to choose
* a minimal memory size, but this isn't really necessary since
* recent QEMU and KVM don't do anything nasty like locking
{
va_list args;
char *msg;
- int err = errno;
+ int errnum = errno;
va_start (args, fs);
- vasprintf (&msg, fs, args);
+ int err = vasprintf (&msg, fs, args);
va_end (args);
+ if (err < 0) return;
+
#ifndef _GNU_SOURCE
char buf[256];
- strerror_r (err, buf, sizeof buf);
+ strerror_r (errnum, buf, sizeof buf);
#else
char _buf[256];
char *buf;
- buf = strerror_r (err, _buf, sizeof _buf);
+ buf = strerror_r (errnum, _buf, sizeof _buf);
#endif
msg = safe_realloc (g, msg, strlen (msg) + 2 + strlen (buf) + 1);
}
int
-guestfs_set_kernel (guestfs_h *g, const char *kernel)
-{
- free (g->kernel);
- g->kernel = NULL;
-
- g->kernel = kernel ? safe_strdup (g, kernel) : NULL;
- return 0;
-}
-
-const char *
-guestfs_get_kernel (guestfs_h *g)
-{
- return g->kernel;
-}
-
-int
guestfs_set_memsize (guestfs_h *g, int memsize)
{
g->memsize = memsize;
"console=ttyS0 " /* serial console */ \
"udevtimeout=300 " /* good for very slow systems (RHBZ#480319) */ \
"noapic " /* workaround for RHBZ#502058 - ok if not SMP */ \
- "acpi=off " /* we don't need ACPI, turn it off */
+ "acpi=off " /* we don't need ACPI, turn it off */ \
+ "cgroup_disable=memory " /* saves us about 5 MB of RAM */ \
+ "selinux=0 " /* SELinux is messed up if there's no policy */
/* Linux kernel command line. */
snprintf (append, sizeof append,
add_cmdline (g, memsize_str);
add_cmdline (g, "-no-reboot"); /* Force exit instead of reboot on panic */
add_cmdline (g, "-kernel");
- add_cmdline (g, g->kernel ? : (char *) kernel);
+ add_cmdline (g, (char *) kernel);
add_cmdline (g, "-initrd");
add_cmdline (g, (char *) initrd);
add_cmdline (g, "-append");