Displaying 7 results from an estimated 7 matches for "gpt_guid".
2011 Mar 13
0
chain.c32 memcmp bug
...xpected (unable to find
requested GPT disk/partition). The entered guid is correct according
to gdisk and chain.c32 debug information but still chain.c32 claims it
can't find the drive.
The bug is located in function find_by_guid, line 991. It is
is_me = !memcmp(&header->disk_guid, &gpt_guid, sizeof(*gpt_guid));
but should be
is_me = !memcmp(&header->disk_guid, gpt_guid, sizeof(*gpt_guid));
as memcmp takes two void pointers and gpt_guid is already a pointer to
struct guid.
I've recompiled chain.c32 with this tiny fix (using gcc 4.4.3) and now
it finds disks by guid fine.
B...
2014 Jun 29
0
[PATCH 4/6] chain: add missing pi_del() in find*() functions
...disk */
+ if (iter->type == typedos && iter->dos.disk_sig == mbr_sig)
goto ok;
- }
+ pi_del(&iter);
}
drive = -1;
ok:
- *_boot_part = boot_part;
+ *_boot_part = iter;
return drive;
}
@@ -95,29 +91,26 @@ ok:
static int find_by_guid(const struct guid *gpt_guid,
struct part_iter **_boot_part)
{
- struct part_iter *boot_part = NULL;
+ struct part_iter *iter = NULL;
struct disk_info diskinfo;
int drive;
for (drive = 0x80; drive < 0x80 + fixed_cnt; drive++) {
if (disk_get_params(drive, &diskinfo))
continue; /* Driv...
2016 Jul 17
0
[PATCH] Restore - chain.c32: Allow both "guid" and "uuid"
...able to find requested MBR signature.");
goto bail;
}
- } else if (!strncmp(opt.drivename, "guid", 4)) {
+ } else if (!strncmp(opt.drivename, "guid", 4) ||
+ !strncmp(opt.drivename, "uuid", 4)) {
if (str_to_guid(opt.drivename + 5, &gpt_guid))
goto bail;
if (find_by_guid(&gpt_guid, &iter) < 0) {
diff --git a/com32/chain/options.c b/com32/chain/options.c
index e9c4a62..5531556 100644
--- a/com32/chain/options.c
+++ b/com32/chain/options.c
@@ -394,6 +394,8 @@ int opt_parse_args(int argc, char *argv[])
|| !strncmp...
2010 Aug 08
1
PATCH/RFC chain.c: update iterator code, yank from chain.c, move both to separate directory
1) code split and move
Iterator related functionality is yanked from chain.c and moved to
iterator.{c,h}. Both are moved to com32/chain and this way chain.c is ready
for further splitting.
Alternatively, partiter could be moved to com32/lib at any time in the future.
It's potentially useful for other modules (e.g. if someone wanted to code
partition dumper or editor).
2) Iterator updates
2012 Nov 06
50
chain.c32 (and partiter) updates v2
This is a bit updated set of chain.c32 changes that simplifies a few things
(and in partiter part), fixes few minor issues and adds a few new features.
Details are in the following commits, below is the summary and pull details at
the end.
Shao - any chance to peek over them ? Most of those are relatively simple
changes and well tested, though of course something might have slipped my
attention.
2014 Jun 29
10
[PATCH 0/6] chain.c32 patches
This small set fixes few bugs, improves gpt handling (under buggy conditions)
and implements strict flag with more fine grained control which should fix
issues with sanity checks against disk sizes.
If this set is allright I'd want to do what I mentioned in older discussion
with Ady - backport missing patches from 6.x to 5.x and 4.x so all versions
have up to date chain version.
Michal
2010 Jul 26
5
[RFC/PATCH] New chainloading functionality
This patch introduces extra functionality to chain.c, mainly with reference to
BPB adjustments, but not only that. It expects 3 small patches I sent earlier
(they are included for easy reference, patches 1-3/4).
The changes introduced are:
1) file and boot sector use separate options to control load address and jump
address (if applicable). Options are as described below:
*