1867 |
|
|
1868 |
void setDefaultImage(struct grubConfig * config, int hasNew, |
void setDefaultImage(struct grubConfig * config, int hasNew, |
1869 |
const char * defaultKernelPath, int newIsDefault, |
const char * defaultKernelPath, int newIsDefault, |
1870 |
const char * prefix, int flags) { |
const char * prefix, int flags, int index) { |
1871 |
struct singleEntry * entry, * entry2, * newDefault; |
struct singleEntry * entry, * entry2, * newDefault; |
1872 |
int i, j; |
int i, j; |
1873 |
|
|
1874 |
if (newIsDefault) { |
if (newIsDefault) { |
1875 |
config->defaultImage = 0; |
config->defaultImage = 0; |
1876 |
return; |
return; |
1877 |
|
} else if ((index >= 0) && config->cfi->defaultIsIndex) { |
1878 |
|
if (findEntryByIndex(config, index)) |
1879 |
|
config->defaultImage = index; |
1880 |
|
else |
1881 |
|
config->defaultImage = -1; |
1882 |
|
return; |
1883 |
} else if (defaultKernelPath) { |
} else if (defaultKernelPath) { |
1884 |
i = 0; |
i = 0; |
1885 |
if (findEntryByPath(config, defaultKernelPath, prefix, &i)) { |
if (findEntryByPath(config, defaultKernelPath, prefix, &i)) { |
3746 |
int displayDefault = 0; |
int displayDefault = 0; |
3747 |
int displayDefaultIndex = 0; |
int displayDefaultIndex = 0; |
3748 |
int displayDefaultTitle = 0; |
int displayDefaultTitle = 0; |
3749 |
|
int defaultIndex = -1; |
3750 |
struct poptOption options[] = { |
struct poptOption options[] = { |
3751 |
{ "add-kernel", 0, POPT_ARG_STRING, &newKernelPath, 0, |
{ "add-kernel", 0, POPT_ARG_STRING, &newKernelPath, 0, |
3752 |
_("add an entry for the specified kernel"), _("kernel-path") }, |
_("add an entry for the specified kernel"), _("kernel-path") }, |
3819 |
{ "set-default", 0, POPT_ARG_STRING, &defaultKernel, 0, |
{ "set-default", 0, POPT_ARG_STRING, &defaultKernel, 0, |
3820 |
_("make the first entry referencing the specified kernel " |
_("make the first entry referencing the specified kernel " |
3821 |
"the default"), _("kernel-path") }, |
"the default"), _("kernel-path") }, |
3822 |
|
{ "set-default-index", 0, POPT_ARG_INT, &defaultIndex, 0, |
3823 |
|
_("make the given entry index the default entry"), |
3824 |
|
_("entry-index") }, |
3825 |
{ "silo", 0, POPT_ARG_NONE, &configureSilo, 0, |
{ "silo", 0, POPT_ARG_NONE, &configureSilo, 0, |
3826 |
_("configure silo bootloader") }, |
_("configure silo bootloader") }, |
3827 |
{ "title", 0, POPT_ARG_STRING, &newKernelTitle, 0, |
{ "title", 0, POPT_ARG_STRING, &newKernelTitle, 0, |
3930 |
} |
} |
3931 |
|
|
3932 |
if (bootloaderProbe && (displayDefault || kernelInfo || newKernelVersion || |
if (bootloaderProbe && (displayDefault || kernelInfo || newKernelVersion || |
3933 |
newKernelPath || removeKernelPath || makeDefault || |
newKernelPath || removeKernelPath || makeDefault || |
3934 |
defaultKernel || displayDefaultIndex || displayDefaultTitle)) { |
defaultKernel || displayDefaultIndex || displayDefaultTitle || |
3935 |
|
(defaultIndex >= 0))) { |
3936 |
fprintf(stderr, _("grubby: --bootloader-probe may not be used with " |
fprintf(stderr, _("grubby: --bootloader-probe may not be used with " |
3937 |
"specified option")); |
"specified option")); |
3938 |
return 1; |
return 1; |
3974 |
makeDefault = 1; |
makeDefault = 1; |
3975 |
defaultKernel = NULL; |
defaultKernel = NULL; |
3976 |
} |
} |
3977 |
|
else if (defaultKernel && (defaultIndex >= 0)) { |
3978 |
|
fprintf(stderr, _("grubby: --set-default and --set-default-index " |
3979 |
|
"may not be used together\n")); |
3980 |
|
return 1; |
3981 |
|
} |
3982 |
|
|
3983 |
if (grubConfig && !strcmp(grubConfig, "-") && !outputFile) { |
if (grubConfig && !strcmp(grubConfig, "-") && !outputFile) { |
3984 |
fprintf(stderr, _("grubby: output file must be specified if stdin " |
fprintf(stderr, _("grubby: output file must be specified if stdin " |
3987 |
} |
} |
3988 |
|
|
3989 |
if (!removeKernelPath && !newKernelPath && !displayDefault && !defaultKernel |
if (!removeKernelPath && !newKernelPath && !displayDefault && !defaultKernel |
3990 |
&& !kernelInfo && !bootloaderProbe && !updateKernelPath |
&& !kernelInfo && !bootloaderProbe && !updateKernelPath |
3991 |
&& !removeMBKernel && !displayDefaultIndex && !displayDefaultTitle) { |
&& !removeMBKernel && !displayDefaultIndex && !displayDefaultTitle |
3992 |
|
&& (defaultIndex == -1)) { |
3993 |
fprintf(stderr, _("grubby: no action specified\n")); |
fprintf(stderr, _("grubby: no action specified\n")); |
3994 |
return 1; |
return 1; |
3995 |
} |
} |
4069 |
if (!yconfig) |
if (!yconfig) |
4070 |
yrc = 1; |
yrc = 1; |
4071 |
else |
else |
4072 |
yrc = checkForYaboot(lconfig); |
yrc = checkForYaboot(yconfig); |
4073 |
} |
} |
4074 |
|
|
4075 |
if (lrc == 1 || grc == 1 || gr2c == 1 || extrc == 1 || yrc == 1 || |
if (lrc == 1 || grc == 1 || gr2c == 1 || extrc == 1 || yrc == 1 || |
4076 |
erc == 1) |
erc == 1) |
4077 |
return 1; |
return 1; |
4078 |
|
|
4079 |
if (lrc == 2) printf("lilo\n"); |
if (lrc == 2) printf("lilo\n"); |
4148 |
markRemovedImage(config, removeKernelPath, bootPrefix); |
markRemovedImage(config, removeKernelPath, bootPrefix); |
4149 |
markRemovedImage(config, removeMBKernel, bootPrefix); |
markRemovedImage(config, removeMBKernel, bootPrefix); |
4150 |
setDefaultImage(config, newKernelPath != NULL, defaultKernel, makeDefault, |
setDefaultImage(config, newKernelPath != NULL, defaultKernel, makeDefault, |
4151 |
bootPrefix, flags); |
bootPrefix, flags, defaultIndex); |
4152 |
setFallbackImage(config, newKernelPath != NULL); |
setFallbackImage(config, newKernelPath != NULL); |
4153 |
if (updateImage(config, updateKernelPath, bootPrefix, newKernelArgs, |
if (updateImage(config, updateKernelPath, bootPrefix, newKernelArgs, |
4154 |
removeArgs, newMBKernelArgs, removeMBKernelArgs)) return 1; |
removeArgs, newMBKernelArgs, removeMBKernelArgs)) return 1; |