Create an EFI partition when the user wants auto defaults. There's

some confusion as to how large the EFI system partition should be,
but 100MB seems to be either the maximum, the minimum or the default
size, so make the EFI partition 100MB.
This commit is contained in:
Marcel Moolenaar 2004-08-07 04:03:18 +00:00
parent 5232906014
commit 2508030586
2 changed files with 44 additions and 0 deletions

View File

@ -1387,6 +1387,9 @@ try_auto_label(Device **devs, Device *dev, int perc, int *req)
daddr_t sz;
Chunk *AutoHome, *AutoRoot, *AutoSwap;
Chunk *AutoTmp, *AutoUsr, *AutoVar;
#ifdef __ia64__
Chunk *AutoEfi;
#endif
int mib[2];
unsigned long physmem;
size_t size;
@ -1399,6 +1402,25 @@ try_auto_label(Device **devs, Device *dev, int perc, int *req)
(void)checkLabels(FALSE);
AutoHome = AutoRoot = AutoSwap = NULL;
AutoTmp = AutoUsr = AutoVar = NULL;
#ifdef __ia64__
AutoEfi = NULL;
if (EfiChunk == NULL) {
sz = 100 * ONE_MEG;
AutoEfi = Create_Chunk_DWIM(label_chunk_info[here].c->disk,
label_chunk_info[here].c, sz, efi, 0, 0);
if (AutoEfi == NULL) {
*req = 1;
msg = "Unable to create the EFI system partition. Too big?";
goto done;
}
AutoEfi->private_data = new_part(PART_EFI, "/efi", TRUE);
AutoEfi->private_free = safe_free;
AutoEfi->flags |= CHUNK_NEWFS;
record_label_chunks(devs, dev);
}
#endif
if (RootChunk == NULL) {
sz = requested_part_size(VAR_ROOT_SIZE, ROOT_NOMINAL_SIZE, ROOT_DEFAULT_SIZE, perc);

View File

@ -1387,6 +1387,9 @@ try_auto_label(Device **devs, Device *dev, int perc, int *req)
daddr_t sz;
Chunk *AutoHome, *AutoRoot, *AutoSwap;
Chunk *AutoTmp, *AutoUsr, *AutoVar;
#ifdef __ia64__
Chunk *AutoEfi;
#endif
int mib[2];
unsigned long physmem;
size_t size;
@ -1399,6 +1402,25 @@ try_auto_label(Device **devs, Device *dev, int perc, int *req)
(void)checkLabels(FALSE);
AutoHome = AutoRoot = AutoSwap = NULL;
AutoTmp = AutoUsr = AutoVar = NULL;
#ifdef __ia64__
AutoEfi = NULL;
if (EfiChunk == NULL) {
sz = 100 * ONE_MEG;
AutoEfi = Create_Chunk_DWIM(label_chunk_info[here].c->disk,
label_chunk_info[here].c, sz, efi, 0, 0);
if (AutoEfi == NULL) {
*req = 1;
msg = "Unable to create the EFI system partition. Too big?";
goto done;
}
AutoEfi->private_data = new_part(PART_EFI, "/efi", TRUE);
AutoEfi->private_free = safe_free;
AutoEfi->flags |= CHUNK_NEWFS;
record_label_chunks(devs, dev);
}
#endif
if (RootChunk == NULL) {
sz = requested_part_size(VAR_ROOT_SIZE, ROOT_NOMINAL_SIZE, ROOT_DEFAULT_SIZE, perc);