--- trunk/grubby/grubby.c 2012/07/02 13:20:31 1864 +++ trunk/grubby/grubby.c 2012/10/01 12:08:46 1934 @@ -205,7 +205,9 @@ { "default", LT_DEFAULT, ' ' }, { "fallback", LT_FALLBACK, ' ' }, { "linux", LT_KERNEL, ' ' }, + { "linuxefi", LT_KERNEL, ' ' }, { "initrd", LT_INITRD, ' ', ' ' }, + { "initrdefi", LT_INITRD, ' ', ' ' }, { "module", LT_MBMODULE, ' ' }, { "kernel", LT_HYPER, ' ' }, { NULL, 0, 0 }, @@ -1310,7 +1312,8 @@ /* most likely the symlink is relative, so change our directory to the dir of the symlink */ - rc = chdir(dirname(outName)); + char *dir = strdupa(outName); + rc = chdir(dirname(dir)); do { buf = alloca(len + 1); rc = readlink(basename(outName), buf, len);