[ostree] admin update-kernel: Drop support for booting from host kernel
- From: Colin Walters <walters src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [ostree] admin update-kernel: Drop support for booting from host kernel
- Date: Sun, 6 Jan 2013 17:38:26 +0000 (UTC)
commit 1dcf79686869463f5a7124aec99b6be7fa536ed6
Author: Colin Walters <walters verbum org>
Date: Sun Jan 6 11:47:40 2013 -0500
admin update-kernel: Drop support for booting from host kernel
Now that gnome-ostree has a kernel, this functionality is no longer
necessary. It was always a hack.
src/ostree/ot-admin-builtin-deploy.c | 13 +--
src/ostree/ot-admin-builtin-update-kernel.c | 127 ++-------------------------
2 files changed, 12 insertions(+), 128 deletions(-)
---
diff --git a/src/ostree/ot-admin-builtin-deploy.c b/src/ostree/ot-admin-builtin-deploy.c
index 9d4a1b3..088cfbf 100644
--- a/src/ostree/ot-admin-builtin-deploy.c
+++ b/src/ostree/ot-admin-builtin-deploy.c
@@ -38,11 +38,9 @@ typedef struct {
static gboolean opt_no_kernel;
static gboolean opt_force;
-static gboolean opt_host_kernel;
static GOptionEntry options[] = {
{ "no-kernel", 0, 0, G_OPTION_ARG_NONE, &opt_no_kernel, "Don't update kernel related config (initramfs, bootloader)", NULL },
- { "host-kernel", 0, 0, G_OPTION_ARG_NONE, &opt_host_kernel, "Use currently booted kernel, not kernel from tree", NULL },
{ "force", 0, 0, G_OPTION_ARG_NONE, &opt_force, "Overwrite any existing deployment", NULL },
{ NULL }
};
@@ -602,10 +600,6 @@ do_update_kernel (OtAdminDeploy *self,
"update-kernel",
self->osname,
gs_file_get_path_cached (deploy_path), NULL);
- if (opt_no_kernel)
- g_ptr_array_add (args, "--modules-only");
- if (opt_host_kernel)
- g_ptr_array_add (args, "--host-kernel");
g_ptr_array_add (args, NULL);
proc = gs_subprocess_new_simple_argv ((char**)args->pdata,
@@ -673,8 +667,11 @@ ot_admin_builtin_deploy (int argc, char **argv, OtAdminBuiltinOpts *admin_opts,
cancellable, error))
goto out;
- if (!do_update_kernel (self, deploy_path, cancellable, error))
- goto out;
+ if (!opt_no_kernel)
+ {
+ if (!do_update_kernel (self, deploy_path, cancellable, error))
+ goto out;
+ }
ret = TRUE;
out:
diff --git a/src/ostree/ot-admin-builtin-update-kernel.c b/src/ostree/ot-admin-builtin-update-kernel.c
index 199110b..c7f95b7 100644
--- a/src/ostree/ot-admin-builtin-update-kernel.c
+++ b/src/ostree/ot-admin-builtin-update-kernel.c
@@ -38,48 +38,11 @@ typedef struct {
char *osname;
} OtAdminUpdateKernel;
-static gboolean opt_modules_only;
-static gboolean opt_host_kernel;
-static char * opt_release;
-
static GOptionEntry options[] = {
- { "modules-only", 0, 0, G_OPTION_ARG_NONE, &opt_modules_only, "Only copy kernel modules", NULL },
- { "host-kernel", 0, 0, G_OPTION_ARG_NONE, &opt_host_kernel, "Use currently booted kernel, not kernel from tree", NULL },
- { "release", 0, 0, G_OPTION_ARG_STRING, &opt_release, "With host kernel, use this release", NULL },
{ NULL }
};
static gboolean
-copy_modules (OtAdminUpdateKernel *self,
- const char *release,
- GCancellable *cancellable,
- GError **error)
-{
- gboolean ret = FALSE;
- ot_lobj GFile *src_modules_file = NULL;
- ot_lobj GFile *dest_modules_parent = NULL;
- ot_lobj GFile *dest_modules_file = NULL;
-
- src_modules_file = ot_gfile_from_build_path ("/lib/modules", release, NULL);
- dest_modules_file = ot_gfile_get_child_build_path (self->ostree_dir, "modules", release, NULL);
- dest_modules_parent = g_file_get_parent (dest_modules_file);
- if (!gs_file_ensure_directory (dest_modules_parent, FALSE, cancellable, error))
- goto out;
-
- if (!g_file_query_exists (dest_modules_file, cancellable))
- {
- if (!gs_shutil_cp_al_or_fallback (src_modules_file, dest_modules_file, cancellable, error))
- goto out;
- }
-
- ret = TRUE;
- out:
- if (error)
- g_prefix_error (error, "Error copying kernel modules: ");
- return ret;
-}
-
-static gboolean
get_kernel_from_boot (GFile *path,
GFile **out_kernel,
GCancellable *cancellable,
@@ -201,8 +164,6 @@ update_initramfs (OtAdminUpdateKernel *self,
ostree_vardir = ot_gfile_get_child_build_path (self->ostree_dir, "deploy",
self->osname, "var", NULL);
- if (opt_host_kernel)
- ostree_moduledir = g_file_get_child (self->ostree_dir, "modules");
dracut_log_path = ot_gfile_get_child_build_path (ostree_vardir, "log", "dracut.log", NULL);
tmp_log_out = (GOutputStream*)g_file_replace (dracut_log_path, NULL, FALSE,
@@ -325,30 +286,6 @@ grep_literal (GFile *f,
}
static gboolean
-get_kernel_path_from_release (OtAdminUpdateKernel *self,
- const char *release,
- GFile **out_path,
- GCancellable *cancellable,
- GError **error)
-{
- gboolean ret = FALSE;
- ot_lfree char *name = NULL;
- ot_lobj GFile *possible_path = NULL;
-
- /* TODO - replace this with grubby code */
-
- name = g_strconcat ("vmlinuz-", release, NULL);
- possible_path = g_file_get_child (self->admin_opts->boot_dir, name);
- if (!g_file_query_exists (possible_path, cancellable))
- g_clear_object (&possible_path);
-
- ret = TRUE;
- ot_transfer_out_value (out_path, &possible_path);
- /* out: */
- return ret;
-}
-
-static gboolean
update_grub (OtAdminUpdateKernel *self,
GCancellable *cancellable,
GError **error)
@@ -368,29 +305,12 @@ update_grub (OtAdminUpdateKernel *self,
ot_lfree char *add_kernel_arg = NULL;
ot_lfree char *initramfs_arg = NULL;
ot_lfree char *initramfs_name = NULL;
- ot_lobj GFile *kernel_path = NULL;
ot_lobj GFile *initramfs_path = NULL;
- if (!self->kernel_path)
- {
- if (!get_kernel_path_from_release (self, self->release, &kernel_path,
- cancellable, error))
- goto out;
-
- if (kernel_path == NULL)
- {
- g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED,
- "Couldn't find kernel for release %s", self->release);
- goto out;
- }
- }
- else
- kernel_path = g_object_ref (self->kernel_path);
-
initramfs_name = g_strconcat ("initramfs-", self->release, ".img", NULL);
initramfs_path = g_file_get_child (self->boot_ostree_dir, initramfs_name);
- add_kernel_arg = g_strconcat ("--add-kernel=", gs_file_get_path_cached (kernel_path), NULL);
+ add_kernel_arg = g_strconcat ("--add-kernel=", gs_file_get_path_cached (self->kernel_path), NULL);
initramfs_arg = g_strconcat ("--initrd=", gs_file_get_path_cached (initramfs_path), NULL);
g_print ("Adding OSTree grub entry...\n");
@@ -421,7 +341,6 @@ ot_admin_builtin_update_kernel (int argc, char **argv, OtAdminBuiltinOpts *admin
OtAdminUpdateKernel *self = &self_data;
GFile *ostree_dir = admin_opts->ostree_dir;
gboolean ret = FALSE;
- struct utsname utsname;
GCancellable *cancellable = NULL;
memset (self, 0, sizeof (*self));
@@ -447,49 +366,17 @@ ot_admin_builtin_update_kernel (int argc, char **argv, OtAdminBuiltinOpts *admin
else
self->deploy_path = "current";
- if (opt_release && !opt_host_kernel)
- {
- g_set_error_literal (error, G_IO_ERROR, G_IO_ERROR_FAILED,
- "May not specify a kernel release without --host-kernel");
- goto out;
- }
- else if (!opt_release && opt_host_kernel)
- {
- (void) uname (&utsname);
-
- if (strcmp (utsname.sysname, "Linux") != 0)
- {
- g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED,
- "Unsupported machine %s", utsname.sysname);
- goto out;
- }
-
- opt_release = utsname.release;
- }
-
self->ostree_dir = g_object_ref (ostree_dir);
self->boot_ostree_dir = g_file_get_child (admin_opts->boot_dir, "ostree");
- if (opt_host_kernel)
- {
- if (!copy_modules (self, opt_release, cancellable, error))
- goto out;
- self->release = g_strdup (opt_release);
- }
- else
- {
- if (!setup_kernel (self, cancellable, error))
- goto out;
- }
+ if (!setup_kernel (self, cancellable, error))
+ goto out;
- if (!opt_modules_only)
- {
- if (!update_initramfs (self, cancellable, error))
- goto out;
+ if (!update_initramfs (self, cancellable, error))
+ goto out;
- if (!update_grub (self, cancellable, error))
- goto out;
- }
+ if (!update_grub (self, cancellable, error))
+ goto out;
ret = TRUE;
out:
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]